20個(gè)提高生產(chǎn)力的 Linux 命令與技巧,用完帶你起飛
在本文中,將向您演示一些專業(yè)的Linux命令技巧,這些技巧將使您節(jié)省大量時(shí)間,在某些情況下還可以避免很多麻煩,而且它也將幫助您提高工作效率。
并不是說這些只是針對(duì)初學(xué)者的Linux技巧。即使有經(jīng)驗(yàn)的Linux用戶也有可能沒有發(fā)現(xiàn)這些,盡管你這些年來一直在使用Linux。很酷的Linux終端技巧,幫助您節(jié)省時(shí)間和提高生產(chǎn)力您很可能已經(jīng)知道這些Linux命令中的一些或全部。無論哪種情況,都?xì)g迎您在評(píng)論部分中分享您喜歡的技巧。其中一些技巧還取決于shell的配置方式?,F(xiàn)在讓我們開始!1、使用tab鍵進(jìn)行自動(dòng)完成我將從一些看得見但又非常重要的事情開始:tab補(bǔ)全。當(dāng)您開始在Linux終端中鍵入內(nèi)容時(shí),您可以按Tab鍵,它會(huì)建議所有可能的選項(xiàng),這些選項(xiàng)以您到目前為止所鍵入的字符串開頭。例如,如果您要復(fù)制名為linuxidc.txt的文件,則只需鍵入“ cp l ”,然后按tab鍵查看可能的選項(xiàng)。

使用Tab鍵進(jìn)行自動(dòng)完成
您也可以在完成命令時(shí)使用Tab鍵。2、切換回上一個(gè)工作目錄假設(shè)您以長目錄路徑結(jié)尾,然后轉(zhuǎn)到完全不同的路徑中的另一個(gè)目錄。然后您意識(shí)到必須返回到先前所在的目錄。在這種情況下,您要做的就是鍵入以下命令:cd -這會(huì)將您帶回到上一個(gè)工作目錄。您無需輸入長目錄路徑,也無需復(fù)制粘貼。

在目錄之間輕松切換
如果如下所示:[linuxidc@localhost ~/www.linuxidc.com]$cd -
bash: cd: OLDPWD 未設(shè)定

是因?yàn)?cd 命令設(shè)置了 OLDPWD 環(huán)境變量值。除非你至少執(zhí)行了一次 cd 命令,否則 OLDPWD 環(huán)境變量不會(huì)包含任何值
cd - 和 cd $OLDWPD 命令的執(zhí)行結(jié)果并非在所有環(huán)境下都相同。3、返回主目錄這太明顯了。您可以使用以下命令從Linux命令行中的任何位置移至主目錄:cd ~但是,您也可以僅使用cd返回主目錄:cd大多數(shù)現(xiàn)代Linux發(fā)行版均已為此命令預(yù)配置了shell。在這里至少可以節(jié)省兩次擊鍵。

快速返回主目錄
4、列出目錄的內(nèi)容您一定在想在列出目錄內(nèi)容的命令中還有了什么技巧。每個(gè)人都知道在這種情況下使用ls -l。就是這樣。大多數(shù)人使用ls -l來列出目錄的內(nèi)容,而同樣的事情也可以用下面的命令來完成:ll同樣,這也取決于Linux發(fā)行版和shell配置,但是您很可能能夠在大多數(shù)Linux發(fā)行版中使用它。

使用ll而不是ls -l
5、在一個(gè)命令中運(yùn)行多個(gè)命令假設(shè)您必須一個(gè)接一個(gè)地運(yùn)行幾個(gè)命令。您是否在等待第一個(gè)命令完成運(yùn)行,然后執(zhí)行下一個(gè)命令?那么,您可以使用“;”分隔符。這樣,您可以在一行中運(yùn)行許多命令。無需等待先前的命令完成后再執(zhí)行其他任務(wù)。command_1; command_2; command_36、僅在上一個(gè)命令成功的情況下,才能在一個(gè)命令中運(yùn)行多個(gè)命令在上一個(gè)命令中,您了解了如何在一個(gè)命令中運(yùn)行多個(gè)命令以節(jié)省時(shí)間。但很多時(shí)候你必須確保命令不會(huì)失敗才能執(zhí)行下一條命令,那怎么辦?比如您要構(gòu)建代碼,然后在構(gòu)建成功的情況下才接著運(yùn)行make。在這種情況下,可以使用&&分隔符。&&確保下一條命令僅在上一條命令成功執(zhí)行時(shí)運(yùn)行。command_1?&& command_2此命令的一個(gè)很好的例子是當(dāng)您使用sudo apt update && sudo apt upgrade升級(jí)系統(tǒng)時(shí)。7、輕松搜索您使用過的命令想象一下一種情況,您在幾分鐘/幾小時(shí)前使用了很長的命令,而您不得不再次使用它。問題是您不再記得確切的命令了。反向搜索是您的救星。您可以使用搜索詞在歷史記錄中搜索命令。只需使用ctrl + r鍵即可啟動(dòng)反向搜索并鍵入命令的某些部分。它將查詢歷史記錄,并向您顯示與搜索詞匹配的命令。ctrl + r 搜索詞默認(rèn)情況下,它將僅顯示一個(gè)結(jié)果。要查看更多與您的搜索字詞匹配的結(jié)果,您將不得不反復(fù)使用ctrl + r。要退出反向搜索,只需使用Ctrl + C。

在命令歷史記錄中進(jìn)行反向搜索請(qǐng)注意,在某些Bash Shell中,還可以在搜索詞中使用Page Up和Down鍵,它將自動(dòng)完成命令。8、解除Linux終端意外凍結(jié)的Ctrl + S在很多類Unix 的系統(tǒng)上,Ctrl-S 都有特殊的含義:它會(huì)“凍結(jié)”終端(它曾經(jīng)被用來暫停快速滾動(dòng))。因?yàn)椤氨4妗币话阋彩怯眠@個(gè)快捷鍵,所以經(jīng)常會(huì)有人不假思索地按下這個(gè)快捷鍵,結(jié)果大多數(shù)人都會(huì)被搞糊涂(我也經(jīng)常犯這個(gè)錯(cuò)誤)。解凍終端是用Ctrl-Q,所以如果你忽然發(fā)覺終端看起來被凍結(jié)了,試一下Ctrl-Q,看能不能釋放它。9、移至行首或行尾假設(shè)您正在鍵入一個(gè)長命令,并且在途中您意識(shí)到必須在開始時(shí)進(jìn)行一些更改。您將使用幾次向左鍵擊移動(dòng)到行的開頭。并且類似地進(jìn)行到該行的末尾。當(dāng)然,您可以在此處使用Home和End鍵,但是也可以使用Ctrl + A轉(zhuǎn)到行的開頭,并使用Ctrl + E轉(zhuǎn)到結(jié)尾。

動(dòng)圖演示如下

移至該行的開頭或結(jié)尾我發(fā)現(xiàn)它比使用Home和End鍵更方便,尤其是在筆記本電腦上。10、實(shí)時(shí)讀取日志文件在需要在應(yīng)用程序運(yùn)行時(shí)分析日志的情況下,可以將tail命令與-F選項(xiàng)一起使用。tail -F?linuxidc_log等同于--follow=name ?--retry,根據(jù)文件名進(jìn)行追蹤,并保持重試,即該文件被刪除或改名后,如果再次創(chuàng)建相同的文件名,會(huì)繼續(xù)追蹤。

11、讀取壓縮日志而不解壓縮服務(wù)器日志通常被gzip壓縮以節(jié)省磁盤空間。這給分析日志的開發(fā)人員或系統(tǒng)管理員帶來了一個(gè)問題。您可能必須將其scp到本地,然后提取它來訪問文件,因?yàn)橛袝r(shí)您沒有提取日志的寫權(quán)限。值得慶幸的是,在這種情況下,z命令可以幫助您。z命令提供了用于處理日志文件(例如less,cat,grep等)的常規(guī)命令的替代方法。這樣您就可以使用zless,zcat,zgrep等命令查看壓縮包的內(nèi)容,甚至不必顯式提取壓縮文件。[linuxidc@localhost ~/www.linuxidc.com]$zcat linuxidc_log.zip | more

不解壓縮讀取壓縮文件
12、使用?less讀取文件要查看文件的內(nèi)容,cat不是最佳選擇,特別是如果文件很大。cat命令將在屏幕上顯示整個(gè)文件。您可以使用Vi,Vim或其他基于終端的文本編輯器,但是如果您只想讀取文件,則 less 命令是更好的選擇。less -N linuxidc.txt//按下v鍵來編輯文件
//退出編輯器后,你可以繼續(xù)用less瀏覽了

您可以在更少的范圍內(nèi)搜索字詞,按頁移動(dòng),高亮與行號(hào)等。
13、使用?!$ 重新使用上一個(gè)命令中的最后一項(xiàng)在許多情況下,使用上一個(gè)命令的參數(shù)很方便。假設(shè)您必須創(chuàng)建一個(gè)目錄,然后進(jìn)入新創(chuàng)建的目錄。那么,您可以使用!$選項(xiàng)。

使用?!$
更好的方法您可以使用使用alt +?.?。在最后一個(gè)命令的選項(xiàng)之間來回移動(dòng)的次數(shù)。14、用!!重用當(dāng)前命令中的上一個(gè)命令。您可以使用!!調(diào)用前面的整個(gè)命令。當(dāng)您必須運(yùn)行一個(gè)命令并意識(shí)到它需要root特權(quán)時(shí),這一點(diǎn)特別有用。一個(gè)快速 sudo !! 省去了很多擊鍵。

用!!重用當(dāng)前命令中的上一個(gè)命令。
15、使用別名來修正錯(cuò)別字您可能已經(jīng)知道Linux中的別名命令是什么。你能做的是,用它們來修正打字錯(cuò)誤。例如,您可能經(jīng)常將grep輸入為gerp。如果您以這種方式在您的bashrc中放置一個(gè)別名:alias gerp=grep這樣,您無需再次輸入命令。16、在Linux終端中復(fù)制粘貼這一點(diǎn)有點(diǎn)模棱兩可,因?yàn)樗Q于Linux發(fā)行版和終端應(yīng)用程序。但通常,您應(yīng)該能夠使用以下快捷鍵復(fù)制粘貼命令:
選擇要復(fù)制的文本,然后右鍵單擊以粘貼(在Putty和其他Windows SSH客戶端中有效)
選擇要復(fù)制的文本,然后單擊鼠標(biāo)中鍵(滾動(dòng)按鈕)以進(jìn)行粘貼
Ctrl + Shift + C表示復(fù)制,Ctrl + Shift + V表示粘貼
17、終止正在運(yùn)行的命令/進(jìn)程
這可能太明顯了。如果有一個(gè)命令正在運(yùn)行運(yùn)行,并且您想退出該命令,則可以按Ctrl + C停止該正在運(yùn)行的命令。
18、清空文件而不刪除它
如果只想清空文本文件的內(nèi)容而不刪除文件本身,則可以使用類似于以下命令:
> 文件名

19、查找是否有包含特定文本的文件
在Linux命令行中有多種搜索和查找方法。但是,當(dāng)您只想查看是否有包含特定文本的文件時(shí),可以使用以下命令:
grep -Pri 要搜索的字符串 路徑
我強(qiáng)烈建議您精通find命令。
20、對(duì)任何命令都可使用幫助命令(help)
最后我將用一個(gè)更明顯但卻非常重要的“技巧”來結(jié)束本文,即使用命令或命令行工具的幫助命令(help)。
幾乎所有的命令和命令行工具都帶有一個(gè)幫助頁面,顯示如何使用該命令。經(jīng)常使用幫助會(huì)告訴你這個(gè)工具/命令的基本用法。
比如bc命令的幫助:
[linuxidc@localhost ~/www.linuxidc.com]$bc -help
