這篇文章將回顧一些有用且經常使用的 Linux 或 Unix 命令,適用於 Linux 系統管理員 在他們的日常生活中使用。
這並不完整,但這是一個簡潔的命令列表,在需要時參考。讓我們逐一開始看如何使用這些命令並附上範例。
1. Uptime 命令
在 Linux 中,uptime 命令 顯示系統運行的時間以及目前已登錄的使用者數量,同時顯示系統的 平均負載,以 1、5 和 15 分鐘的間隔。
# uptime 08:16:26 up 22 min, 1 user, load average: 0.00, 0.03, 0.22
檢查 Uptime 版本
Uptime 命令除了 uptime 和 version 之外,沒有其他選項。如果小於 1 天,它只提供以 小時:分鐘:秒 表示的資訊。
# uptime -V procps version 3.2.8
2. W 命令
w 命令會顯示目前登入的使用者及其進程,並顯示負載平均值,登入名稱,tty 名稱,遠端主機,登入時間,閒置時間,JCPU,PCPU,命令和進程。
# 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
您可以將more和less指令與 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命令
ftp或sftp命令用於連接到遠程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 命令 來終止進程。首先,使用 id 和 ps 命令找到進程,然後使用 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/