11 個鮮為人知卻超實用的 Linux 命令!
Linux命令列吸引了大多數Linux愛好者。一個正常的Linux使用者一般掌握大約50-60個命令來處理每日的任務。Linux命令和它們的轉換對於Linux使用者、Shell指令碼程式設計師和管理員來說是最有價值的寶藏。有些Linux命令很少人知道,但不管你是新手還是高階使用者,它們都非常方便有用。
這篇文章的目的是介紹一些少有人知的Linux命令,它們一定會高效地幫你管理你的桌面/伺服器。
1sudo !!命令
沒有特定輸入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:~$
2python命令
下面的命令生產一個通過HTTP顯示資料夾結構樹的簡單網頁,可以通過瀏覽器在埠8000訪問,直到發出中斷訊號。
# python -m SimpleHTTPServer
3mtr命令
我們大多數都熟悉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
4Ctrl+x+e命令
這個命令對於管理員和開發者非常有用。為了使每天的任務自動化,管理員需要通過輸入vi、vim、nano等開啟編輯器。
僅僅從命令列快速的敲擊“Ctrl-x-e”,就可以在編輯器中開始工作了。
5nl命令
“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
6shuf命令
“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等數字輸出其他任意的隨機選擇。
7ss命令
“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
8last命令
“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
9curl ifconfig.me
那麼如何得到你的外部IP地址呢?使用google?那麼這個命令就在你的終端輸出你的外部IP地址。
# curl ifconfig.me
注意:你可能沒有按照curl包,你需要 apt/yum來按照包。
10tree命令
以樹式的格式得到當前資料夾的結構。
# 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
11pstree
這個命令顯示當前執行的所有程式及其相關的子程式,輸出的是類似‘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}
英文:Tecmint,編譯:Linux中國
linux.cn/article-2258-1.html
雲端計算免費課程火熱開講中,5天運維經典課程免費學,會雲端計算的運維人才到底需要掌握哪些技術,未來前景發展怎麼樣?跟隨行業大咖一起剖根究底,點選文末“閱讀原文”或長按下方二維碼即可報名免費課程!抓住免費學習的機會,逆襲2019~~
PS:記得查收小編送你的免費大禮包呦~
福利 | 一萬多套PPT模板等你免費來拿!無條件領取!
免費送 | 1000多套簡歷模板免費拿,附贈簡歷製作教程!
免費領 | 《Shell指令碼 100例》電子書免費拿,運維必備乾貨~
▼▼點選【閱讀原文】,5天運維免費課程,開講在即!
相關文章
- 7個鮮為人知卻超實用的PHP函式PHP函式
- 11 個鮮為人知的 Linux 命令(1)Linux
- 10 個鮮為人知的 Linux 命令(5)Linux
- 10 個鮮為人知的 Linux 命令(2)Linux
- 10 個鮮為人知的 Linux 命令(3)Linux
- 10 個鮮為人知的 Linux 命令(4)Linux
- 十個鮮為人知的Linux 命令(三)Linux
- 十個鮮為人知的Linux 命令(二)Linux
- 十個鮮為人知的Linux命令 - Part 5Linux
- 15 個鮮為人知的Unix命令
- 推薦六個鮮為人知的 Composer 命令
- 三個不為人知卻非常實用有趣網站網站
- 那些功能逆天,卻鮮為人知的pandas騷操作
- 5個 Google Guava 鮮為人知的特性GoGuava
- 10個鮮為人知的WordPress函式函式
- 5個鮮為人知Java集合特性Java
- 這9個鮮為人知的Python庫,你用過幾個?Python
- 谷歌11款鮮為人知的低調產品谷歌
- 鮮為人知的JavaScript功能JavaScript
- 連線:摩托羅拉15個鮮為人知的事實
- JavaScript 那些鮮為人知的玩法JavaScript
- 25個鮮為人知的谷歌使用技巧——資訊圖谷歌
- 一些實用但不為人知的Unix命令
- 鮮為人知的 Python 語法Python
- 鮮為人知的 PostgreSQL 特性 - hakibenitaSQL
- 鮮為人知的程式設計真相程式設計
- 10款鮮為人知的PHP框架PHP框架
- 一些鮮為人知的程式設計事實程式設計
- 5 個鮮為人知 GNU 偵錯程式(GDB)技巧
- (騷操作)Laravel 中一個鮮為人知的雞肋功能Laravel
- Python:鮮為人知的功能特性(上)Python
- Python:鮮為人知的功能特性(下)Python
- 鮮為人知的python位運算Python
- 有趣且鮮為人知的 Python “特性”Python
- Google鮮為人知的14項服務Go
- 庫克的14件鮮為人知的軼事
- SQL Server 2012鮮為人知的兩個功能MOSQLServer
- Linux中11個比較實用的命令列Linux命令列