linux 終端高效快捷鍵,bash快捷組合

ctrl + e  跳到命令行最末端

ctrl + a  跳到命令行首端

ctrl + l  清屏

alt + n(n 爲數字) 切換到terminal相應的tab

mv xxx{,.bak} 等同於mv xxx xxx.bak

esc + . 能填充之前命令的最後一個字段


vim編輯文件後發現需要root權限, 

:w | sudo tee % 。(w:表示vim的修改操作,這個命令的輸出更改後的文件到“標準輸出”  !sudo tee % :執行 一個 shell 命令, % 表示當前打開的這個文件的名字。  整個命令就是 將w的輸出傳給 tee,tee 在root 權限下 把更改的內容存在文件當中。)


sudo !!用sudo執行上條命令

!!全部的上一條命令

!*上一條的全部命令

!$ 上一行命令的 最後一個參數

 

$()和${}的用法:

在 bash shell 中,$( ) 與 ` ` (反引號) 都是用來做命令替換用(command substitution)的。而 $( ) 並不見的每一種 shell 都能使用,若你用 bash2 的話,肯定沒問題...

 

看 ${ } 吧... 它其實就是用來作變量替換用的啦。一般情況下,$var 與 ${var} 並沒有啥不一樣。但是用 ${ } 會比較精確的界定變量名稱的範圍

 

${#var} 可計算出變量值的長度。 var="/bin/bash", echo ${#var}, 結果顯示是:9

 

我這裏再用一些例子加以說明 ${ } 的一些特異功能:

假設我們定義了一個變量爲:

file=/home/yhsd/dir/my.file.txt

我們可以用 ${ } 分別替換獲得不同的值:

${file#*/}:拿掉第一條 / 及其左邊的字符串:home/yhsd/dir/my.file.txt

${file##*/}:拿掉最後一條 / 及其左邊的字符串:my.file.txt

${file#*.}:拿掉第一個 . 及其左邊的字符串:file.txt

${file##*.}:拿掉最後一個 . 及其左邊的字符串:txt

${file%/*}:拿掉最後條 / 及其右邊的字符串:/home/yhsd/dir

${file%%/*}:拿掉第一條 / 及其右邊的字符串:(空值)

${file%.*}:拿掉最後一個 . 及其右邊的字符串:/home/yhsd/dir/my.file

${file%%.*}:拿掉第一個 . 及其右邊的字符串:/home/yhsd/dirmy

記憶的方法爲:

# 是去掉左邊(在鑑盤上 # 在 $ 之左邊)

% 是去掉右邊(在鑑盤上 % 在 $ 之右邊)

 

$(())的用途:它是用來作整數運算的,例如:echo $(( a + b*c))

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章