我看過有人這樣做:
cp . yy/
cd !$
最後一行翻譯為:
cd yy/
所以我認為這!$
意味著“上一行的最後一個參數”。
我對嗎?
還有其他類似的替代品嗎?
我在哪裡可以找到它們的文檔?
答案1
!$
是最後一個單字最後一個命令的。
更多的:
!!
- 最後一個命令
!foo
- 運行以foo
(例如!ps
,!mysqladmin
)開頭的最近命令
!foo:p
- 打印將運行的命令!foo
,並將其添加為命令歷史記錄中的最新命令
!$
- 最後一個命令的最後一個“單詞”(/path/to/file
在命令中ls -lAFh /path/to/file
,-uroot
在中mysql -uroot
)
!$:p
- 列印該單字!$
將替換
!*
- 最後一個命令的除第一個單字之外的所有單字(-lAFh /path/to/file
在命令中ls -lAFh /path/to/file
,-uroot
在 中mysql -uroot
)
!*:p
- 列印 !* 將替換的單字
^foo^bar
- 將foo
最後一個命令替換為bar
,列印結果,然後運行。 ( mysqladmni -uroot
, 運行^ni^in
, 結果mysqladmin -uroot
)
{a,b,c}
將單字傳遞給命令,依序替換a
、b
、 和c
(cp file{,.bk}
運行cp file file.bk
)
Ctrl + a- 跳到行首
Ctrl + b- 後移一個字元
Ctrl + c- 終止指令
Ctrl + d- 從遊標下刪除
Ctrl + e- 跳到行尾
Ctrl + f- 前移一個字元
Ctrl + k- 刪除到 EOL
Ctrl + l- 清除螢幕
Ctrl + r- 向後搜尋歷史記錄
Ctrl + R-向後搜尋多次出現的歷史記錄
Ctrl + t- 將目前字元與前一個字元交換
Ctrl + u- 從遊標處向後刪除
Ctrl + w- 向後刪除一個單字
Ctrl + xx- 在 EOL 和目前遊標位置之間移動
Ctrl + x @- 顯示可能的主機名稱補全
Ctrl + z- 掛起/停止命令
Ctrl + x; Ctrl + e- 將行編輯到您喜歡的位置編輯
Alt + <- 移至歷史記錄中的第一行
Alt + >- 移至歷史記錄中的最後一行
Alt + ?- 顯示當前完成列表
Alt + *- 插入所有可能的完成
Alt + /- 嘗試完成文件名
Alt + .- 撤回上一個命令的最後一個參數
Alt + b- 向後移動
Alt + c- 將單字大寫
Alt + d- 刪除單字
Alt + f- 向前移動
Alt + l- 將單字變為小寫
Alt + n- 向前非增量搜尋歷史記錄
Alt + p- 非增量向後搜尋歷史記錄
Alt + r- 呼叫命令
Alt + t- 將當前單字與前一個單字調換
Alt + u- 將單字變為大寫
Alt + back-space- 從遊標處向後刪除
從http://cheat.errtheblog.com/s/bash/。
另外,這裡還有很多好東西:http://www.gnu.org/software/bash/manual/bashref.html
和這裡:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_03_04.html。