Linux命令行吸引了大多數(shù)Linux愛(ài)好者。一個(gè)正常的Linux用戶(hù)一般掌握大約50-60個(gè)命令來(lái)處理每日的任務(wù)。Linux命令和它們的轉(zhuǎn)換對(duì)于Linux用戶(hù)、Shell腳本程序員和管理員來(lái)說(shuō)是最有價(jià)值的寶藏。有些Linux命令很少人知道,但不管你是新手還是高級(jí)用戶(hù),它們都非常方便有用。

這篇文章的目的是介紹一些少有人知的Linux命令,它們一定會(huì)高效地幫你管理你的桌面/服務(wù)器。
1. sudo !!命令
沒(méi)有特定輸入sudo命令而運(yùn)行,將給出沒(méi)有權(quán)限的錯(cuò)誤。那么,你不需要重寫(xiě)整個(gè)命令,僅僅輸入'!!'就可以抓取最后的命令。
·········10········20········30········40········50········60········ 1. $ apt-get update
2.
3. E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
4. E: Unable to lock directory /var/lib/apt/lists/
5. E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
6. E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
-
·········10········20········30········40········50········60········ 01. $ sudo !!
02.
03. sudo apt-get update
04. [ sudo ] password for server:
05. …
06. ..
07. Fetched 474 kB in 16s (28.0 kB/s)
08. Reading package lists... Done
09. server@localhost:~$
2. python命令
下面的命令生產(chǎn)一個(gè)通過(guò)HTTP顯示文件夾結(jié)構(gòu)樹(shù)的簡(jiǎn)單網(wǎng)頁(yè),可以通過(guò)瀏覽器在端口8000訪(fǎng)問(wèn),直到發(fā)出中斷信號(hào)。
# python -m SimpleHTTPServer

3. mtr命令
我們大多數(shù)都熟悉ping和traceroute。那對(duì)于把兩個(gè)命令的功能合二為一的mtr命令呢。如果mtr沒(méi)在你的機(jī)子上安裝,apt或者yum需要的包。
$ sudo apt-get install mtr (On Debian based Systems)
# yum install mtr (On Red Hat based Systems)
現(xiàn)在運(yùn)行mtr命令,開(kāi)始查看mtr運(yùn)行的主機(jī)和google.com直接的網(wǎng)絡(luò)連接。
# mtr google.com

4. Ctrl+x+e命令
這個(gè)命令對(duì)于管理員和開(kāi)發(fā)者非常有用。為了使每天的任務(wù)自動(dòng)化,管理員需要通過(guò)輸入vi、vim、nano等打開(kāi)編輯器。
僅僅從命令行快速的敲擊“Ctrl-x-e”,就可以在編輯器中開(kāi)始工作了。
5. nl命令
“nl命令”添加文件的行數(shù)。一個(gè)叫做'one.txt'的文件,其每行的內(nèi)容是(Fedora、Debian、Arch、Slack和Suse),給每行添加行號(hào)。首先使用cat命令顯示“one.txt”的文件內(nèi)容。
·········10········20········30········40········50········60········ 1. # cat one.txt
2.
3. fedora
4. debian
5. arch
6. slack
7. suse
現(xiàn)在運(yùn)行“nl命令”,以添加行號(hào)的方式來(lái)顯示。
·········10········20········30········40········50········60········ 1. # nl one.txt
2.
3. 1 fedora
4. 2 debian
5. 3 arch
6. 4 slack
7. 5 suse
6. shuf命令
“Shut”命令隨機(jī)從一個(gè)文件或文件夾中選擇行/文件/文件夾。首先使用ls命令來(lái)顯示文件夾的內(nèi)容。
·········10········20········30········40········50········60········ 01. # ls
02. Desktop Documents Downloads Music Pictures Public Templates Videos
03.
04. # ls | shuf (shuffle Input)
05. Music
06. Documents
07. Templates
08. Pictures
09. Public
10. Desktop
11. Downloads
12. Videos
13.
14. # ls | shuf -n1 # 隨機(jī)選擇一個(gè)
15. Public
16.
17. # ls | shuf -n1
18. Videos
19.
20. # ls | shuf -n1
21. Templates
22.
23. # ls | shuf -n1
24. Downloads
注意:你可以把‘ n1’替換成‘ n2’來(lái)輸出兩個(gè)隨機(jī)選擇或者使用 n3、 n4等數(shù)字輸出其他任意的隨機(jī)選擇。
7. ss命令
“ss”表示socket統(tǒng)計(jì)。這個(gè)命令調(diào)查socket,顯示類(lèi)似netstat命令的信息。它可以比其他工具顯示更多的TCP和狀態(tài)信息。
·········10········20········30········40········50········60········ 01. # ss
02.
03. State Recv-Q Send-Q Local Address:Port Peer Address:Port
04. ESTAB 0 0 192.168.1.198:41250 *.*.*.*:http
05. CLOSE-WAIT 1 0 127.0.0.1:8000 127.0.0.1:41393
06. ESTAB 0 0 192.168.1.198:36239 *.*.*.*:http
07. ESTAB 310 0 127.0.0.1:8000 127.0.0.1:41384
08. ESTAB 0 0 192.168.1.198:41002 *.*.*.*:http
09. ESTAB 0 0 127.0.0.1:41384 127.0.0.1:8000
8. last命令
“last”命令顯示的是上次登錄用戶(hù)的歷史信息。這個(gè)命令通過(guò)搜索文件“/var/log/wtmp”,顯示logged-in和logged-out及其tty‘s的用戶(hù)列表。
·········10········20········30········40········50········60········ 01. # last
02. server pts/0 :0 Tue Oct 22 12:03 still logged in
03. server tty8 :0 Tue Oct 22 12:02 still logged in
04. …
05. ...
06. (unknown tty8 :0 Tue Oct 22 12:02 - 12:02 (00:00)
07. server pts/0 :0 Tue Oct 22 10:33 - 12:02 (01:29)
08. server tty7 :0 Tue Oct 22 10:05 - 12:02 (01:56)
09. (unknown tty7 :0 Tue Oct 22 10:04 - 10:05 (00:00)
10. reboot system boot 3.2.0-4-686-pae Tue Oct 22 10:04 - 12:44 (02:39)
11.
12. wtmp begins Fri Oct 4 14:43:17 2007
9. curl ifconfig.me
那么如何得到你的外部IP地址呢?使用google?那么這個(gè)命令就在你的終端輸出你的外部IP地址。
# curl ifconfig.me
注意:你可能沒(méi)有按照curl包,你需要 apt/yum來(lái)按照包。
10. tree命令
以樹(shù)式的格式得到當(dāng)前文件夾的結(jié)構(gòu)。
·········10········20········30········40········50········60········ 01. # tree
02. .
03. |-- Desktop
04. |-- Documents
05. | `-- 37.odt
06. |-- Downloads
07. | |-- attachments.zip
08. | |-- ttf-indic-fonts_0.5.11_all.deb
09. | |-- ttf-indic-fonts_1.1_all.deb
10. | `-- wheezy-nv- install .sh
11. |-- Music
12. |-- Pictures
13. | |-- Screenshot from 2013-10-22 12:03:49.png
14. | `-- Screenshot from 2013-10-22 12:12:38.png
15. |-- Public
16. |-- Templates
17. `-- Videos
18.
19. 10 directories, 23 files
11. pstree
這個(gè)命令顯示當(dāng)前運(yùn)行的所有進(jìn)程及其相關(guān)的子進(jìn)程,輸出的是類(lèi)似‘tree’命令的樹(shù)狀格式。
·········10········20········30········40········50········60········ 01. # pstree
02. init─┬─NetworkManager───{NetworkManager}
03. ├─accounts-daemon───{accounts-daemon}
04. ├─acpi_fakekeyd
05. ├─acpid
06. ├─apache2───10*[apache2]
07. ├─at-spi-bus-laun───2*[{at-spi-bus-laun}]
08. ├─atd
09. ├─avahi-daemon───avahi-daemon
10. ├─bluetoothd
11. ├─colord───{colord}
12. ├─colord-sane───2*[{colord-sane}]
13. ├─console-kit-dae───64*[{console-kit-dae}]
14. ├─ cron
15. ├─cupsd
16. ├─2*[dbus-daemon]
17. ├─dbus-launch
18. ├─dconf-service───2*[{dconf-service}]
19. ├─dovecot─┬─anvil
20. │ ├─config
21. │ └─log
22. ├─exim4
23. ├─gconfd-2
24. ├─gdm3─┬─gdm-simple-slav─┬─Xorg
25. │ │ ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+
26. │ │ │ │ ├─gdu-notific+
27. │ │ │ │ ├─gnome-scree+
28. │ │ │ │ ├─gnome-setti+
29. │ │ │ │ ├─gnome-shell+++
30. │ │ │ │ ├─nm-applet──+++
31. │ │ │ │ ├─ ssh -agent
32. │ │ │ │ ├─tracker-min+
33. │ │ │ │ ├─tracker-sto+
34. │ │ │ │ └─3*[{x-sessi+
35. │ │ │ └─2*[{gdm-session-wor}]
36. │ │ └─{gdm-simple-slav}
37. │ └─{gdm3}
38. ├─6*[getty]
39. ├─gnome-keyring-d───9*[{gnome-keyring-d}]
40. ├─gnome-shell- cal ───2*[{gnome-shell- cal }]
41. ├─goa-daemon───{goa-daemon}
42. ├─gsd-printer───{gsd-printer}
43. ├─gvfs-afc-volume───{gvfs-afc-volume}
目前為止就這么多。在下篇文章中,我將涉及一些其他很少有人知道的有趣的Linux命令。到那時(shí)連接 Tecmint保持收看。喜歡和分享將有助于我們傳播。
|