如果您使用Linux,您就知道命令列對於處理檔案、安裝軟體和啟動程式有多大的用處。但如果您同時執行多個命令,則效率會更高。
在命令列上組合兩個或多個命令也稱為“命令鏈”。我們將向您展示在命令列上組合命令的不同方法。
相關內容:Shell指令碼初學者指南:基礎知識
分號(;)運算子允許您連續執行多個命令,而不管前面的每個命令是否成功。例如,開啟一個終端視窗(Ubuntu和Linux-Mint中的Ctrl+Alt+T)。然後,在一行中鍵入以下三個命令(用分號分隔),然後按Enter鍵。這將為您提供當前目錄(ls)的列表,找出您當前所在的目錄(pwd),並一次顯示您的登入名(whoami)。
ls ; pwd ; whoami也不必在分號和命令之間加空格。您可以將這三個命令輸入為ls;pwd;whoami。但是,空格使組合命令更具可讀性,這在將組合命令放入shell指令碼時尤其有用。
如果希望第二個命令僅在第一個命令成功時執行,請使用邏輯“與”運算子(即兩個“與”)分隔命令。例如,我們希望建立一個名為MyFolder的目錄,然後更改為該目錄—前提是該目錄已成功建立。因此,我們在命令列中鍵入以下內容並按Enter鍵。
mkdir MyFolder && cd MyFolder資料夾已成功建立,因此cd命令已執行,我們現在處於新資料夾中。
我們建議在大多數情況下使用邏輯AND運算子而不是分號運算子(;)。這樣可以確保你不會做任何災難性的事情。例如,如果您執行一個命令來更改一個目錄,然後強制遞迴地刪除該目錄中的所有內容(cd/some\u directory;rm-Rf*),那麼如果目錄沒有更改,您可能最終會毀了您的系統。我們並不建議您執行一個命令,一次無條件地刪除目錄中的所有檔案。
有時,您可能只想在第一個命令不成功時執行第二個命令。為此,我們使用邏輯或運算子,或兩個垂直條(| |)。例如,我們要檢查MyFolder目錄是否存在([-d~/MyFolder]),如果不存在則建立它(mkdir~/MyFolder)。因此,我們在提示符處鍵入以下命令並按Enter鍵。
[ -d ~/MyFolder ] || mkdir ~/MyFolder確保在第一個括號之後和第二個括號之前有一個空格,否則檢查目錄是否存在的第一個命令將不起作用。
在我們的示例中,MyFolder目錄不存在,因此第二個命令建立目錄。
也可以在命令列上組合多個運算子。例如,我們要首先檢查檔案是否存在([-f~/示例.txt] ). 如果是這樣,我們會在螢幕上列印一條訊息(echo“File exists”)。如果沒有,則建立檔案(觸控~/示例.txt). 因此,我們在命令提示下鍵入以下內容並按Enter鍵。
[ -f ~/sample.txt ] && echo “File exists.” || touch ~/sample.txt在我們的示例中,檔案不存在,所以建立了它。
下面是用於組合命令的每個運算子的有用摘要:
所有這些組合命令的方法也可以在Linux和windows10上的shell指令碼中使用。
相關:如何在windows10上建立和執行bashshell指令碼
在Linux中使用命令列上的“cd”時,還可以自動更正拼寫和打字錯誤,以避免在組合命令時產生嚴重後果。
在任何平臺上,加密都是每個人都應該認真對待的事情。你可能認為你在Linux上比在Windows甚至macOS上更安全。但是Linux真的像你想象的那樣安全嗎? ...
... 在您真正充分利用終端之前,您需要知道如何導航它。這就是為什麼我們認為這些是最基本的Linux命令:如果你不能更改目錄或者在一個你不記得如何使用的命令上獲得幫助,那麼再多的終端知識也幫不了你。 ...
...。 這一次,我們將專注於tmux。接下來,我們將介紹screen如何處理相同的特性或功能。 關於螢幕,只有一件事讓我們惱火。我們到了以後再談,看看tmux是否更好。 相關:如何使用Linux的screen命令 安裝tmux 雖然screen通常在流行的Li...
...可以設定檔案和目錄的讀、寫和可執行許可權。 相關:如何在Linux上使用chmod命令 但是chmod命令並不是一個僅限Linux的命令。與許多其他Linux終端命令一樣,chmod可以追溯到上世紀70年代的Unix Linux和macOS都有這一傳統,這就是chmod命...
...命令列使用它來操作檔案和流中的文字。我們將向你展示如何利用它的力量。 sed的力量 sed命令有點像國際象棋:學習基礎知識需要一個小時,掌握它們需要一輩子(或者,至少需要大量的練習)。我們將向您展示sed功能的每...