這篇文章是LFCA 系列的第三部分,在這一部分中,我們將列出24個最常用的Linux系統管理命令,這些命令是LFCA認證考試所需的。
Linux系統提供了大量的命令,您可以使用這些命令來管理和維護您的系統,它們如下。
1. uptime 命令
uptime 命令顯示自上次開機以來系統運行了多長時間。如果不帶任何參數,它會顯示許多信息,如系統運行時間、有運行會話的用戶和負載平均值。
$ uptime 11:14:58 up 1:54, 1 user, load average: 0.82, 1.60, 1.56
要獲得系統開機以來的確切日期和時間,請使用-s
標誌。
$ uptime -s 2021-03-17 09:20:02
要以更友好的格式獲得確切的持續時間,請追加-p
標誌。
$ uptime -p up 1 hour, 55 minutes
下面的輸出顯示系統已運行了1小時55分鐘。
2. uname 命令
uname 命令打印出有關您的操作系統和底層硬件的基本信息。如果不帶任何參數,uname命令只會打印出操作系統 – 在這個例子中是Linux。
$ uname Linux
在命令后添加-a
标志以显示所有信息,如内核名称、版本、发行版、机器、处理器和操作系统。
$ uname -a Linux ubuntu 5.4.0-65-generic #73-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
要显示内核版本,请附加-r
标志。
$ uname -r 5.4.0-65-generic
要获取内核版本,请使用-v
标志。
$ uname -v #50~20.04.1-Ubuntu SMP Mon Jan 18 17:25:17 UTC 2021
要查看您正在使用的内核类型,请使用-s
标志。
$ uname -s Linux
有关更多命令,请检查以下帮助部分。
$ uname --help
3. whoami命令
whoami命令显示当前登录用户,如下所示。
$ whoami tecmint
4. w命令
w命令提供有关当前登录用户的信息。
$ w 11:24:37 up 2:04, 1 user, load average: 2.04, 1.95, 1.74 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT tecmint tty7 :0 09:21 2:04m 7:52 0.52s xfce4-session
5. free命令
free命令提供有关交换和主存储器使用情况的信息。它显示总大小、已用和可用内存
$ free total used free shared buff/cache available Mem: 8041516 2806424 1918232 988216 3316860 3940216 Swap: 11534332 0 11534332
要以更易读的格式显示信息,请附加-h
标志。
$ free -h total used free shared buff/cache available Mem: 7.7Gi 2.7Gi 1.9Gi 954Mi 3.2Gi 3.8Gi Swap: 10Gi 0B 10Gi
6. top命令
这是Linux系统中的有用工具之一。top命令提供当前运行进程的概览,并提供系统资源使用的实时概览。
在输出顶部,您将获得有关正常运行时间、运行任务、CPU和内存使用情况的信息。
$ top

讓我們簡要分析每一列代表的內容。
- PID – 這是進程被識別的進程ID。
- USER – 這是啟動或產生進程的用戶的用戶名。
- PR – 這是任務的調度優先級。
- NI – 這是進程或任務的nice值。
- VIRT – 這是任務使用的總虛擬內存。
- RES – 進程使用的內存。
- SHR – 一個進程使用的內存量,由其他進程共享。
- %CPU – 這是進程的CPU使用率。
- %RAM – RAM使用率的百分比。
- TIME+ – 進程自開始運行以來使用的總CPU時間。
- COMMAND – 這是進程名稱。
要顯示特定於一個用戶的進程,運行命令
$ top -u tecmint

7. ps命令
ps命令列出當前殼層上當前運行的進程及其PID。
$ ps PID TTY TIME CMD 10994 pts/0 00:00:00 bash 12858 pts/0 00:00:00 ps
要顯示用戶當前運行的進程,請使用-u
選項,如下所示。
$ ps -u tecmint

8. sudo命令
A portmanteau for Super User do, sudo is a command-line utility that grants a regular user ability to perform administrative or elevated tasks. Before using the command, ensure that the user is first added to the sudo group. Once added, begin the command with sudo first.
例如,要更新包列表,運行命令:
$ sudo apt update
您將被提示輸入密碼,然後執行任務。

9. echo 命令
echo 命令可以做很多事情。首先,它可以在終端上打印出字符串的值,如下所示。
$ echo “Hey guys. Welcome to Linux” “Hey guys. Welcome to Linux”
您也可以使用 ( > )
重定向運算符將字符串保存到文件中。如果文件不存在,將會創建。
$ echo “Hey guys. Welcome to Linux” > file1.txt $ cat file1.txt “Hey guys. Welcome to Linux”
請注意,這會覆蓋文件。要添加或附加信息,請使用雙大於運算符 ( >> )
。
$ echo “We hope you will enjoy the ride” >> file1.txt $ cat file1.txt “Hey guys. Welcome to Linux” We hope you will enjoy the ride
此外,echo 命令可用於顯示環境變量。例如,要顯示當前登錄的用戶,請運行:
$ echo $USER tecmint
要顯示家目錄的路徑,請運行:
$ echo $HOME /home/tecmint
10. history 命令
顧名思義,history 命令會顯示最後在終端上執行的命令的歷史。
$ history

11. head 命令
有時,您可能想要預覽文本文件的前幾行,而不是查看整個文件。head 命令是一個命令行工具,它顯示文件中的前幾行。默認情況下,它顯示前10行。
$ head /etc/ssh/ssh_config

您可以添加-n
標誌以指定要顯示的行數。例如,要顯示5行,請運行以下命令:
$ head -n 5 /etc/ssh/ssh_config
12. 尾部命令
尾部命令tail command是head command的完全相反。它顯示文件的最後10行。
$ tail /etc/ssh/ssh_config

就像head command一樣,您可以定義要顯示的行數。例如,要查看文件的最後5行,請運行:
$ tail -n 5 /etc/ssh/ssh_config
13. wget 命令
wget command是用於在網絡上下載文件的命令行工具。它支持多個功能,包括下載多個文件、限制下載帶寬、在後台下載等等。
在其基本形式中,它從給定的 URL 下載文件。在下面的命令中,我們正在下載最新的 Linux 內核。
$ wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
該命令首先解析 URL 的 IP 地址,然後連接到遠程服務器,開始下載文件。文件將下載到當前目錄。

要將文件保存到不同的目錄中,請使用-P
標誌,後跟目錄的路徑,然後是 URL。例如,要將文件下載到/opt
目錄,請運行該命令。
$ wget -P /opt https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
要下載並保存文件為不同的名稱,請使用-O
標誌,後跟所需的文件名。
$ wget -O latest.tar.xz https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.11.4.tar.xz
14. finger 命令
finger 命令可以提供登入用戶的一些簡要信息,包括名稱、shell、家目錄以及用戶登入的時間。
$ finger tecmint Login: tecmint Name: Tecmint Directory: /home/tecmint Shell: /bin/bash On since Wed Mar 17 09:21 (IST) on tty7 from :0 2 hours 52 minutes idle No mail. No Plan.
15. alias 命令
alias 命令允許你為 Linux 命令指定自己的名稱,以方便使用。例如,要為命令 ls -a 指定一個叫做 show 的別名,就像顯示的那樣運行 alias 命令。
$ alias show=ls -a $ show

16. passwd 命令
passwd 命令允許你更改密碼。只需運行 passwd 命令即可。
$ passwd
系統會提示你輸入當前密碼,然後你需要提供一個新密碼並進行確認。

此外,你還可以通過傳遞用戶名作為參數,簡單地為另一個用戶更改密碼。
$ sudo passwd username
17. groups 命令
要檢查用戶屬於哪些組,運行 groups 命令如下:
$ groups OR $ groups tecmint tecmint sudo
18. du 命令
想要關注你的文件和文件夾的磁盤使用情況嗎? du 命令 —— 磁盤使用的縮寫 —— 是檢查文件和目錄磁盤使用情況的標準命令。
該命令遵循如下所示的基本語法。
$ du OPTIONS FILE
查看当前目录中以人类可读的方式显示磁盘使用情况,请执行以下命令:
$ du -h .
要检查另一个目录中的磁盘使用情况,例如/var/log/,运行以下命令:
$ du -h /var/log

19. df 命令
df 命令(磁盘空间)检查各个文件系统中的总磁盘空间、已使用空间和可用磁盘空间。它采用以下所示的语法:
$ df OPTIONS FILE
最关键的选项是-T
和-h
。-T
标志打印文件系统类型,而-h
标志以人类可读格式显示输出。
以下命令列出所有文件系统中的可用磁盘空间。
$ df -Th

20. chown 命令
chown 命令用于更改文件和目录的用户和组所有权。当您使用ls -l命令列出目录内容时,您将得到类似于这里的输出。
$ ls -l

在第3列和第4列中,您可以清楚地看到tecmint tecmint。第一个指向用户,第二个条目指的是组,也是tecmint。当创建新用户时,他们被分配一个新的默认组,默认情况下,他们是唯一的成员。这表明文件或目录未与任何人共享。
使用chown指令,您可以輕鬆地更改檔案的所有權。只需提供所有者名稱,後面跟著群組名稱,中間用冒號(:)分隔。這是一項提升的任務,您將不得不調用sudo指令。
例如,要將file1.txt的群組更改為james,但保留所有者為tecmint,請執行:
$ sudo chown tecmint:james file1.txt $ ls -l

要同時更改所有者和群組,請執行以下指令:
$ sudo chown james:james file1.txt $ ls -l

要更改目錄的所有權,請使用-R
標誌進行遞歸。我們創建了一個名為data的新目錄,我們將用戶和群組都更改為james。
$ sudo chown -R james:james data $ ls -l

21. chmod指令
使用chmod指令來設定或修改檔案或資料夾權限。回到ls -l指令的輸出。第一列包含以下字符
drwxrwxrwx
第一個字符( d )
表示這是一個目錄。檔案則使用連字號( - )
表示。其餘的九個字符被分為3組rwx(讀取、寫入、執行)標誌。第一組代表檔案所有者(u),第二組代表群組(g),最後一組代表所有其他用戶。
有兩種分配檔案權限的方式:數字和符號(文字)表示法。對於數字表示法,每個標誌代表如下所示的值。
r = 4 w = 2 x = 1 No permissions = 0
要獲得檔案的權限,只需將所有組中的相應值相加。例如:
drwxrwxr-x
- 對於文件的擁有者(u) rwx = 4+2+1 = 7
- 對於群組(g) rwx = 4+2+1 = 7
- 對於其他(o) r-x = 4+0+1 = 5
最後,我們得到標記775.
讓我們再來看一個例子文件 1.txt.
-rw-rw-r-- 1 james james 59 Mar 6 18:03 file1.txt
這裡,我們有rw-rw-r–.
讓我們加起來。
- 對於文件的擁有者(u) rw- = 4+2+0 = 6
- 對於群組(g) rw- = 4+2+0 = 6
- 對於其他(o) r– = 4+0+0 = 4
這樣計算出來是664.
我們將其設置為775. 這樣文件的擁有者和群組就擁有了所有權限 – 即rwx, 而其他用戶只有讀取和執行權限。
運行命令:
$ sudo chmod 775 file1.txt

另一種分配權限的方式是使用符號表示法。使用符號表示法,以下標誌用於添加或刪除權限
-
– 刪除權限。+
– 添加指定的權限。=
– 將當前權限設置為指定的權限。如果在=符號後沒有指定權限,則從指定的用戶類別中刪除所有權限。
例如,要從所有集合中刪除執行權限 – 文件的擁有者,群組成員和其他用戶,運行命令
$ sudo chmod a-x file1.txt

只分配群組成員讀取權限,不分配寫入和執行權限,運行。
$ sudo chmod g=r file1.txt

要刪除其他用戶的寫入權限,運行。
$ sudo chmod o-r file1.txt

為了給群組成員和其他使用者讀寫權限,運行:
$ sudo chmod og+rw file1.txt

要分配目錄權限,使用-R
標誌來遞迴設置權限。
例如:
$ sudo chmod -R 755 /var/www/html
22. 關機/重啟指令
如其名,poweroff指令會關閉您的系統。
$ poweroff
另一個執行相同任務的指令是shutdown指令如下所示。
$ shutdown -h now
-h
標誌代表停止,意味著停止系統運行。第二個參數是時間選項,也可以指定為分鐘和小時。
下面的指令向所有已登錄使用者顯示一條消息,通知他們系統將在5分鐘後關機。
$ shutdown -h +5 “System is shutting down shortly. Please save your work.”
要重新啟動系統,使用reboot指令如下所示。
$ reboot
或者,您可以使用shutdown指令並帶有-r
選項來重新啟動系統。
$ shutdown -r now
23. 退出指令
exit指令關閉終端或退出shell。如果您啟動了一個SSH會話,該會話將被關閉。
$ exit
24. man指令
man指令,簡稱手冊,顯示任何Linux指令的手冊頁。當您想查看指令如何使用時,這很方便。它提供了指令的詳細描述,包括簡要摘要、選項、返回狀態和作者等。
例如,要查看ls 命令的見解,請運行:
$ man ls

結論
這是一系列系統命令,應該有助於您開始管理系統並收集各種見解。俗話說,熟能生巧。不用說,不時地練習這些命令將幫助您變得更加精通您的系統。