如何在Linux終端同時執行多個Linux命令

安全劍客發表於2020-10-05
在一行中執行兩個或多個 可以節省大量時間,並在 中提高效率。在Linux中,有三種方法可以在一行中執行多個 :
  • ; Command 1 ; Command 2 首先執行Command1,然後執行Command2
  • && Command 1 && Command 2 當Command1執行成功並結束,然後執行Command2
  • || Command 1 || Command 2 當Command1執行失敗時才執行Command2
使用 ; 符號執行多條命令

其中最簡單的是分號(;),使用方式如下:

cmd1; cmd2; cmd3

cmd1將首先執行,不管cmd1執行成功還是出現錯誤,cmd2都會在它之後執行,當cmd2命令完成時,cmd3將會執行。

[root@localhost ~]# mkdir /root/new_folder; cd /root/new_folder; touch test_file; pwd ; ls -l
/root/new_folder
total 0
-rw-r--r--. 1 root root 0 Sep  2 22:01 test_file
[root@localhost new_folder]#

在上面命令彙總,首先mkdir建立了一個資料夾在/root目錄中,cd 進入前面建立的目錄,touch建立一個空檔案,然後pwd顯示當前位置,ls -l檢視目錄中的檔案。
如何在Linux終端同時執行多個Linux命令如何在Linux終端同時執行多個Linux命令
分號(;)後面的空格可帶可不帶,但空格使命令列更容易讀懂。

使用 && 符號執行多條命令

有時候希望確保Linux命令中,只有在前一個命令成功結束時,下一個命令才會執行。這就是邏輯和運算子 &&出現的地方:

cmd1 && cmd2 && cmd3

如果你使用基於 的發行版,你一定遇到過這個使用&&概念的命令:

[root@localhost ~]# yum makecache && yum -y update

命令列彙總的前半部分時更新快取,後半部分更新所有安裝包。
舉個例子,如果new_folder已經存在,那麼mkdir命令將返回錯誤。; 和&& 的差異可以在下面的截圖中看到:
如何在Linux終端同時執行多個Linux命令如何在Linux終端同時執行多個Linux命令
當第一個命令出現錯誤時, &&分隔的命令會停止執行後面的命令。

使用 || 符號執行多條命令

可以使用邏輯運算子(||)執行命令列,但是隻有在前一個命令出現錯誤時才執行下一個命令:

cmd1 || cmd2 || cmd3

如果cmd1執行失敗,則執行cmd2。如果cmd2執行成功,cmd3將不會執行。
如何在Linux終端同時執行多個Linux命令如何在Linux終端同時執行多個Linux命令
在上面的截圖中,建立資料夾的命令失敗,因為該資料夾已經存在。因為這個命令失敗了,所以下一個命令cd /root/new_folder被成功執行。這個命令已經成功執行,下一個命令pwd將不執行。

合併&&和||運算子

例如,可以檢查檔案是否存在,並相應地列印訊息。

[root@localhost ~]# [ -f file.txt ] && echo "File exists" || echo "File doesn't exist"

在建立file.txt檔案之前和之後執行上面的命令,看看區別:
如何在Linux終端同時執行多個Linux命令如何在Linux終端同時執行多個Linux命令

總結

在一行中執行兩個或多個命令可以節省大量時間,並在Linux中提高效率。

原文地址:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31559985/viewspace-2725470/,如需轉載,請註明出處,否則將追究法律責任。

相關文章