如何在Linux中重新執行最後執行的命令?


在Unix系統上工作時,重新執行命令列中的命令是一項常規任務,我們都會遇到。在下面的文章中,我們將看到各種方法,這些方法可以幫助我們重新執行已經執行的命令,這有助於節省時間,並有助於輕鬆地推理更長的命令,而無需重新輸入它們。

在瞭解如何重新執行之前的命令之前,讓我們看看如何檢視所有命令的列表。有一個名為history的命令,它列出了系統配置的特定時間段內所有執行的命令。以下是執行history命令並檢視其結果的示例。

$ histrory

執行以上程式碼,我們將得到以下結果:

$ history
1 perl -v
2 sudo -apt update
3 cal
..
..
231 curl -s https://ipvigilante.com/122.175.62.177
232 curl -s https://ipvigilante.com/104.80.62.56
233 ls -l

向上和向下箭頭鍵

在終端上,按向上和向下箭頭鍵,我們可以反覆訪問已經執行的命令,重複按下這些鍵可以幫助我們迴圈遍歷已經執行的所有命令,在它們之間向前和向後移動。

使用 !!

此命令僅執行上一個命令。

$ !!

執行以上程式碼,我們將得到以下結果:

ls -l
total 60
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 13 19:35 Desktop
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 13 01:58 Documents
drwxr-xr-x 2 ubuntu ubuntu 4096 Dec 13 19:40 Downloads
……….
…………

! 與特定命令

如果您想執行特定命令,但只記得該命令的一部分,那麼您可以使用 ! 與命令的一部分,則將執行完整的命令。

$ !nsloo

執行以上程式碼,我們將得到以下結果:

nslookup www.oracle.com
Server:127.0.1.1
Address:127.0.1.1#53
Non-authoritative answer:
www.oracle.comcanonical name = ds-www.oracle.com.edgekey.net.
ds-www.oracle.com.edgekey.netcanonical name = e870.dscx.akamaiedge.net.
Name:e870.dscx.akamaiedge.net
Address: 104.80.62.56

更新於:2020年1月3日

235 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.