作為程序員,每天需要輸入的命令太多了脯厨,每天累到手發(fā)麻铅祸,今天就為大家整理一些關(guān)于shell的簡單命令,一定好好好收藏奧合武!
切換目錄
- 注意:當前用戶是xiaochao临梗,系統(tǒng)為centos6,并且稼跳,shell命令是嚴格區(qū)分大小寫的盟庞。
- 顯示當前目錄路徑:pwd
pwd
output:/home/xiaochao/Download
- 切換目錄:cd
1、使用相對路徑
cd Download #進入當前路徑下的Download目錄
2汤善、使用絕對路徑
cd /var/log
- 點號(.)的使用
cd . #表示進入當前目錄
cd .. #表示進入當前目錄的上一級目錄
cd ... #表示進入當前目錄的上兩級目錄什猖,這個bash不支持,zsh支持红淡。依次類推不狮。
-
波浪號(~)的使用
- 波浪號表示用戶目錄,即環(huán)境變量$HOME的別名在旱,對于教程環(huán)境摇零,就
是/home/xiaochao。 - cd命令如果不加任何參數(shù)桶蝎,則相當于執(zhí)行cd ~ 命令驻仅。
- 波浪號表示用戶目錄,即環(huán)境變量$HOME的別名在旱,對于教程環(huán)境摇零,就
短橫號(-)的使用
cd - 表示上一次cd命令進入的目錄,功能類似于windowns文件管理器的后腿功能俊嗽。只不過雾家,當你使用cd -進入上一次的目錄,那么當前所在的目錄就變成了上一次目錄绍豁,舉個栗子芯咧。
假設(shè)當前目錄是/home/xiaochao
cd Download #當前目錄為/home/xiaochao/Download
cd /home/xiaochao #當前目錄為/home/xiaochao
cd - #當前目錄為/home/xiaochao/Download
cd - #當前目錄為/home/xiaochao
cd - #當前目錄為/home/xiaochao/Download
cd - #當前目錄為/home/xiaochao
- 轉(zhuǎn)移
當我們有兩個目錄,并且這兩個目錄里內(nèi)容一致竹揍,目錄名不一致敬飒,常見的場景是備份目錄和源目錄。在兩個目錄之間切換芬位,可以使用cd轉(zhuǎn)移功能无拗,舉個栗子。
假設(shè)我們有連個目錄昧碉,/home/xiaochao/aa/bb/cc/dd,/home/xiaochao/aa.back/bb/cc/dd
cd /home/xiaochao/aa/bb/cc/dd #進入目錄
cd aa aa.back #進入/home/xiaochao/aa.back/bb/cc/dd
執(zhí)行多個命令
- 后一個命令依賴于前一個命令的輸出英染,可以是用管道(|)
ls | wc -l #當前目錄文件個數(shù)
- 后一個命令必須等前一個命令運行成功后在運行揽惹,可以使用雙與號(&&)
aa && ls #只運行aa,ls不運行
- 后一個命令必須等前一個命令運行完四康,不關(guān)心是否成功搪搏,使用單與號(&)
aa & ls #aa和ls都運行,但是ls必須等aa運行完闪金。
- 并行執(zhí)行多個命令疯溺,使用兩個豎號(||)
aa || ls #aa和ls并行執(zhí)行,互不影響哎垦。
ctrl鍵的妙用
- ctrl+a:回到當前輸入/便在行首插入字符囱嫩,不用按住方向鍵了。
- ctrl+e:與上個組合相反漏设,回到行尾墨闲。
- ctrl+l:清空當前的終端界面,效果等同于clear命令愿题。
- ctrl+u:清空當前輸入行的所有輸入损俭。假設(shè)你輸入了aa bb,按下這個組合鍵潘酗,aa bb就被刪掉了。
- ctrl+y:就是把ctrl+u刪除的字符串粘貼回來雁仲。
- ctrl+r:歷史命令搜索仔夺。按下ctrl+r后,會搜索包含你輸入的字符串的命令攒砖。
- ctrl+c:終止當前終端正在運行的程序缸兔。
- ctrl+d:推送當前終端。
- ctrl+z:把終端當前正在運行的程序放到后臺運行吹艇。
其他常用的shell命令
- $?:上一條命令的返回的結(jié)果惰蜜。
- !$:上一個命令的最后一個字符串
- !!:上一個命令
- man ascii:查看ascii碼表,按q退出受神。
- du -s * | sort -n | tail: 列出當前目錄下最大的10個文件抛猖。
- ssh user@server bash < script.sh: 遠程執(zhí)行一個shell腳本。不用拷貝鼻听。
- convert input.png -gravity NorthWest -background transparent -extent 720×200 output.png:改變圖片的大小财著,不用裝ps那么大的東西了。
- fgrep -r "Hello World" ./* :查詢當前目標下撑碴,包含hello world的文件撑教,-r表示查詢包括子目錄。
- locate:查詢特定文件名的文件醉拓,但是需要安裝mlocate伟姐,并且使用updatedb命令定期更新索引收苏。
原文鏈接:https://segmentfault.com/a/1190000004362040
作者:xiaochao