躺床上翻 qq空間的時候翻到了當年軟神推薦的常用指令 , 陰神看了看也說好像沒什么需要補充的 , 沒想到3年后我還有一半指令不熟悉, 干脆整理一下.此次整理不打算像其它博客一樣追求大而全只收集不記憶, 實實在在的計劃是記憶一條后再列出該條,如果用的不熟就不假裝自己會用
指令名 | 常用操作 | 解釋 |
---|---|---|
grep |
ls | grep pattern
|
管道過濾,可加-v 反轉匹配 |
grep "\".*\"" main.cpp |
可以添加正則表達式 來識別文件中的 包含匹配字符串的一行 |
|
grep "text" . -r -n |
在多級目錄中對文本遞歸搜索 類似 vscode 中的 cmd+shift+F
|
|
grep -n "^$" FFT6.cos | wc -l
|
匹配空行 其中-n輸出行號, ^ 表示行首$ 行尾所以 ^$ 是空行 |
|
wc |
ls |wc -l wc -w xxx.file
|
-l 代表行數(shù)(常用),-w 代表字符數(shù) |
tail head |
tail -n 5 xx.log |
顯示文件末尾內(nèi)容, -n 5 是倒數(shù)5行-n +5 是從第5行開始直到尾巴 head 是顯示頭部 n 行 |
cat | cat -n xx.file |
展示文件內(nèi)容,-n 顯示行號 |
cat file1 file2 > out.file |
拼接文件 | |
less |
less xx.file history |less
|
以可翻頁形式閱讀大段內(nèi)容 G - 移動到最后一行 g - 移動到第一行 |
more |
與 less 類似 ,一次讀取一整個文件 |
space 下一頁, b 上一頁, / 字符串查找 |
cut | cut -c 25-59 BALANCE.txt |
可以用于處理 CSV 文件,對我不太常用 |
ln | ln -s /opt/nodejs/bin/pm2 /usr/bin/pm2 |
硬鏈接 -s 軟鏈接 ... |
tar |
tar -jxvf tar.bz2 tar -zxvf tar.gz
|
tar只是打包,另一個后綴是壓縮x 解壓,v 輸出詳細信息,f 指定壓縮文件,j bz2壓縮,z gz壓縮 |
chmod chown |
chmod -R 770 xxdir chown lxx:lxx xxdir -R
|
設置777的話會讓文件夾變綠色, 只是不想這樣顯示的話,可以設置754的權限,然后通過chown -R 來改變文件夾權限 |
uniq sort |
cat /var/log/nginx/access.log |awk '{print $1}' |sort |uniq -c |sort -rn |head -2
|
統(tǒng)計出access.log中訪問量最多的2個ip uniq -c 行首位置輸出行重復的次數(shù)sort -rn r 是降序,n 代表取數(shù)值而非字符串uniq -c 行首位置輸出行重復的次數(shù) |
使用上面指令訪問/home/www/learn-vue-eleme/log 來獲取 GET 請求分布 |
||
awk |
cat /home/www/learn-vue-eleme/log |awk -F "\"" '{print $5}'
|
-F 指定分隔符, 然后awk 指令會對每行切片輸出.本例中輸出的是$5 即訪問者的 UA 信息 |
除了 print awk 還有很多強大的函數(shù) |
||
find & xargs |
find . -name "*.cpp" |xargs cat
|
相比-exec xargs命令每次只獲取一部分文件而不是全部如果不加xargs 直接 管道符 cat 得到的是對文件名的處理,加了xargs 后才是對文件內(nèi)容的處理 |
sed | sed -n '5,7p' xx.file |
輸出一個文件的指定行 |
curl | curl -X POST --data-urlencode "a=42" xx.com:80 |
向xx.com:80 發(fā)送 POST 請求, --data-urlencode 參數(shù)可以用來處理未轉義的字符串 -X 參數(shù)用來標記默認GET 之外的請求 |
curl -I -L -H "Accept-Encoding: gzip" xx.cn |
檢查服務器是否開啟了 gzip 壓縮-I 只顯示res 的頭-L 自動重定向跳轉-H 以后面的參數(shù)作為請求頭,有些人會在gzip 后指定壓縮算法gzip,deflate
|