1. 程式人生 > >必備Linux常用指令(例項)

必備Linux常用指令(例項)

後端開發人員必備的linux常用命令清單,這是我在公司給團隊小夥伴一次技術小分享的內容。還沒來得及整理好格式,先放上來跟大家分享。新手司機可以收藏、學習,老司機可以批評指正。
  • ps 是Process Status的縮寫,ps命令用來列出系統中當前執行的那些程序的快照。

    • -a 顯示同一終端下的所有程式
    • -A 顯示所有程序
    • -e 等於“-A”
    • f  顯示程式間的關係,pid & ppid
    • -H 顯示樹狀結構
    • u  指定(當前)使用者的所有程序
    • 示例

      • ps -ef
      • ps -aux
  • grep 文字搜尋工具,它能使用正則表示式搜尋文字,並把匹 配的行資訊打印出來。

    • -A 前多少行,不包括當前行
    • -B 後多少行,不包括當前行
    • -C 前後多少行,不包括當前行
    • -c 統計行數
    • -i 忽略大小寫
    • 示例

      • grep -C 10 keywords fileName.log 在檔案fileName.log查詢關鍵詞keywords前後10行
  • netstat 檢視訪問網路連線狀態

    • -a或–all 顯示所有連線中的Socket
    • -n或–numeric 直接使用IP地址,而不通過域名伺服器
    • -p或–programs 顯示正在使用Socket的程式識別碼和程式名稱
    • -t或–tcp 顯示TCP傳輸協議的連線狀況
    • -u或–udp 顯示UDP傳輸協議的連線狀況
    • 示例

      • netstat -apn | grep 8080
      • netstat -apnt | grep 8080
  • vi 編輯器常用命令

    • 編輯 a
    • 檢視

      • /word
      • 查詢上一個 n
      • 查詢下一個 N
    • 替換

      • xxx
    • 撤回、重做 uctrl + r
    • 複製

      • 從游標當前位置開始 v
      • 從游標當前行開始 V
    • 貼上

      • p
    • 刪除

      • 字元 xX
      • 單詞 diwdaw
      • dd
    • 新增行

      • 上一行 O
      • 下一行 o
    • 翻頁 ctrl + d, ctrl + u
    • 顯示行號 : set nu
    • 顯示當前行資訊 ctrl + g
      • 0
      • $
      • 第一行 gg
      • 最後一行 G
      • (
      • )
      • {
      • }
    • 螢幕

      • 上滾 ctrl + v
      • 下滾 ctrl + e
      • 上半屏 ctrl + u
      • 下半屏 ctrl + d
      • 上滾整屏 ctrl + b
      • 下滾整屏 ctrl + f
    • 儲存退出

      • w 儲存
      • q 退出
      • q! 不儲存,強制退出
  • df 檢查linux伺服器的檔案系統的磁碟空間佔用情況

    • -T 檔案系統型別
    • -h 方便閱讀方式顯示,,1K=1024
    • -H -H 等於“-h”,但是計算式,1K=1000,而不是1K=1024
    • -l 只顯示本地檔案系統列表
    • -k 區塊為1024位元組
    • -a 全部檔案系統列表
    • 示例

      • df -hl
  • du 檢視檔案和目錄磁碟使用的空間

    • -a 顯示當前目錄以及子目錄下所有的檔案大小
    • -h 自動轉換單位 M,GB
    • -s 統計總大小
    • 示例

      • du -a
      • du -sh 當前目錄大小
  • find 查詢檔案,配合正則使用更佳

    • -name 名字
    • -size 大小
    • -type 型別
    • 示例

      • find /home/server -name server.xml 查詢/home/server下名字為server.xml的檔案
      • find . -type d | sort 查詢當前所有目錄並排序
      • find . -size +1000c -print 查詢當前目錄大於1K的檔案
  • tail 從指定點開始將檔案寫到標準輸出

    • 示例

      • tail -20f app.log
  • tar 打包工具

    • -c 新建壓縮檔案,與 x 逆操作
    • -v 顯示操作過程
    • -f 指定壓縮檔案
    • -x 解壓縮檔案 與 c 反向操作
    • -z 支援gzip解壓檔案
    • 示例

      • tar -xvf name.tar.gz 解包
      • tar -cvf name.tar.gz /dir 打包,未壓縮
      • tar -zxvf name.tar.gz 解包,gzip解壓縮
      • tar -zcvf name.tar.gz /dir 打包,gzip壓縮
  • top 效能分析工具,能夠實時顯示系統中各個程序的資源佔用狀況,類似於Windows的工作管理員

    top - 14:06:23 up 70 days, 16:44,  2 users,  load average: 1.25, 1.32, 1.35
    
    Tasks: 206 total,   1 running, 205 sleeping,   0 stopped,   0 zombie
    
    Cpu(s):  5.9%us,  3.4%sy,  0.0%ni, 90.4%id,  0.0%wa,  0.0%hi,  0.2%si,  0.0%st
    
    Mem:  32949016k total, 14411180k used, 18537836k free,   169884k buffers
    
    Swap: 32764556k total,        0k used, 32764556k free,  3612636k cached
    
      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                
    
    28894 root      22   0 1501m 405m  10m S 52.2  1.3   2534:16 java
  • wc 是 Word Count 縮寫,統計指定檔案中的位元組數、字數、行數,並將統計結果顯示輸出

    • -c 統計位元組數
    • -l 統計行數
    • -m 統計字元數。這個標誌不能與 -c 標誌一起使用
    • -w 統計字數。一個字被定義為由空白、跳格或換行字元分隔的字串
    • -L 列印最長行的長度
    • 示例

      • wc -m