提高你工作效率的shell命令總結(jié)大全
前言
大家都知道Shell是一個(gè)用C語言編寫的程序,它是用戶使用 Linux 的橋梁。Shell就是一個(gè)命令行解釋器,它的作用是解釋執(zhí)行用戶的命令,用戶輸入一條命令,Shell就解釋執(zhí)行一條,這種方式稱為交互式(Interactive)。下面這篇文章主要給大家分享了一些關(guān)于提高工作效率的shell命令,話不多說,來一起看看詳細(xì)的介紹:
一、切換目錄
注意:當(dāng)前用戶是xiaochao,系統(tǒng)為centos6,并且,shell命令是嚴(yán)格區(qū)分大小寫的。
顯示當(dāng)前目錄路徑:pwd
pwd output:/home/xiaochao/Download
切換目錄:cd
1、使用相對(duì)路徑
cd Download #進(jìn)入當(dāng)前路徑下的Download目錄
2、使用絕對(duì)路徑
cd /var/log
點(diǎn)號(hào)(.)的使用
cd . #表示進(jìn)入當(dāng)前目錄 cd .. #表示進(jìn)入當(dāng)前目錄的上一級(jí)目錄 cd ... #表示進(jìn)入當(dāng)前目錄的上兩級(jí)目錄,這個(gè)bash不支持,zsh支持。依次類推。
波浪號(hào)(~)的使用
- 波浪號(hào)表示用戶目錄,即環(huán)境變量$HOME的別名,對(duì)于教程環(huán)境,就是/home/xiaochao。
- cd命令如果不加任何參數(shù),則相當(dāng)于執(zhí)行cd ~ 命令。
短橫號(hào)(-)的使用
cd - 表示上一次cd命令進(jìn)入的目錄,功能類似于windowns文件管理器的后腿功能。只不過,當(dāng)你使用cd -進(jìn)入上一次的目錄,那么當(dāng)前所在的目錄就變成了上一次目錄,舉個(gè)栗子。
假設(shè)當(dāng)前目錄是/home/xiaochao
cd Download #當(dāng)前目錄為/home/xiaochao/Download cd /home/xiaochao #當(dāng)前目錄為/home/xiaochao cd - #當(dāng)前目錄為/home/xiaochao/Download cd - #當(dāng)前目錄為/home/xiaochao cd - #當(dāng)前目錄為/home/xiaochao/Download cd - #當(dāng)前目錄為/home/xiaochao
轉(zhuǎn)移
當(dāng)我們有兩個(gè)目錄,并且這兩個(gè)目錄里內(nèi)容一致,目錄名不一致,常見的場(chǎng)景是備份目錄和源目錄。在兩個(gè)目錄之間切換,可以使用cd轉(zhuǎn)移功能,舉個(gè)栗子。
假設(shè)我們有連個(gè)目錄,/home/xiaochao/aa/bb/cc/dd,/home/xiaochao/aa.back/bb/cc/dd
cd /home/xiaochao/aa/bb/cc/dd #進(jìn)入目錄 cd aa aa.back #進(jìn)入/home/xiaochao/aa.back/bb/cc/dd
二、執(zhí)行多個(gè)命令
后一個(gè)命令依賴于前一個(gè)命令的輸出,可以是用管道(|)
ls | wc -l #當(dāng)前目錄文件個(gè)數(shù)
后一個(gè)命令必須等前一個(gè)命令運(yùn)行成功后在運(yùn)行,可以使用雙與號(hào)(&&)
aa && ls #只運(yùn)行aa,ls不運(yùn)行
后一個(gè)命令必須等前一個(gè)命令運(yùn)行完,不關(guān)心是否成功,使用單與號(hào)(&)
aa & ls #aa和ls都運(yùn)行,但是ls必須等aa運(yùn)行完。
并行執(zhí)行多個(gè)命令,使用兩個(gè)豎號(hào)(||)
aa || ls #aa和ls并行執(zhí)行,互不影響。
三、ctrl鍵的妙用
- ctrl+a:回到當(dāng)前輸入/便在行首插入字符,不用按住方向鍵了。
- ctrl+e:與上個(gè)組合相反,回到行尾。
- ctrl+l:清空當(dāng)前的終端界面,效果等同于clear命令。
- ctrl+u:清空當(dāng)前輸入行的所有輸入。假設(shè)你輸入了aa bb,按下這個(gè)組合鍵,aa bb就被刪掉了。
- ctrl+y:就是把ctrl+u刪除的字符串粘貼回來。
- ctrl+r:歷史命令搜索。按下ctrl+r后,會(huì)搜索包含你輸入的字符串的命令。
- ctrl+c:終止當(dāng)前終端正在運(yùn)行的程序。
- ctrl+d:推送當(dāng)前終端。
- ctrl+z:把終端當(dāng)前正在運(yùn)行的程序放到后臺(tái)運(yùn)行。
四、其他常用的shell命令
- $?:上一條命令的返回的結(jié)果。
- !$:上一個(gè)命令的最后一個(gè)字符串
- !!:上一個(gè)命令
- man ascii:查看ascii碼表,按q退出。
- >file.txt:創(chuàng)建一個(gè)文件,比touch短。
- du -s * | sort -n | tail: 列出當(dāng)前目錄下最大的10個(gè)文件。
- ssh user@server bash < script.sh: 遠(yuǎn)程執(zhí)行一個(gè)shell腳本。不用拷貝。
- convert input.png -gravity NorthWest -background transparent -extent 720×200 output.png:改變圖片的大小,不用裝ps那么大的東西了。
- fgrep -r "Hello World" ./* :查詢當(dāng)前目標(biāo)下,包含hello world的文件,-r表示查詢包括子目錄。
- locate:查詢特定文件名的文件,但是需要安裝mlocate,并且使用updatedb命令定期更新索引。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者使用shell能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享
這篇文章主要介紹了Shell中實(shí)現(xiàn)字符串反轉(zhuǎn)方法分享,本文同時(shí)提供了多種語言的實(shí)現(xiàn)方法,如awk、python、bash、C語言等,需要的朋友可以參考下2014-12-12Shell腳本實(shí)現(xiàn)精準(zhǔn)清除Squid緩存
這篇文章主要介紹了Shell腳本實(shí)現(xiàn)精準(zhǔn)清除Squid緩存,本文腳本是張宴同學(xué)腳本的個(gè)人優(yōu)化版,生產(chǎn)環(huán)境使用效果不錯(cuò),所以分享給大家,需要的朋友可以參考下2015-01-01Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例
這篇文章主要介紹了Shell腳本處理浮點(diǎn)數(shù)的運(yùn)算和比較實(shí)例,文中分別使用了bc或awk實(shí)現(xiàn),需要的朋友可以參考下2014-06-06Linux?shell進(jìn)行文件解壓,復(fù)制和移動(dòng)詳解
Linux下進(jìn)行文件的解壓、復(fù)制、移動(dòng)應(yīng)該是最常見的操作了。尤其是我們?cè)陧?xiàng)目中使用大量的數(shù)據(jù)集文件時(shí)。本文我們就來細(xì)數(shù)用Shell進(jìn)行文件操作的這些坑2022-05-05Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果
腳本中常常要獲取一些命令的執(zhí)行結(jié)果,比如當(dāng)前目錄pwd、當(dāng)前時(shí)間date等等,下面這篇文章主要給大家介紹了關(guān)于Linux?Shell腳本中如何獲取命令運(yùn)行的結(jié)果,需要的朋友可以參考下2023-06-06shell腳本中case條件控制語句的一個(gè)bug分析
在shell腳本中,發(fā)現(xiàn)case語句的一個(gè)問題。就是指定小寫字母[a-z]和大寫字母[A-Z]的這種方法不管用了2013-11-11