令人大呼神器的命令行集錦
學好linux 命令很重要,可能就是那麼簡單一個命令,但是可以完成許多不可思議的操作,這裏列出了一些平時讓我覺得耳目一些的命令,這裏只是一個引子,起到拋磚引玉的作用,學好他們,你講會大有收穫。
1 查詢主機公網ip-curl
curl功能很強大,各種網絡http操作的利器,詳情請自己百度,但是查主機公網ip算是一個新奇而實用的功能,總歸要感謝這些提供這種功能的網站cip.cc、icanhazip.com ;
這裏列出幾個這樣的域名,多列幾個主要是爲了備份,網站也需要維護,不見得任何時候他們都ok。
curl cip.cc
curl ifconfig.me
curl icanhazip.com
#### 顯示詳細信息
curl ipinfo.io/json
2 做個隧道訪問私網-ssh
你可能經常用ssh連接遠程查看,但是它還有兩個令人嘖嘖的功能,做代理以及做私網隧道,請自行查看ssh做socket5代理以及使用ssh實現ssl隧道,他們通常需要一個公網服務器,然後如果某天你在家裏也想訪問公司私網,就請直接連接你之前打通的按個隧道,詳細過程請自查;
ssh -Nf -R 5060:127.0.0.1:22 123.123.123.123
3 刷選日誌-grep
看日誌是個眼力活,可是你會用正則表達的話就是個技術活,比如如下這個命令,將日誌裏面的500–999ms
的關鍵詞提取出來,有沒有 覺得方便多了,一下搞定。
cat a.txt | grep -E "[5-9][0-9]{2}ms"
4 統計文件長度、詞數、字節數-wc
wc你可能經常用,但是這麼簡單的用來統計文件,應該不多,這裏的主要支持點是輸入重定向;
wc < test.txt
5 文本行處理-sed
sed是個高級基於行的批量處理工具;
6 行列處理-awk
awk '{ x += $3 } END { print x }' myfile
計算文本文件第三列中所有數的和(可能比同等作用的 Python 代碼快三倍且代碼量少三倍)
akw可以搞定sed做的大部分事情,但是比sed更全面;
7 查找請認識find
按文件大小、類型、時間、目錄、關鍵詞、正則表達式查找,請自行學習;
他的威力是和管道、xargs以及awk這些一起合用體現出來的。
8 比較差異 diff
這裏想突出的是三個知識點:
- diff用於比較文本
- 通過使用
<(some command)
可以將輸出視爲文件。 - ssh的遠程執行命令;
diff /etc/hosts <(ssh somehost cat /etc/hosts)