Linux常見問題合集

麪筋分類彙總-測開向

Linux經常使用命令小結

Linux基本指令

  • Linux 建立多級目錄命令: mkdir -p

    • 示例: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的內容。
  • linux命令:找出關鍵字出現的次數

    • 兩種方法: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 經過管道鏈接,進行一些統計操做。
  • shell腳本:如何查找出現頻率最高的100個ip地址

    • 經過查看日誌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
  • shell:統計一個文件中重複的行和重複次數

    • 格式: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 -cuniq -c a.txt得到相同結果
      • 注:只獲取重複行,用unqi -d的參數d
  • awk

    • 待續
  • 查看端口

    • netstat -tunlp 是查看全部的在使用的端口號狀況
    • netstat -tunlp | grep 端口號 是查看所查詢的端口號狀況
    • 參數備註:
      • -t:(tcp)僅顯示TCP相關端口
      • -u:(udp)僅顯示UDP相關端口
      • -n:不進行DNS輪詢,顯示IP(能夠加速操做)
      • -l:僅列出有在Listen(監聽)的服務端口
      • -p:顯示創建相關連接的程序名
  • 找到共用80端口的線程

    • 注:存疑,先這樣吧。
    • ps:使用場景:兩個不一樣端口的微服務,當咱們測試的時候,須要放到同一臺服務器上,共享80端口訪問
    • ps -ef |grep 80
    • netstat -anp |grep :80
  • 查看進程

    • ps -l 列出與本次登陸有關的進程信息;
    • ps -aux 查詢內存中進程信息;
    • ps -aux | grep *** 查詢***進程的詳細信息;
    • top 查看內存中進程的動態信息;
    • kill -9 pid 殺死進程。
  • vim 顯示全部行的行號::set number

    • 操做:esc + 冒號 + set number + 回車
    • 顯示行號::set number,能夠簡寫爲::set nu
    • 關閉行號::set nonumber,簡寫爲::set nonu
  • linux 如何將文件從一臺服務器轉移到另外一臺服務器

    • 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
        • 參數 -r :遞歸複製整個目錄
  • 權限修改命令

    • chmod ABC File
    • chmod: 修改文件權限命令。
    • rwx:4讀取,2寫入,1執行,
      • User、Group、及Other的權限,同組用戶的權限,其餘用戶的權限。
  • ps -ef | grep xxxserver | grep -v grep|wc -l

    • ps -ef 指令用來查詢全部進程,grep經過管道來過濾。grep -v 是反向查詢的意思,grep -v grep的做用是除去包含grep的項。
  • 磁盤查詢:

    • du:(disk use)顯示每一個文件和目錄的磁盤使用空間。
    • df:(disk free)顯示磁盤分區上可使用的磁盤空間。

END

相關文章
相關標籤/搜索