Linux 終端是一個功能強大的工具,允許您使用命令執行各種系統操作。文件操作、程序管理和服務自動化是您可以使用 shell 命令高效執行的一些操作。
但是,在執行多個操作時,逐個運行命令效率不高。一種更快的方法是在一行中鏈接多個命令。這不僅加快了流程,而且還節省了您的時間。 讓我們探索一下在 Linux 中一次運行多個命令的所有方法。
一次運行多個 Linux 命令
Linux 使用三個運算符來幫助您在一行中執行多個命令:
分號(;) 運算符
邏輯OR(||)運算符
邏輯
AND(&&) 運算符
所有這些運算符都可以同時運行兩個或多個 shell 命令。但是,了解要使用的運算符以及何時使用可以幫助您更有效地創建命令。以下各節討論正確使用這些運算符的目的和語法:
1. 使用分號 (;) 運算符
使用分號對命令鏈進行分段是在 Linux 終端中運行多個命令的最常見做法。部分原因是運算符的執行方式:它運行序列中的所有命令,而不管前一個命令是否成功運行。 例如,如果有兩個命令:命令 A 和命令 B,則在它們之間使用分號運算符可確保無論第一個命令的輸出如何,這兩個命令都按順序執行。
command A ; command B因此,如果您需要同時運行兩個或多個不相關的終端命令,以便第一個命令的輸出狀態不會影響后者的執行,分號運算符是要走的路。 示例用例:如果要查看當前用戶的名稱和系統主機名,可以使用:
xiaoyuer@linuxmi:~/www.linuxmi.com$ whoami ; hostname xiaoyuer linuxmi請記住,shell 按照您提及它們的確切順序執行這些命令。輸出如下所示:
2. 使用 OR (||)運算符
“or”這個詞的定義在這里是一個贈品:當你使用 OR 運算符運行兩個命令時,你告訴 shell 只執行兩個命令中的一個。 假設將 OR 運算符與兩個命令一起使用:命令 A 和命令 B。以下是使用 OR 運算符的連體命令的外觀:
command A || command B在這里,命令 B 僅在命令 A 失敗時執行,即當命令 A 返回錯誤時。同樣,如果命令 A 成功運行,命令 B 將不會執行。 談到它的用例,當你需要同時運行兩個相關的命令時,你可以使用 OR 運算符,這樣 shell 只有在前一個命令失敗時才執行下一個命令。 示例用例:假設您要創建一個新文件,例如 Document.txt,但在執行此操作之前,您需要確保該文件尚未存在于當前目錄中。在這種情況下,您可以按以下順序運行命令:
xiaoyuer@linuxmi:~/www.linuxmi.com$ find . -name linuxmi.txt || touch linuxmi.txt xiaoyuer@linuxmi:~/www.linuxmi.com$
在這里,find 命令將查找 linux.txt 文件的當前工作目錄。如果找到該文件,命令進度將停止,并且第二個命令將不會運行。 另一方面,如果找不到該文件,則將執行右側的命令,并在當前工作目錄中創建一個名為 linux.txt 的新文件。
3. 使用 AND (&&) 運算符
正如您可能已經猜到的那樣,AND 運算符允許您按順序運行多個命令,即,它僅在前一個命令成功運行時執行序列中的下一個命令。 為了更好地理解這一點,請考慮這樣一個場景:您希望運行兩個相關命令,以便僅當第一個命令返回有效輸出時才運行第二個命令。在這種情況下,您可以使用 AND 運算符(稱為 &&)將命令綁定在一起,以獲得所需的結果。 示例用例:在 Linux 中,AND 運算符最常見的用例之一是創建一個新目錄并立即進入該目錄。這樣,您就不必分別運行這兩個命令來執行操作。 在本指南中,假設您要創建一個名為“linuxmi”的新目錄,并立即將當前工作目錄更改為該目錄。這是你可以做到的:
xiaoyuer@linuxmi:~/www.linuxmi.com$ mkdir linuxmi && cd linuxmi xiaoyuer@linuxmi:~/www.linuxmi.com/linuxmi$
在這里,mkdir 命令將在當前工作目錄中創建一個名為 linuxmi 的新目錄。如果成功,它將允許執行 cd 命令。
組合多個運算符以滿足您的執行標準
除了在命令中單獨使用運算符外,還可以對多個運算符進行分組以滿足執行條件。當您想要執行滿足多個條件的命令時,這會派上用場。 例如,假設您希望僅在命令 A 失敗時才執行兩個命令(命令 B 和命令 C)。為此,您需要使用運算符,如下面的符號所示:
command A || command B && command C示例用例:假設您要確定當前工作目錄中是否存在文件夾(名為 linuxmi),如果不存在,則創建該文件夾。 在這種情況下,您可以一起使用 OR 和 AND 運算符來有效地執行整個操作,而不是運行單獨的命令來查找目錄并創建新目錄。 就是這樣子:
find . -name linuxmi1 || echo "目錄未找到" && mkdir linuxmi在此命令中,find 要求 shell 在當前工作目錄中搜索名為 Document 的文件夾。如果該目錄不存在,終端會將流傳輸到 echo 和 mkdir 命令,這些命令分別打印指定的字符串并創建新文件夾。
使用 shell 腳本一次運行多個命令
shell 腳本是一個程序,可讓您一次自動執行一系列命令。它消除了在 Linux 終端中鍵入多個命令的需要,并節省了時間和精力。 只需創建一個腳本,其中包含頻繁運行所需的所有命令,并將其轉換為可執行文件。然后,在您需要執行這些命令時運行它,它將為您完成所有操作。 首先創建一個新文件,然后鍵入要立即執行的命令。使用適當的名稱保存文件,并在末尾添加“.sh”擴展名。 現在,打開終端并導航到保存腳本的文件夾。運行以下命令以使文件可執行:
chmod +x linuxmi.sh完成后,下次需要再次執行這些命令時,請轉到終端中包含腳本文件的文件夾并像這樣執行它:
./linuxmi.sh您可以使用它的一個應用程序是系統更新。與其在每次要更新系統時在終端中手動鍵入和執行 sudo apt update 和 sudo apt upgrade 命令,不如創建一個腳本來自動為您運行命令。 只需使用以下命令創建一個腳本文件,然后按照上面演示的其余步驟操作:
#!/bin/bash sudo apt update && sudo apt upgrade -y
在 Linux 中高效運行終端命令
如您所見,在命令中使用運算符可以簡化大多數命令行操作。 如果您希望通過終端在計算機上執行不同的系統操作,了解如何使用這些運算符將非常有幫助,并幫助您有效地運行 Linux 命令。 同樣,如果您剛剛開始(或者不太熟悉)Linux,那么學習不同的終端命令是掌握命令行界面的又一步。 OK,這就是本文的內容。如果還有什么疑問,請在下面的評論區告訴我們。
審核編輯:湯梓紅
-
Linux
+關注
關注
87文章
11292瀏覽量
209328 -
文件
+關注
關注
1文章
565瀏覽量
24727 -
命令
+關注
關注
5文章
683瀏覽量
22011 -
運算符
+關注
關注
0文章
172瀏覽量
11079 -
Shell
+關注
關注
1文章
365瀏覽量
23356
發布評論請先 登錄
相關推薦
評論