您需要了解的基本 macOS 終端命令 [指南]

已發表: 2021-06-30

終端是基於 Unix 的操作系統上的應用程序,它提供命令行界面(或 CLI),因此您可以與操作系統的 shell 交互並訪問/控制其不同的服務。

macOS terminal commands
圖片:

在 macOS 上,終端恰如其分地稱為終端,它使用 Z shell (Zsh) 作為默認登錄 shell。 (在 macOS Catalina 之前,Apple 使用 Bash shell 作為默認 shell)。 使用此終端,您可以輕鬆導航系統目錄、複製/移動文件、獲取系統信息、安全地遠程登錄到其他系統,以及高效地自動執行 Mac 上的任務/操作。

但是,要執行任何這些操作,您需要熟悉終端命令(及其語法)。 在本指南中,我們將介紹您需要了解的所有基本 macOS 終端命令以及如何在 Mac 上有效地使用它們。

目錄

基本的 macOS 終端命令

在任何操作系統上執行命令都需要終端。 macOS 已經配備了一個,您可以在Applications > Utilities下找到它。 或者,您可以使用 Spotlight 搜索來查找終端。

此外,您還可以將其添加到您的擴展塢以便快速訪問。 為此,運行終端,右鍵單擊 Dock 中的圖標,然後選擇Options > Keep in Dock

打開終端窗口會打開看起來像一個黑盒子的 Mac 命令提示符。 現在,您需要做的就是輸入終端命令並按回車鍵執行它。

為方便起見,我們將命令行命令分為幾類,以便更輕鬆地遵循它們:

1. 基本終端命令

在您跳入特定於操作的終端命令之前,以下是您應該了解的一些基本命令。

一世。 男人

man 命令顯示您要查詢的命令的用戶手冊。 使用它,您可以獲得有關命令的更多信息,例如其描述、用法、可用選項和變體等。

例如:

man cd

將為您提供您需要了解的有關 cd(更改目錄)命令的所有詳細信息。

ii. 清除

顧名思義,clear 命令清除 shell 並為您提供一個空白窗口來輸入您的命令。 因此,如果您的終端窗口充滿了所有先前命令的結果,只需運行 clear 即可獲得一個乾淨的狀態。

iii. 須藤

sudo 是最強大的終端命令。 它為您提供在 macOS 上執行操作的管理 (root) 權限。 當您想要執行需要超級用戶訪問權限的命令時,您需要使用它。

例如,如果你想通過終端關閉你的 Mac,你需要運行:

sudo shutdown

並輸入您的用戶密碼以執行命令。

iv. 歷史

當您想找出過去執行的所有命令時,歷史命令會派上用場。 例如,如果您在 Mac 上禁用/啟用了某些服務,但不完全記住它的名稱或您使用的命令,您可以使用此命令找出服務並恢復您的操作。

也在 TechPP 上

2. 導航目錄

在不同目錄或文件夾之間移動是導航文件系統時必須執行的基本操作之一。 當您想要創建新文件、在目錄之間移動文件或在目錄中啟動程序時,您需要執行它。

但是,在更改目錄或文件夾之前,了解您當前的工作目錄很重要。 為此,請運行:

pwd

同樣,您可能還需要查看目錄或文件夾的內容,以確定它是否包含您要訪問的文件/目錄。 使用以下命令及其變體有效地執行此操作:

ls

詳細分類:

ls -l

查看目錄的所有內容,包括隱藏的文件和目錄:

ls -al

確定當前工作目錄和要導航到的目錄後,cd 命令將幫助您在目錄之間移動。 以下是如何使用它的說明。

要轉到主目錄:

cd

或者

cd ~

當您要移動到特定目錄或文件夾時:

cd directory_name

例如:

cd Downloads

向上移動到父目錄:

cd ..

如果你想回到之前的工作目錄或文件夾:

cd -

最後,當您必須轉到根目錄時,運行:

cd /

3.目錄管理

導航到所需的目錄或文件夾後,您可以在那裡執行多項操作,從創建和編輯新目錄到刪除現有目錄。

要創建目錄,請運行:

mkdir directory_name

當您想一次創建多個目錄或文件夾時:

mkdir directory_name_1 directory_name_2 directory_name_3

如果要刪除/刪除目錄或文件夾,請運行:

rmdir directory_name

當您想刪除非空目錄時,可以使用 -R(遞歸)選項刪除目錄/文件夾及其所有內容:

rm -R directory_name

4.文件管理

與目錄管理非常相似,終端還允許您執行文件操作,因此您可以創建新文件、編輯它們並刪除不需要的文件。

創建文件:

touch file_name

如果要創建和編輯文件,請運行:

nano file_name

這將在 Nano 文本編輯器中打開文件。 或者,如果您更喜歡使用其他文本編輯器,請將 nano 替換為上述命令中該編輯器的名稱。

在 Mac 上查看文件的文件類型:

file file_name

如果您想將文件從當前目錄複製到另一個目錄/文件夾,請運行:

cp file_name directory_name

例如:

cp myfile ~/Desktop/MyDocs

如果需要將文件複製到同一目錄,但名稱不同:

cp file_name new_file_name

除了複製之外,有時還需要在不同目錄之間移動文件。 當出現此類需求時,您可以將文件從當前目錄移動到另一個目錄:

mv file_name directory_name

例如:

mv myfile ~/Documents/MyDocs

此外, mv 命令還兼作重命名命令。 要使用它重命名文件,請使用以下語法:

mv current_file_name new_file_name

當您想要刪除/刪除文件時,請運行:

rm file_name

5. 使用終端命令安裝程序

macOS 預裝了 Homebrew 包管理器,可讓您使用終端在 Mac 上安裝程序。 從某種意義上說,與需要通過一系列步驟的傳統方式相比,在計算機上安裝應用程序是一種更簡單的方式。

要更新 Homebrew 存儲庫,請運行:
brew update

如果要升級系統上所有已安裝的軟件包:
brew upgrade

當您需要安裝基於 GUI 的應用程序時,我們將不得不使用 Cask:
brew install --cask program_name

例如:
brew install --cask vlc

如果是非 GUI 程序:
brew install program_name

請注意,並非所有軟件包/程序都可以立即安裝:您可能需要在運行 install 命令之前添加它們的源存儲庫以獲取它們。

最後,如果要刪除程序,請使用:
brew uninstall program_name

6.網絡管理

macOS 允許您直接從終端窗口查看有關網絡配置的詳細信息。 儘管您可以使用 GUI 來查看此類信息,但 CLI 方法使整個過程變得快速而簡單,並為您節省了額外的步驟。

最基本的網絡操作之一是 ping 網站/IP 地址以檢查連接。 為此,請輸入:

ping hostname

例如:

ping google.com

或者

ping 142.250.192.14

如果要查看設備的 IP 地址和 MAC 地址,請運行:

ifconfig en0

要查找連接到網絡的所有設備的 IP 地址和 MAC 地址:

arp -a

當您需要有關 Mac 的傳入和傳出連接的信息時,請使用:

netstat

要查找 Mac 上所有正在運行且具有活動 Internet 連接的進程:

lsof

要獲取有關域的更多信息,請使用:

whois domain_name

例如:

whois google.com

如果您想識別數據包從您的設備到其目標地址所經過的路徑(和躍點),請運行:

traceroute hostname

例如:

traceroute google.com

7.流程管理

如果您曾經在 Mac 上打開過 Activity Monitor 應用程序,您就會看到系統上正在運行的所有活動進程。 這些進程可以是系統應用程序、第三方應用程序或操作系統所需的其他後台服務。

雖然一般來說,您不會遇到這些進程的問題,但有時當您的設備上運行了很多進程時 - 到了接近最大內存/CPU 限制的臨界點 - 您可能會遇到一些延遲系統。

解決此問題的一種方法是使用活動監視器應用程序。 但是,更簡單的方法是使用終端。

第一步是識別系統上正在運行的進程。 為此,請運行:

ps -ax

或者,如果您想知道當前正在運行的頂級進程的狀態,您可以這樣做:

top

qcontrol + C停止。

現在,如果您在上述任何命令的輸出中發現一個不熟悉的進程或消耗大量資源的進程,您可以通過運行以下命令獲取有關它的更多信息:

ps -ax | grep program_name

例如:

ps -ax | grep Safari

在這裡,您可以在 CMD 列下看到應用程序名稱。 它通常與程序/應用程序的絕對路徑一起列出。

在了解有關該過程的更多信息後,如果您發現需要終止它,請運行:

sudo killall program_name

前任:

sudo killall systemuiserver

或者

sudo kill PID

由於我們使用 sudo 運行 kill/killall 命令,因此您需要在輸入命令後輸入用戶密碼才能執行它。

8.權限管理

操作系統上的權限定義了誰可以訪問和修改計算機上的文件/目錄。 如果您有多個用戶共享同一個系統,您可以為每個用戶設置權限以限制他們的訪問並防止他們查看或修改您的系統(或其他)文件。

一旦掌握了終端的語法,在終端上設置權限就相當容易了。 但是,在開始之前,您需要做的第一件事是確定要修改的文件的文件權限。 為此,請鍵入:

ls -al file_name

您應該能夠在輸出的左側看到文件權限。 文件/目錄權限通常包含 11 個字符:第一個字符表示它是文件還是目錄,接下來的 9 個字符表示權限(並分為三個一組,最後一個字符標識文件/目錄是否帶有擴展屬性。

第一個字符始終是連字符 ( ) 或字母 ( d ):前者表示文件,而後者表示目錄。 轉到接下來的九個字符,它們分為三組:文件/目錄所有者、組和其他用戶權限。 這九個位置中的每一個都被以下字符佔據:–(無權限)、 r (讀取)、 w (寫入)或x (執行)。

通過將這些字符放在一起,您可以設置文件/目錄的權限。 以下是權限的形成方式:

  • 表示沒有讀、寫、執行權限。
  • r–僅顯示讀取權限。
  • rw-表示文件只能讀寫。
  • rwx表示該文件可以被讀取、寫入和執行。
  • rx表示該文件只能被讀取和執行。

或者,您也可以使用數字表示法,其中將上述字符替換為數字。 它總共由八個數字組成,以下是它們所代表的細分:

  • 0 – 沒有權限
  • 1 – 執行
  • 2 – 寫
  • 3 – 執行和寫入
  • 4 – 閱讀
  • 5 – 讀取並執行
  • 6 – 讀寫
  • 7 – 讀、寫和執行

最後,權限符號中的第十一個字符是@ 。 它被稱為擴展屬性,對特定文件和目錄是唯一的。

有了基礎知識,以下是如何結合上述信息來設置權限。

要為所有三個訪問類設置讀取、寫入和執行權限,請運行:

chmod ugo+rwx file_name

在數字表示中,您需要使用:

chmod 777 file_name

對目錄中的所有文本文件執行相同操作:

chmod ugo+rwx *txt

當需要為所有用戶類提供相同的權限時:

chmod a+rwx file_name

如果您想以用戶類獲得所有三種訪問權限而組獲得讀寫訪問權限而其他用戶僅獲得讀取訪問權限的方式設置權限,則需要使用以下命令:

chmod ugo+rwxrw-r-- file_name

使用數字表示:

chmod 764 file_name

要刪除組和其他用戶類的寫入和執行權限,請輸入:

chmod go-wx file_name

或者

chmod 744 file_name

如果您發現很難使用數字表示,您可以使用 chmod 計算器來推斷您的權限要求的權限表示。

9. 所有權管理

雖然chmod使您能夠更改文件/目錄權限以限制其訪問,但它不允許您決定誰擁有文件/目錄。 這就是chown命令出現的地方,它可以幫助您更改 Mac 上文件/目錄的所有權。

如果您不確定何時使用哪個命令,這裡有一個提示:如果您想更改 Mac 上的用戶可以對您的文件執行的操作,則需要 chmod,而當您想更改文件的所有者時,您需要 chown .

要更改文件的所有權,請使用以下語法:

chown user name file_name

例如:

chown user1 myfile

要知道您的用戶名,請在終端中運行whoami 。 或者,要查找 Mac 上所有用戶的列表,請輸入:

ls /users

在此之後,如果您想更改您無權訪問的文件/目錄的所有權,您可以使用 sudo 強制更改:

sudo chown user_name path/to/file

請注意,您還需要為您的文件添加絕對路徑(即根目錄的路徑)。 例如,如果您的文件位於 Documents 中,則需要使用以下語法 ~/Documents/Directory_Name/File_Name。

例如:

sudo chown user1 ~/Documents/MyFolder/myfile

使用終端命令高效使用 Mac

在這個列表中,我們幾乎沒有觸及終端命令的表面:還有許多其他命令可用於在 Mac 上執行幾乎所有類型的操作。

但是,話雖如此,我們上面列出的命令肯定會幫助您掌握終端,並使您能夠有效地使用它在 Mac 上快速有效地執行瑣碎的操作。 隨著時間的推移,隨著您對它的熟悉,您將能夠更熟練地使用它。