我怎樣才能同時執行多個命令? (作業系統=太陽solaris)

我怎樣才能同時執行多個命令? (作業系統=太陽solaris)

我怎樣才能同時執行多個命令? (作業系統=太陽solaris)

答案1

很高興看到您願意按照我之前在另一個問題中建議的那樣學習 shell。 :-)

要將命令放在後台並讓它在那裡執行:

yourcommand &

若要切換回該進程(如果僅啟動一個背景進程):

fg

列出所有背景進程:

jobs -l

如果您只想執行一個命令,然後執行另一個命令,然後執行另一個命令...

yourcommand && yourothercommand && youryetanothercommand

只有當上一個命令成功且沒有錯誤時,上面的範例才會繼續執行下一個命令。如果你不介意前面的命令是否成功,你可以這樣做

yourcommand; yourothercommand; youryetanothercommand

此外,命令screen將成為你新的最好的朋友。它允許您在自己的「螢幕」中啟動一個進程,您可以稍後分離並重新附加該進程,這樣您就可以從公司桌上型電腦連接到伺服器,啟動一個螢幕並讓長時間運行的命令運行在那裡,分開會話,走到您公司的筆記型電腦前,用它連接到該伺服器,然後重新連接會話,看看同時發生了什麼。

無論如何,所有這些都是我不應該向你解釋的基礎知識;去閱讀教學來開始吧!只需谷歌即可bash 教程,如果你的 shell 是 bash。您似乎正在使用 Solaris,因此您的 shell 也可能是西施,在這種情況下谷歌搜索csh 教程。它們彼此相似,但確實存在一些差異,例如在環境變數方面。

答案2

您並不是試圖同時執行兩個命令,而是希望在第一個命令的輸出上執行第二個命令。 SvenW 已經提到了 find 的 -exec 參數,但另一種方法是使用 xargs,它允許您使用管道命令的輸出作為另一個命令的參數。

假設您想要尋找名為 foo 的每個目錄,並查看該目錄中任何檔案的權限:

查找/-type d -name 'foo' -print0 | xargs -0 ls -la

(如果需要,請參閱 find 和 xargs 的手冊頁以了解 -print0 和 -0 的使用。)

答案3

請解釋一下你想做什麼,因為有很多方法可以做到這一點。

  • 您可以像這樣連結命令command1; command2
  • 您可以使用 & 將長時間運行的命令放在背景command &
  • 您可以使用 screen(強烈建議,man screen)讓多個虛擬控制台同時運行,即使在斷開連接後也是如此。
  • 可以寫入shell腳本
  • 等等等等

閱讀任何 Linux/Unix 初學者指南,這將有非常詳細的解釋。

此外,這不是一個學習基礎知識的初學者論壇。您提出的問題類型較適合在姊妹網站上超級用戶網站

相關內容