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

這篇文章的目的是介紹一些少有人知的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訪問(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,顯示類似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”命令顯示的是上次登錄用戶的歷史信息。這個(gè)命令通過(guò)搜索文件“/var/log/wtmp”,顯示logged-in和logged-out及其tty‘s的用戶列表。
·········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)程,輸出的是類似‘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保持收看。喜歡和分享將有助于我們傳播。
|