系統管理員的30個有用Linux命令:

這篇文章將回顧一些有用且經常使用的 Linux 或 Unix 命令,適用於 Linux 系統管理員 在他們的日常生活中使用。

這並不完整,但這是一個簡潔的命令列表,在需要時參考。讓我們逐一開始看如何使用這些命令並附上範例。

1. Uptime 命令

在 Linux 中,uptime 命令 顯示系統運行的時間以及目前已登錄的使用者數量,同時顯示系統的 平均負載,以 1515 分鐘的間隔。

# uptime

08:16:26 up 22 min,  1 user,  load average: 0.00, 0.03, 0.22

檢查 Uptime 版本

Uptime 命令除了 uptimeversion 之外,沒有其他選項。如果小於 1 天,它只提供以 小時:分鐘:秒 表示的資訊。

# uptime -V
procps version 3.2.8

2. W 命令

w 命令會顯示目前登入的使用者及其進程,並顯示負載平均值登入名稱tty 名稱遠端主機登入時間閒置時間JCPUPCPU,命令和進程。

# w

08:27:44 up 34 min,  1 user,  load average: 0.00, 0.00, 0.08
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.29s  0.09s w

可用選項

  • -h:不顯示標頭項目。
  • -s:無 JCPU 和 PCPU。
  • -f:從字段中刪除。
  • -V:(大寫字母)– 顯示版本。

3. 使用者命令

使用者命令顯示目前登入的使用者。此命令除了幫助和版本之外,沒有其他參數。

# users

tecmint

4. 誰命令

誰命令僅返回使用者名稱日期時間主機資訊。誰命令類似於w命令。不像w命令不會打印使用者正在做什麼。讓我們舉例說明並看看w命令之間的區別。

# who

tecmint  pts/0        2012-09-18 07:59 (192.168.50.1)
# w

08:43:58 up 50 min,  1 user,  load average: 0.64, 0.18, 0.06
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
tecmint  pts/0    192.168.50.1     07:59    0.00s  0.43s  0.10s w

誰命令選項

  • -b:顯示最後系統重新啟動的日期和時間。
  • -r: 顯示當前運行的小程序。
  • -a, –all: 累計顯示所有資訊。

5. whoami 指令

在Linux中,whoami指令用於打印當前登錄到Linux系統的用戶名。如果您以root身份使用sudo命令登錄,則“whoami”指令將返回root作為當前用戶。

# whoami

tecmint

6. ls 指令

ls 指令以人類可讀格式顯示文件列表。

# ls -l

total 114
dr-xr-xr-x.   2 root root  4096 Sep 18 08:46 bin
dr-xr-xr-x.   5 root root  1024 Sep  8 15:49 boot

按最後修改時間排序文件。

# ls -ltr

total 40
-rw-r--r--. 1 root root  6546 Sep 17 18:42 install.log.syslog
-rw-r--r--. 1 root root 22435 Sep 17 18:45 install.log
-rw-------. 1 root root  1003 Sep 17 18:45 anaconda-ks.cfg

有關ls 指令的更多例子,請查閱我們的文章:

7. Crontab 指令

列出當前用戶的排程工作,使用crontab命令和-l選項。

# crontab -l

00 10 * * * /bin/ls >/ls.txt

編輯您的crontab,使用-e選項。在下面的例子中,將在VI編輯器中打開排程工作。進行必要的更改後,按下:wq鍵退出,這將自動保存設置。

# crontab -e

如需更多Linux Cron命令的例子,請閱讀我們之前的文章:

8. Less命令

less命令允許快速查看文件。您可以上下翻頁。按‘q‘退出less窗口。

# less install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch

9. More命令

more命令允許快速查看文件,並以百分比顯示詳細信息。您可以上下翻頁。按‘q‘退出more窗口。

# more install.log

Installing setup-2.8.14-10.el6.noarch
warning: setup-2.8.14-10.el6.noarch: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Installing filesystem-2.4.30-2.1.el6.i686
Installing ca-certificates-2010.63-3.el6.noarch
Installing xml-common-0.6.3-32.el6.noarch
Installing tzdata-2010l-1.el6.noarch
Installing iso-codes-3.16-2.el6.noarch
--More--(10%)

[ 您可能也會喜歡:了解為什麼‘less’比‘more’命令更快,用於有效的文件導航 ]

10. CP 指令

A cp command copies file from source to destination preserving the same mode.

# cp -p fileA fileB

在覆蓋檔案前,系統會提示您進行確認。

# cp -i fileA fileB

[ 您可能也會喜歡: 如何強制 cp 指令覆蓋而不需確認 ]

11. MV 指令

使用mv 指令fileA重新命名為fileB,並使用-i選項,在覆蓋前提示確認。如果已存在,請求確認。

# mv -i fileA fileB

12. Cat 指令

使用cat指令可以同時查看多個檔案。

# cat fileA fileB

您可以將moreless指令與 cat 指令結合,以查看超出單一螢幕/頁面的檔案內容。

# cat install.log | less

# cat install.log | more

更多關於 Linux 的 cat 指令範例,請閱讀我們的文章13 個基本的 Linux Cat 指令範例

13. cd 指令(切換目錄)

使用cd 指令(切換目錄或變更目錄)將前往fileA目錄。

# cd /fileA

14. pwd 指令(顯示工作目錄)

A pwd command return with the present working directory.

# pwd

/root

15. Sort 指令

排序命令用於將文字檔案的行按升序排序。使用-r選項將按降序排序。

# sort fileA.txt

# sort -r fileA.txt

16. VI命令

Vi是在大多數類UNIX操作系統中最受歡迎的文字編輯器。以下示例以只讀模式使用-R選項打開文件。按‘:q‘退出vi窗口。

# vi -R /etc/shadows

要了解更多關於vi編輯器,請閱讀我們的文章:

17. SSH命令(安全外殼)

SSH命令用於登錄到遠程主機。例如,以下ssh命令將使用用戶Narad連接到遠程主機(192.168.50.2)。

# ssh [email protected]

要檢查ssh的版本,使用選項-V(大寫)顯示ssh的版本。

# ssh -V

OpenSSH_8.2p1 Ubuntu-4ubuntu0.3, OpenSSL 1.1.1f  31 Mar 2020

若要深入了解SSH,請閱讀我們的文章:

18. Ftp或sftp命令

ftpsftp命令用於連接到遠程ftp主機。ftp是(文件傳輸協議),而sftp是(安全文件傳輸協議)。例如,以下命令將連接到ftp主機(192.168.50.2)。

# ftp 192.168.50.2

# sftp 192.168.50.2

使用mput將多個文件放入遠程主機,同樣地,我們可以使用mget從遠程主機下載多個文件。

# ftp > mput *.txt

# ftp > mget *.txt

19. Systemctl命令

Systemctl 指令是一個systemd管理工具,用於管理服務、檢查運行狀態、啟動和啟用服務以及處理配置文件。

# systemctl start httpd.service
# systemctl enable httpd.service
# systemctl status httpd.service

20. Free 指令

使用free 指令可以顯示空閒總計以及交換內存的信息,單位為字節。

# free
             total       used       free     shared    buffers     cached
Mem:       1030800     735944     294856          0      51648     547696
-/+ buffers/cache:     136600     894200
Swap:      2064376          0    2064376

使用-t選項的free指令會顯示總內存的使用量和可用量,單位為字節。

# free -t
             total       used       free     shared    buffers     cached
Mem:       1030800     736096     294704          0      51720     547704
-/+ buffers/cache:     136672     894128
Swap:      2064376          0    2064376
Total:     3095176     736096    2359080

21. Top 指令

top 指令顯示系統的處理器活動,並在實時中顯示由內核管理的任務。它將展示處理器內存的使用情況。

使用帶有u選項的top指令將顯示特定用戶的進程詳細信息,如下所示。按下‘O‘ (大寫字母)來按照您的需求排序。按下‘q‘退出top屏幕。

# top -u tecmint

top - 11:13:11 up  3:19,  2 users,  load average: 0.00, 0.00, 0.00
Tasks: 116 total,   1 running, 115 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us,  0.3%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   1030800k total,   736188k used,   294612k free,    51760k buffers
Swap:  2064376k total,        0k used,  2064376k free,   547704k cached

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
1889 tecmint   20   0 11468 1648  920 S  0.0  0.2   0:00.59 sshd
1890 tecmint   20   0  5124 1668 1416 S  0.0  0.2   0:00.44 bash
6698 tecmint   20   0 11600 1668  924 S  0.0  0.2   0:01.19 sshd
6699 tecmint   20   0  5124 1596 1352 S  0.0  0.2   0:00.11 bash

關於top指令的更多信息,我們已經編制了一份Linux中的12個TOP指令示例清單。

22. Tar 指令

tar 指令用於在 Linux 中壓縮檔案和資料夾。例如,以下命令將為 /home 目錄創建一個名為 archive-name.tar 的檔案歸檔。

# tar -cvf archive-name.tar /home

要解壓縮 tar 歸檔文件,請使用以下選項。

# tar -xvf archive-name.tar

要了解更多關於 tar 命令,我們創建了一個完整的 如何使用指南,位於 18 Tar 命令示例在 Linux

23. Grep 命令

grep 命令 用於在一個文件中搜索給定的字符串。只顯示 tecmint 用戶從 /etc/passwd 文件。我們可以使用 -i 選項忽略大小寫敏感性。

# grep tecmint /etc/passwd

tecmint:x:500:500::/home/tecmint:/bin/bash

24. Find 命令

Find 命令用於搜索 文件字符串,以及 目錄。以下是 find 命令的示例,它搜索 tecmint 單詞在 ‘/‘ 分區並返回輸出。

# find / -name tecmint

/var/spool/mail/tecmint
/home/tecmint
/root/home/tecmint

對於一個完整的指南關於 Linux find 命令 示例,請訪問 35 實用的 Linux Find 命令示例

25. lsof 命令

lsof 意指所有開啟的檔案列表。以下是使用者 tecmint 開啟的所有檔案的 lsof 命令列表。

# lsof -u tecmint

COMMAND  PID    USER   FD   TYPE     DEVICE SIZE/OFF   NODE NAME
sshd    1889 tecmint  cwd    DIR      253,0     4096      2 /
sshd    1889 tecmint  txt    REG      253,0   532336 298069 /usr/sbin/sshd
sshd    1889 tecmint  DEL    REG      253,0          412940 /lib/libcom_err.so.2.1
sshd    1889 tecmint  DEL    REG      253,0          393156 /lib/ld-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          298643 /usr/lib/libcrypto.so.1.0.0
sshd    1889 tecmint  DEL    REG      253,0          393173 /lib/libnsl-2.12.so
sshd    1889 tecmint  DEL    REG      253,0          412937 /lib/libkrb5support.so.0.1
sshd    1889 tecmint  DEL    REG      253,0          412961 /lib/libplc4.so

如需更多 lsof 命令範例,請造訪 Linux 中的 10 個 lsof 命令範例

26. last 命令

使用 last 命令,我們可以查看系統中用戶的活動。此命令也可以由普通用戶執行。它將顯示完整的用戶資訊,如 終端時間日期系統重啟啟動,以及 核心版本。一個有用的故障排除命令。

# last

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
reboot   system boot  2.6.32-279.el6.i Tue Sep 18 07:54 - 11:38  (03:43)
root     pts/1        192.168.50.1     Sun Sep 16 10:40 - down   (03:53)
root     pts/0        :0.0             Sun Sep 16 10:36 - 13:09  (02:32)
root     tty1         :0               Sun Sep 16 10:07 - down   (04:26)
reboot   system boot  2.6.32-279.el6.i Sun Sep 16 09:57 - 14:33  (04:35)
narad    pts/2        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)

您可以使用 last 搭配 用戶名 來了解特定用戶的活動,如下所示。

# last tecmint

tecmint  pts/1        192.168.50.1     Tue Sep 18 08:50   still logged in
tecmint  pts/0        192.168.50.1     Tue Sep 18 07:59   still logged in
tecmint  pts/1        192.168.50.1     Thu Sep 13 08:07 - down   (01:15)
tecmint  pts/4        192.168.50.1     Wed Sep 12 10:12 - 12:29  (02:17)

27. ps 命令

ps 命令 顯示系統中正在運行的進程。以下範例僅顯示 init 進程。

# ps -ef | grep init

root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

28. kill 命令

使用 kill 命令 來終止進程。首先,使用 idps 命令找到進程,然後使用 kill -9 命令終止進程。

# ps -ef | grep init
root         1     0  0 07:53 ?        00:00:04 /sbin/init
root      7508  6825  0 11:48 pts/1    00:00:00 grep init

# kill- 9 7508

29. rm 命令

rm 指令用於移除或刪除檔案,不會提示確認。

# rm filename

使用 -i 選項可在移除前獲得確認。使用選項 ‘ -r ‘ 和 ‘ -f ‘ 將強制移除檔案,不會有確認提示。

# rm -i test.txt

rm: remove regular file `test.txt'?

30. mkdir 指令範例。

mkdir 指令 用於在 Linux 下建立目錄。

# mkdir directoryname

這是在 Linux / Unix 類似作業系統中每天使用的基本指令。如果有任何遺漏,請透過我們的留言框分享。

Source:
https://www.tecmint.com/useful-linux-commands-for-system-administrators/