在這篇文章中,我將分享一些高效的Linux命令技巧,這些技巧能夠幫助您節省時間並避免一些不必要的麻煩。此外,這些技巧還有助於提高您的工作效率。
即使你已經是有經驗的Linux用戶,仍然有可能沒有掌握這些技巧,儘管你使用Linux已經很多年了。
很酷的 Linux 終端機技巧,幫助您節省時間並提高生產力
也許您已經熟悉這些Linux命令中的一部分或全部。無論您是否了解,都歡迎在評論中分享您的技巧和見解。
其中一些技巧也取決於shell的配置方式。現在讓我們開始吧!
我將從一些看得見但又非常重要的事情開始:tab補全。
在 Linux 終端機中鍵入內容時,按下Tab鍵會顯示與您已輸入字元開頭相符的所有可能選項。
例如,如果您要複製名為 linuxidc.txt 的文件,則只需鍵入 “cp l”,然後按tab 鍵查看可能的選項。
使用Tab鍵進行自動完成
當您發現自己需要返回到先前的目錄時,可以透過輸入以下命令來實現:如果您的當前目錄路徑很長,並且需要轉到完全不同的路徑中的另一個目錄時,這種情況下,只需鍵入命令:
cd -
這會將您帶回上一個工作目錄。您無需輸入長目錄路徑,也無需複製貼上。
在目錄之間輕鬆切換,如下所示:
$ cd -bash: cd: OLDPWD 未设定
是因為 cd 指令設定了 OLDPWD 環境變數值。除非你至少執行了一次 cd 指令,否則 OLDPWD 環境變數不會包含任何值
cd – 和 cd $OLDWPD 指令的執行結果並非在所有環境下都相同。
這太明顯了。您可以使用以下命令從 Linux 命令列中的任何位置移至主目錄:
cd ~
但是,您也可以只使用 CD 返回主目錄:
cd
大多數現代 Linux 發行版都已為此指令預先設定了shell。在這裡至少可以節省兩次擊鍵。
#快速返回主目錄
您一定在想在列出目錄內容的指令中還有了什麼技巧。每個人都知道在這種情況下使用ls -l。
就是這樣。大多數人使用ls -l來列出目錄的內容,而同樣的事情也可以用下面的指令來完成:
ll
同樣,這也取決於Linux發行版和shell配置,但您很可能能夠在大多數Linux發行版中使用它。
#使用ll而不是ls -l
假設您必須一個接一個地執行幾個命令。您是否在等待第一個命令完成運行,然後執行下一個命令?
那麼,您可以使用「;」分隔符號。這樣,您可以在一行中執行許多命令。無需等待先前的命令完成後再執行其他任務。
command_1; command_2; command_3
在上一個命令中,您了解如何在一個命令中執行多個命令以節省時間。但很多時候你必須確保指令不會失敗才能執行下一條指令,那怎麼半?
例如您要建立程式碼,然後在建置成功的情況下才接著執行make。
在這種情況下,可以使用<br>&&
分隔符號。 <br>&&
確保下一指令僅在上一條指令成功執行時執行。
command_1 && command_2
此指令的一個很好的例子是當您使用 <br>sudo apt update && sudo apt upgrade
升級系統。
想像一下一種情況,您在幾分鐘/幾小時前使用了很長的命令,而您不得不再次使用它。問題是您不再記得確切的命令了。
反向搜尋是您的救星。您可以使用搜尋詞在歷史記錄中搜尋命令。
只需使用<br>ctrl r
#鍵即可啟動反向搜尋並鍵入命令的某些部分。它將查詢歷史記錄,並向您顯示與搜尋字詞相符的命令。
ctrl + r 搜索词
預設情況下,它將只顯示一個結果。要查看更多與您的搜尋字詞相符的結果,您將不得不重複使用ctrl r。要退出反向搜索,只需使用Ctrl C。
#在命令歷史記錄中進行反向搜尋
請注意,在某些
Bash Shell
中,也可以在搜尋字詞中使用Page Up和Down鍵,它將自動完成指令。
在許多類Unix 的系統上,Ctrl-S 都有特殊的意義:它會「凍結」終端機(它曾經被用來暫停快速滾動)。因為「儲存」通常也是用這個快捷鍵,所以常常會有人不假思索地按下這個快捷鍵,結果大多數人都會被搞糊塗(我也常犯這個錯誤)。解凍終端是用Ctrl-Q,所以如果你忽然發覺終端看起來被凍結了,試試Ctrl-Q,看能不能釋放它。
假設您正在鍵入一個長命令,並且在途中您意識到必須在開始時進行一些更改。您將使用幾次向左鍵擊移動到行的開頭。並且類似地進行到該行的末尾。
當然,您可以在此處使用Home和
End鍵
,但是也可以使用Ctrl A轉到行的開頭,並使用Ctrl E到結尾。
動圖示範如下
#移至該行的開頭或結尾
我發現它比使用Home和End鍵更方便,尤其是在筆記型電腦上。
在需要在應用程式執行時間分析日誌的情況下,可以將tail指令與-F選項一起使用。
tail -F linuxidc_log
等同於<br>--follow=name --retry
,根據檔案名稱進行追踪,並保持重試,即該檔案被刪除或改名後,如果再次建立相同的檔案名,會繼續追蹤。
#伺服器日誌通常會被gzip壓縮以節省磁碟空間。這給分析日誌的開發人員或系統管理員帶來了一個問題。您可能必須將其scp到本地,然後提取它來存取文件,因為有時您沒有提取日誌的寫入權限。
值得慶幸的是,在這種情況下,z命令可以幫助您。 z指令提供了處理日誌檔(例如less,cat,grep等)的常規指令的替代方法。
這樣您就可以使用zless,zcat,zgrep等指令查看壓縮包的內容,甚至不必明確提取壓縮檔。
$zcat linuxidc_log.zip | more
不解壓縮讀取壓縮檔
要查看文件的內容,cat不是選擇,特別是如果文件很大。 cat指令將在螢幕上顯示整個檔案。
您可以使用Vi,Vim或其他基於終端的文字編輯器,但是如果您只想讀取文件,則 less 命令是更好的選擇。
<code style="padding: 0px;max-width: 1000%;text-align: left;position: relative;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace"> less -N linuxidc.txt</code> <code style="padding: 0px;max-width: 1000%;text-align: left;position: relative;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace"> <br></code> <code style="padding: 0px;max-width: 1000%;text-align: left;position: relative;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace"> //按下v键来编辑文件</code> <code style="padding: 0px;max-width: 1000%;text-align: left;position: relative;font-family: Consolas, 'Liberation Mono', Menlo, Courier, monospace"> //退出编辑器后,你可以继续用less浏览了</code>
您可以在較少的範圍內搜尋字詞,按頁移動,高亮與行號等。
<br>
!$
在許多情況下,使用上一個指令的參數很方便。
假設您必須建立一個目錄,然後進入新建立的目錄。那麼,您可以使用<br>!$
選項。
#使用 !$
更好的方法您可以使用使用<br>alt .
。在最後一個指令的選項之間來回移動的次數。
!!
重複使用目前指令中的上一個指令。 您可以使用!!呼叫前面的整個指令。當您必須執行一個命令並意識到它需要root特權時,這一點特別有用。
一個快速 sudo !! 省去了很多擊鍵。
#用<br>!!
重複使用目前指令中的上一個指令。
您可能已經知道Linux中的別名指令是什麼。你能做的是,用它們來修正打字錯誤。
例如,您可能經常將grep輸入為gerp。如果您以這種方式在您的bashrc中放置一個別名:
alias gerp=grep
這樣,您無需再次輸入命令。
這一點有點模稜兩可,因為它取決於Linux發行版和終端應用程式。但通常,您應該能夠使用以下快捷鍵複製貼上命令:
選擇要複製的文本,然後右鍵單擊以貼上(在Putty和其他Windows SSH客戶端中有效)
選擇要複製的文本,然後按一下滑鼠中鍵(滾動按鈕)以進行貼上
Ctrl Shift C表示複製,Ctrl Shift V表示貼上
#這可能太明顯了。如果有一個命令正在運行運行,並且您想要退出該命令,則可以按Ctrl C停止該正在運行的命令。
如果只想清空文字檔案的內容而不刪除檔案本身,則可以使用類似於以下命令:
> 文件名
在 Linux 命令列中有多種搜尋和查找方法。但是,當您只想查看是否有包含特定文字的檔案時,可以使用以下命令:
grep -Pri 要搜索的字符串 路径
最後我將用一個更明顯但卻非常重要的「技巧」來結束本文,即使用命令或命令列工具的幫助命令(help)。
幾乎所有的命令和命令列工具都附帶一個幫助頁面,顯示如何使用該命令。經常使用幫助會告訴你這個工具/命令的基本用法。
例如bc指令的幫助:
$bc -help
您最喜歡哪個 Linux 命令列技巧?
本文討論的技巧應該可以在幾乎所有Linux發行版和shell中使用,而不需要安裝新工具。我還建議在Linux中使用alias命令將複雜的命令替換為簡單的命令。可以讓你節省很多時間。
以上是20個Linux指令與技巧,效率翻倍的詳細內容。更多資訊請關注PHP中文網其他相關文章!