由於寫作長而精確的命令的乏味,許多人離開了MacOS終端。但是,它可以節省大量時間,並使用集成在終端外殼中的命令歷史記錄的功能少寫。 Shell維護您運行的命令的註冊,並可以使用簡單的鍵訪問此歷史記錄,以再次執行命令或編輯它們,因此您不必再次編寫它們。
終端將命令歷史記錄按照最後輸入的順序保留,這意味著歷史記錄列表中的第一個命令是發出的最後一個命令。如果您想運行已經編寫的命令,假設您想返回到剛寫的最後一個命令,那麼您要做的就是按向上箭頭鍵,而Shell在指示器中顯示了最後一個執行命令。
如果要運行先前執行的命令,請按幾次箭頭鍵。在執行此操作時,砲彈通過他的最後一個命令傳播,在指示器中顯示每個命令。如果您決定不想在“歷史記錄列表”上使用命令,只需按下箭頭鍵,直到返回空指示器,然後輸入新命令。
重寫故事
使用命令記錄,您可以返回執行以前的命令,但也可以調整用不同的參數命令並執行它們。這樣做的最簡單方法之一是使用!!
命令執行上一個命令,添加新信息。假設您想列出目錄的內容,例如:
ls ~/Library/Preferences/ByHost
閱讀列表後,他決定要將此列表保存在文件中。您可以執行以下操作:
!! > list.txt
終端取代Al!!他執行的最後一個命令的快捷方式,所以!! > list.txt
這與編寫此命令相同:
ls ~/Library/Preferences/ByHost > list.txt
編輯命令
除了在命令歷史記錄中上下移動箭頭鍵上下移動,還可以在終端中的系統符號中顯示每個命令,您還可以編輯出現的命令或向其添加參數。當您需要執行非常相似但不完全相同的命令時,這節省了時間。
假設您要復製文件;寫這樣的命令:
cp /Users/kirk/Pictures/P101068.jpg /Users/Shared
終端說該文件不存在,但是您確定是的。當您去董事會驗證時,您會發現確實有一個具有相似名稱的文件,但剩下一個零。使用命令記錄,您可以按向上箭頭再次顯示命令。使用左箭頭將光標移至需要添加零的位置,寫作0
然後按Enter。 (不必在行末端移動光標)。
您可以使用命令版更改命令並在不同的文件中執行它們。例如,如果您的目錄中有幾個文件,則可以使用向上箭頭顯示上一個命令,更改文件的名稱並在其他文件中再次執行命令。
更改參數和選項
使用相同的技巧更改命令的參數或選項。在上一個示例中,我在用戶 /共享目錄中復制了圖像。我可以輕鬆地按向上箭頭再次顯示命令,然後修改命令將其中一個文件複製到其他位置。不必寫整個行。
以同樣的方式,假設它在目錄中列出了文件,然後決定要使用-l
顯示長列表的選項。按箭頭再次顯示命令,然後將光標移到左側以添加-l
。例如, ls -l /etc/periodic
。
UPS,我忘了蘇多
如果沒有Root用戶特權,您的計算機中有許多命令和區域無法訪問。如果您擁有計算機的管理員權利,則可以使用sudo
命令請求密碼。
但是,寫一個長長的命令是為了使終端“拒絕允許”,這很煩人。如果您忘記喜歡命令sudo
,只有類型sudo !!
。該命令告訴Shell再次運行上一個命令,此時sudo
。請求時輸入密碼,然後按Enter,然後執行命令。沒有必要再寫它。
編者註:本文是適應的提取MAC OS X命令行:引擎蓋下的UNIX,柯克·麥克爾赫恩(Kirk McElhearn)(2004年;經Sybex許可轉載)。它已進行了更新,以反映Macos Big Sur的終端變化。