前言
大家都知道Shell是一個用C語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell就是一個命令行解釋器,它的作用是解釋執行用戶的命令,用戶輸入一條命令,Shell就解釋執行一條,這種方式稱為交互式(Interactive)。下面這篇文章主要給大家分享了一些關于提高工作效率的shell命令,話不多說,來一起看看詳細的介紹:
一、切換目錄
注意:當前用戶是xiaochao,系統為centos6,并且,shell命令是嚴格區分大小寫的。
顯示當前目錄路徑:pwd
pwd
output:/home/xiaochao/Download
切換目錄:cd
1、使用相對路徑
cd Download #進入當前路徑下的Download目錄
2、使用絕對路徑
點號(.)的使用
cd . #表示進入當前目錄
cd .. #表示進入當前目錄的上一級目錄
cd ... #表示進入當前目錄的上兩級目錄,這個bash不支持,zsh支持。依次類推。
波浪號(~)的使用
- 波浪號表示用戶目錄,即環境變量$HOME的別名,對于教程環境,就是/home/xiaochao。
- cd命令如果不加任何參數,則相當于執行cd ~ 命令。
短橫號(-)的使用
cd - 表示上一次cd命令進入的目錄,功能類似于windowns文件管理器的后腿功能。只不過,當你使用cd -進入上一次的目錄,那么當前所在的目錄就變成了上一次目錄,舉個栗子。
假設當前目錄是/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
轉移
當我們有兩個目錄,并且這兩個目錄里內容一致,目錄名不一致,常見的場景是備份目錄和源目錄。在兩個目錄之間切換,可以使用cd轉移功能,舉個栗子。
假設我們有連個目錄,/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
二、執行多個命令
后一個命令依賴于前一個命令的輸出,可以是用管道(|)
后一個命令必須等前一個命令運行成功后在運行,可以使用雙與號()
后一個命令必須等前一個命令運行完,不關心是否成功,使用單與號()
aa ls #aa和ls都運行,但是ls必須等aa運行完。
并行執行多個命令,使用兩個豎號(||)
aa || ls #aa和ls并行執行,互不影響。
三、ctrl鍵的妙用
- ctrl+a:回到當前輸入/便在行首插入字符,不用按住方向鍵了。
- ctrl+e:與上個組合相反,回到行尾。
- ctrl+l:清空當前的終端界面,效果等同于clear命令。
- ctrl+u:清空當前輸入行的所有輸入。假設你輸入了aa bb,按下這個組合鍵,aa bb就被刪掉了。
- ctrl+y:就是把ctrl+u刪除的字符串粘貼回來。
- ctrl+r:歷史命令搜索。按下ctrl+r后,會搜索包含你輸入的字符串的命令。
- ctrl+c:終止當前終端正在運行的程序。
- ctrl+d:推送當前終端。
- ctrl+z:把終端當前正在運行的程序放到后臺運行。
四、其他常用的shell命令
- $?:上一條命令的返回的結果。
- !$:上一個命令的最后一個字符串
- !!:上一個命令
- man ascii:查看ascii碼表,按q退出。
- >file.txt:創建一個文件,比touch短。
- du -s * | sort -n | tail: 列出當前目錄下最大的10個文件。
- ssh user@server bash script.sh: 遠程執行一個shell腳本。不用拷貝。
- convert input.png -gravity NorthWest -background transparent -extent 720×200 output.png:改變圖片的大小,不用裝ps那么大的東西了。
- fgrep -r "Hello World" ./* :查詢當前目標下,包含hello world的文件,-r表示查詢包括子目錄。
- locate:查詢特定文件名的文件,但是需要安裝mlocate,并且使用updatedb命令定期更新索引。
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者使用shell能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
您可能感興趣的文章:- shell腳本學習之調用腳本將文件打包zip的方法示例
- Linux下NC反彈shell命令(推薦)
- shell腳本實現多彩進度條
- shell如何記錄用戶的IP與命令詳解
- shell腳本實現多進程運行的方法示例
- Shell腳本經典之Fork炸彈的分析與預防
- 詳解Linux Shell 實現一個獲取任意位數的隨機密碼的腳本