Linux 命令行吸引了大多數 Linux愛好者 。一個正常的 Linux 用戶一般掌握大約 50-60個命令 來處理 每日 的任務。Linux命令和它們的轉換對于 Linux用戶 、 Shell腳本程序員 和 管理員 來說是最有價值的寶藏。有些Linux命令很少人知道,但不管你是新手還是高級用戶,它們都非常方便有用。
?
?
這篇文章的目的是介紹一些少有人知的Linux命令,它們一定會高效地幫你管理你的桌面/服務器。
?
?
1. sudo !!命令
?
沒有特定輸入 sudo命令 而運行,將給出沒有權限的錯誤。那么,你不需要重寫整個命令,僅僅輸入' !! '就可以抓取最后的命令。
?
$ apt-get update
E: Could not open lock file /var/lib/apt/lists/lock - open (13: Permission denied)
E: Unable to lock directory /var/lib/apt/lists/
E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
?
$ sudo !!
sudo apt-get update
[sudo] password for server:
…
..
Fetched 474 kB in 16s (28.0 kB/s)
Reading package lists... Done
server@localhost:~$
?
?
2. python命令
?
下面的命令生產一個通過HTTP顯示文件夾結構樹的簡單網頁,可以通過瀏覽器在端口 8000 訪問,直到發出中斷信號。
?
?
# python -m SimpleHTTPServer
?
?
?
3. mtr命令
?
我們大多數都熟悉 ping 和 traceroute 。那對于把兩個命令的功能合二為一的 mtr命令 呢。如果 mtr 沒在你的機子上安裝, apt 或者 yum 需要的包。
?
$ sudo apt-get install mtr (On Debian based Systems)
?
# yum install mtr (On Red Hat based Systems)
?
現在運行mtr命令,開始查看mtr運行的主機和google.com直接的網絡連接。
?
# mtr google.com
?
?
?
4. Ctrl+x+e命令
?
這個命令對于管理員和開發者非常有用。為了使每天的任務自動化,管理員需要通過輸入 vi 、 vim 、 nano 等打開編輯器。
?
僅僅從命令行快速的敲擊“Ctrl-x-e”,就可以在編輯器中開始工作了。
?
?
5. nl命令
?
“ nl命令 ”添加文件的行數。一個叫做' one.txt '的文件,其每行的內容是( Fedora 、 Debian 、 Arch 、 Slack 和 Suse ),給每行添加行號。首先使用 cat命令 顯示“ one.txt ”的文件內容。
?
# cat one.txt
fedora
debian
arch
slack
suse
?
?
現在運行“nl命令”,以添加行號的方式來顯示。
?
# nl one.txt
1 fedora
2 debian
3 arch
4 slack
5 suse
?
?
6. shuf命令
?
“Shut”命令隨機從一個 文件 或 文件夾 中選擇 行/文件/文件夾 。首先使用 ls命令 來顯示文件夾的內容。
?
# ls
Desktop Documents Downloads Music Pictures Public Templates Videos
# ls | shuf (shuffle Input)
Music
Documents
Templates
Pictures
Public
Desktop
Downloads
Videos
# ls | shuf -n1 # 隨機選擇一個
Public
# ls | shuf -n1
Videos
# ls | shuf -n1
Templates
# ls | shuf -n1
Downloads
?
?
注意 :你可以把‘? n1 ’替換成‘? n2 ’來輸出兩個隨機選擇或者使用? n3 、? n4 等數字輸出其他任意的隨機選擇。
?
?
7. ss命令
?
“ ss ”表示socket統計。這個命令調查socket,顯示類似 netstat命令 的信息。它可以比其他工具顯示更多的 TCP 和狀態信息。
?
# ss
State Recv-Q Send-Q Local Address:Port Peer Address:Port
ESTAB 0 0 192.168.1.198:41250 *.*.*.*:http
CLOSE-WAIT 1 0 127.0.0.1:8000 127.0.0.1:41393
ESTAB 0 0 192.168.1.198:36239 *.*.*.*:http
ESTAB 310 0 127.0.0.1:8000 127.0.0.1:41384
ESTAB 0 0 192.168.1.198:41002 *.*.*.*:http
ESTAB 0 0 127.0.0.1:41384 127.0.0.1:8000
?
?
8. last命令
?
“ last ”命令顯示的是上次登錄用戶的歷史信息。這個命令通過搜索文件“ /var/log/wtmp ”,顯示 logged -in 和 logged-out 及其 tty‘s 的用戶列表。
?
# last
server pts/0 :0 Tue Oct 22 12:03 still logged in
server tty8 :0 Tue Oct 22 12:02 still logged in
…
...
(unknown tty8 :0 Tue Oct 22 12:02 - 12:02 (00:00)
server pts/0 :0 Tue Oct 22 10:33 - 12:02 (01:29)
server tty7 :0 Tue Oct 22 10:05 - 12:02 (01:56)
(unknown tty7 :0 Tue Oct 22 10:04 - 10:05 (00:00)
reboot system boot 3.2.0-4-686-pae Tue Oct 22 10:04 - 12:44 (02:39)
wtmp begins Fri Oct 4 14:43:17 2007
?
?
9. curl ifconfig.me
那么如何得到你的 外部IP地址 呢?使用google?那么這個命令就在你的終端輸出你的外部IP地址。
# curl ifconfig.me
注意 :你可能沒有按照curl包,你需要? apt/yum 來按照包。
?
10. tree命令
以樹式的格式得到當前文件夾的結構。
# tree
.
|-- Desktop
|-- Documents
| `-- 37.odt
|-- Downloads
| |-- attachments.zip
| |-- ttf-indic-fonts_0.5.11_all.deb
| |-- ttf-indic-fonts_1.1_all.deb
| `-- wheezy-nv-install.sh
|-- Music
|-- Pictures
| |-- Screenshot from 2013-10-22 12:03:49.png
| `-- Screenshot from 2013-10-22 12:12:38.png
|-- Public
|-- Templates
`-- Videos
10 directories, 23 files
?
11. pstree
這個命令顯示當前運行的所有進程及其相關的子進程,輸出的是類似‘ tree ’命令的樹狀格式。
# pstree
init─┬─NetworkManager───{NetworkManager}
├─accounts-daemon───{accounts-daemon}
├─acpi_fakekeyd
├─acpid
├─apache2───10*[apache2]
├─at-spi-bus-laun───2*[{at-spi-bus-laun}]
├─atd
├─avahi-daemon───avahi-daemon
├─bluetoothd
├─colord───{colord}
├─colord-sane───2*[{colord-sane}]
├─console-kit-dae───64*[{console-kit-dae}]
├─cron
├─cupsd
├─2*[dbus-daemon]
├─dbus-launch
├─dconf-service───2*[{dconf-service}]
├─dovecot─┬─anvil
│ ├─config
│ └─log
├─exim4
├─gconfd-2
├─gdm3─┬─gdm-simple-slav─┬─Xorg
│ │ ├─gdm-session-wor─┬─x-session-manag─┬─evolution-a+
│ │ │ │ ├─gdu-notific+
│ │ │ │ ├─gnome-scree+
│ │ │ │ ├─gnome-setti+
│ │ │ │ ├─gnome-shell+++
│ │ │ │ ├─nm-applet──+++
│ │ │ │ ├─ssh-agent
│ │ │ │ ├─tracker-min+
│ │ │ │ ├─tracker-sto+
│ │ │ │ └─3*[{x-sessi+
│ │ │ └─2*[{gdm-session-wor}]
│ │ └─{gdm-simple-slav}
│ └─{gdm3}
├─6*[getty]
├─gnome-keyring-d───9*[{gnome-keyring-d}]
├─gnome-shell-cal───2*[{gnome-shell-cal}]
├─goa-daemon───{goa-daemon}
├─gsd-printer───{gsd-printer}
├─gvfs-afc-volume───{gvfs-afc-volume}
?
目前為止就這么多。在下篇文章中,我將涉及一些其他很少有人知道的有趣的Linux命令。到那時連接? Tecmint 保持收看。喜歡和分享將有助于我們傳播。
?
英文原文: 11 Lesser Known Useful Linux Commands ?
via:? http://www.oschina.net/translate/11-lesser-known-useful-linux-commands
來源: http://linux.cn/thread/11925/1/1/
?
?
?
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

