shell技巧分享(一)

這是一個系列文章,主要分享shell(部分功能僅適用於bash)的使用建議和技巧,每次分享3點,希望你能有所收穫。

另外,這些建議和技巧都是我工作中用到的,只有我用到了纔會記錄並分享出來,所以沒有什麼順序而言,用到什麼我就分享什麼。

1 sed替換文件內容

$ cat demo
this is demo
$ sed -i s/demo/test/g demo
$ cat demo
this is test

通過sed,可以很方便替換文件中的某些字符串。比如這裏的demo文件只有一行內容:this is demo。通過sed將文件中的demo字符串替換成test。這裏的-i選項是直接修改文件內容,字母s表示替換字符,字母g表示替換一行內所有的匹配字符,反斜杆/是分割符,也可以使用其他符號比如?和@。

2 自動填充上一個命令的最後一個參數

$ cd /media/sf_share/git/python_practice/
$ ls /media/sf_share/git/python_practice/
demo  dsa  euler  fluent_python_demo  README.md  tool

在輸入命令時,有時候需要上一個命令行的最後一個參數,比如示例中的第一個命令的最後一個參數是/media/sf_share/git/python_practice/,如果下一個命令需要使用該參數,那麼執行Alt+.就會自動填充/media/sf_share/git/python_practice/到命令後面,不用再次輸入該路徑。

3 ls + grep命令

$ alias | grep lsg
alias lsg='ls | grep'
$ ls | grep demo
demo
demo.sh
valgrind_demo
$ lsg demo
demo
demo.sh
valgrind_demo

通過系統提供的alias命令將ls和grep命令合成一個命令lsg,實現快速搜索ls輸出內容的目的。比如前一個命令是列出當前目錄下所有名字包括demo字符的文件。通過執行alias lsg='ls | grep'命令,定義一個新命令lsg實現相同功能,輸入的字符更少,效率也就更高了。

注:將分享的alias或者函數寫入你的shell配置文件(如:~/.bashrc或/etc/profile)中,這樣每次打開終端都能使用。

發佈了63 篇原創文章 · 獲贊 11 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章