省時(shí)省力 Shell小技巧一則
經(jīng)常與 Shell 為伍的你是不是也會(huì)經(jīng)常碰到下面這些情境:
1$ mv /somewhere/file /your/folder/ 2$ vi /your/folder/file
要保存某些文件到特定目錄,然后開始查看/編輯
1$ cp /somewhere/foo.c /somewhere/foo.c.orig 2$ vi /somewhere/foo.c
或者先備份某個(gè)文件,然后開始搗鼓
1$ tar zcvf archives.tgz /somewhere/folder /and/somewhere/file1 /and/somewhere/file2 2$ scp archives.tgz someone@somewhere.org:~/blabla/
或者要打包某些目錄/文件,然后上傳什么的。在上面這些情境中,當(dāng)你輸入第二條命令時(shí),可以試試像這樣:
1$ mv /somewhere/file /your/folder/ 2$ vi Alt-.file
按住 Alt 再按點(diǎn),你會(huì)發(fā)現(xiàn)上一條命令的最后一個(gè)參數(shù)已經(jīng)被自動(dòng)輸入了,繼續(xù)輸入 file 回拆。
1$ cp /somewhere/foo.c /somewhere/foo.c.orig 2$ vi Alt-1+Alt-.
先按 Alt 再按數(shù)字鍵 1,保持 Alt 鍵不松,再按點(diǎn),幫助你補(bǔ)全上一個(gè)命令的第一個(gè)參數(shù)。
1$ tar zcvf archives.tgz /somewhere/folder /and/somewhere/file1 /and/somewhere/file2 2$ scp Alt-2+Alt-. someone@somewhere.org:~/blabla/
先按 Alt 再按數(shù)字鍵 2,保持 Alt 鍵不松,再按點(diǎn),自動(dòng)補(bǔ)全上一個(gè)命令的第二個(gè)參數(shù)。
用 zsh 的同學(xué)要設(shè)置一下,5 個(gè)應(yīng)該足夠了。
bindkey "^[1" digit-argument bindkey "^[2" digit-argument bindkey "^[3" digit-argument bindkey "^[4" digit-argument bindkey "^[5" digit-argument bindkey "^[-" neg-argument
這些個(gè)數(shù)字參數(shù)在使用時(shí),bash 是從左往右正數(shù)的,zsh 是從后往前逆數(shù)的。即
$ touch 1a 2b 3c 4d 5e
bash 的 Alt-1 是 1a,Alt-2 是 2b。zsh 的 Alt-1 是 5e,Alt-2 是 4d,Alt--1 (Alt-負(fù)1) 是 1a,Alt--2 (Alt-負(fù)2) 是 2b。
原文:http://linuxtoy.org/archives/shell-%E5%B0%8F%E6%8A%80%E5%B7%A7%E4%B8%80%E5%88%99.html
【編輯推薦】