Linux常見問題合集
Linux基本指令
-
- 示例:
mkdir -p project/App;
- 注:刪除多級文件夾:
rm -r 文件夾名
-- 表示循環刪除文件夾,深刻後逐個詢問並刪除
rm -rf 文件夾名
-- f表示強制執行,-rf直接刪除,不詢問。
-
- 管道符「|」將兩個命令隔開,管道符左邊命令的輸出就會做爲管道符右邊命令的輸入。
- 連續使用管道意味着第一個命令的輸出會做爲第二個命令的輸入,第二個命令的輸出又會做爲第三個命令的輸入,依此類推。
-
linux基本指令 awk、find、grep
- AWK是一種處理文本文件的語言,是一個強大的文本分析工具
- grep更適合單純的查找或匹配文本;awk 更適合格式化文本,對文本進行較複雜格式處理
- grep查找具體的文本,find查找文件。
-
grep:-v 不顯示匹配上的內容;-n 顯示匹配上的內容
- grep -v down,顯示不包含down的內容。
- grep -n down,顯示包含down的內容。
-
- 兩種方法:grep+wc;awk。
- grep+wc:
- 當個字符串:
grep 字符串 文件名|wc -l
,grep輸出,wc -l按行統計
- 多個字符串:
grep 'objStr1\|objStr2' filename|wc -l
- awk:
- 語法1:
awk -v RS="@#$j" '{print gsub(/targetStr/,"&")}' filename
- 語法2:
awk '{s+=gsub(/targetStr/,"&")}END{print s}' filename
- 統計文件夾下特定類型文件個數
- 示例:統計文件夾下/mount/taskdata 以.log結尾的文件數量
- 法1:
find /mount/taskdata -name *.log |wc -l
-- find查找特定類型並統計
- 法2:
ls /mount/taskdata/*.log |wc -l
-- ls列出特定類型並統計
-
大文件中查找關鍵字出現的次數
-
查找文件:
- find /(查找範圍) -name 查找關鍵字 -print
- find <指定目錄> <指定條件> <指定動做>
- find的使用實例:
- find . -name 'my*'
:搜索當前目錄(含子目錄,如下同)中,全部文件名以my開頭的文件。
- find . -name 'my*' -ls
: 搜索當前目錄中,全部文件名以my開頭的文件,並顯示它們的詳細信息。
- find . -type f -mmin -10
: 搜索當前目錄中,全部過去10分鐘中更新過的普通文件。
- 若是不加-type f參數,則搜索普通文件+特殊文件+目錄。
- find 能夠與 wc 經過管道鏈接,進行一些統計操做。
-
- 經過查看日誌access_log文件進行統計:
- cat access_log |cut -d ' ' -f 1 | sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 100 | less
- 當前WEB服務器中聯接次數最多的ip地址:
- netstat -ntu | tail -n +3|awk '{ print $5}' | cut -d : -f 1 | sort | uniq -c| sort -n -r | head -n 100
- 經過文件test.txt查詢:
- cat test.txt | awk '{print $2}' | sort | uniq -c | sort -n -r | head -n 100
-
- 格式:uniq [options][file1 [files]]
- uniq -c file:file中的重複行輸出一次,並在每行前顯示重複次數
- uniq -d file:file中的重複行輸出一次,但不輸出惟一的行
- uniq -u file:只輸出file中的惟一行
- uniq file1 file2:把file1中的重複的相鄰行刪除,並把每行的一個拷貝送到file2
- 示例:
cat a.txt|uniq -c
和uniq -c a.txt
得到相同結果
-
awk
-
查看端口
- netstat -tunlp 是查看全部的在使用的端口號狀況
- netstat -tunlp | grep 端口號 是查看所查詢的端口號狀況
- 參數備註:
- -t:(tcp)僅顯示TCP相關端口
- -u:(udp)僅顯示UDP相關端口
- -n:不進行DNS輪詢,顯示IP(能夠加速操做)
- -l:僅列出有在Listen(監聽)的服務端口
- -p:顯示創建相關連接的程序名
-
- 注:存疑,先這樣吧。
- ps:使用場景:兩個不一樣端口的微服務,當咱們測試的時候,須要放到同一臺服務器上,共享80端口訪問
- ps -ef |grep 80

- netstat -anp |grep :80

-
查看進程
- ps -l 列出與本次登陸有關的進程信息;
- ps -aux 查詢內存中進程信息;
- ps -aux | grep *** 查詢***進程的詳細信息;
- top 查看內存中進程的動態信息;
- kill -9 pid 殺死進程。
-
- 操做:esc + 冒號 + set number + 回車
- 顯示行號:
:set number
,能夠簡寫爲::set nu
- 關閉行號:
:set nonumber
,簡寫爲::set nonu
-
- scp:secure copy的縮寫, 是linux系統下基於ssh登錄進行安全的遠程文件拷貝命令,能夠在linux服務器之間複製文件和目錄。
- 格式:scp [參數] [原路徑] [目標路徑]
- 從本地服務器複製到遠程服務器:
- 複製文件: scp local_file remote_username@remote_ip:remote_folder
- 複製目錄: scp -r local_folder remote_username@remote_ip:remote_folder
-
- chmod ABC File
- chmod: 修改文件權限命令。
- rwx:4讀取,2寫入,1執行,
- User、Group、及Other的權限,同組用戶的權限,其餘用戶的權限。
-
- ps -ef 指令用來查詢全部進程,grep經過管道來過濾。grep -v 是反向查詢的意思,grep -v grep的做用是除去包含grep的項。
-
磁盤查詢:
- du:(disk use)顯示每一個文件和目錄的磁盤使用空間。
- df:(disk free)顯示磁盤分區上可使用的磁盤空間。
END
歡迎關注本站公眾號,獲取更多信息