程序員的平常 - 必備Linux經常使用指令(實例)

後端開發人員必備的linux經常使用命令清單與實例,這是我在公司給團隊小夥伴一次技術小分享。內容深刻淺出,簡單明瞭,放出來給你們分享。新手司機能夠收藏、學習,老司機能夠批評指正。
( 本文持續更新中^_^)

系統信息監控/查看

  • psProcess Status的縮寫,ps命令用來列出系統中當前運行的那些進程的快照。java

    • -a 顯示同一終端下的全部程序
    • -A 顯示全部進程
    • -e 等於「-A
    • -f  顯示程序間的關係,pid & ppid
    • -H 顯示樹狀結構
    • -u  指定(當前)用戶的全部進程
    • 示例linux

      • ps -ef
      • ps -aux
  • 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
  • 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
    • 查看app

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

      • 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」,可是計算式,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壓縮
  • grep 文本搜索工具,它能使用正則表達式搜索文本,並把匹 配的行信息打印出來。

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

      • grep -C 10 keywords fileName.log 在文件fileName.log查找關鍵詞keywords先後10行
  • wcWord Count 縮寫,統計指定文件中的字節數、字數、行數,並將統計結果顯示輸出

    • -c 統計字節數
    • -l 統計行數
    • -m 統計字符數。這個標誌不能與 -c 標誌一塊兒使用
    • -w 統計字數。一個字被定義爲由空白、跳格或換行字符分隔的字符串
    • -L 打印最長行的長度
    • 示例

      • wc -m
  • xargs 替換工具,讀取輸入數據從新格式化後輸出。簡單的理解就是經過指定的分隔符(默認空格)切割(split)字符串,而後把處理後的多列數據做爲參數,做爲下一個指令的參數傳入。

    • -a--arg-file=FILE 從指定文件讀取內容
    • -d--delimiter=CHARACTER 指定分隔符,默認空格
    • -n 多行顯示,指定一行顯示的列數
    • 示例

      • echo '--help' | xargs catcat --help
      • jps | awk '{print $1}' | xargs kill -9 關閉全部Java進程

用戶相關操做

  • su - 或 su - root 切換到root用戶
  • exit 退回到上一個用戶
  • whoami 查看當前用戶
  • useradd 添加用戶,全部用戶在配置文件:/etc/passwd

    • -g 組別編號,缺省時表當前用戶組
    • -u 用戶編號
    • -d 家目錄,默認在/home
    • 示例

      • useradd -g 666 -u 666 -d /home/Aron Aron 新建Aron用戶
  • user modify 修改用戶

    • -g 組編號
    • -u 用戶編號
    • -d 家目錄
    • -l 新名字
    • 示例

      • usermod -g 666 -u 666 -d /home/Aron -l Aron2 Aron 注意修改家目錄時須要手動建立
  • userdel刪除用戶

    • -r 刪除用戶同時刪除其家目錄
    • 示例

      • userdel Aron
      • userdel -r Aron 刪除用戶同時刪除其家目錄
  • 設置用戶密碼

    • 示例

      • passwd Aron
  • chmodchange mode,改變文件模式。

    • 語法chmod [-cfvR] [--help] [--version] mode file...,其中,mode是權限設定字串,格式爲[ugoa...][[+-=][rwxX]...][,...],說明:ugoa 中的u爲當前用戶,g當前用戶組,o其餘用戶組,a全部用戶
    • -c 若該文件權限確實已經更改,才顯示其更改動做
    • -f 若該文件權限沒法被更改也不要顯示錯誤訊息
    • -v 顯示權限變動的詳細資料
    • -R 對目前目錄下的全部文件與子目錄進行相同的權限變動(即以遞迴的方式逐個變動)
    • 示例

      • chmod ugo+r file1.txt 將文件file1.txt設置爲全部人可讀
      • chmod u+r,g+w,o+r file1.txt將文件file1.txt設置爲當前用戶可讀,同組可寫,其餘組可讀
      • chmod -R a+rw /home/server 將目錄/home/server以遞歸形式設置爲全部人可讀寫
  • chgrpchange group改變用戶組,語法chgrp [-R] newGroup fileOrDirector

    • -R 遞歸方式查找子目錄
    • 示例

      • chgrp Aron app.java
      • chgrp -R Aron /data
  • chownchange owner改變擁有者

    • 只改擁有者,語法chown [-R] newUser fileOrDirector
    • 修改擁有者,同時修改用戶組,語法 chown [-R] newUser:newGroup fileOrDirector
    • 示例

      • chown Aron app.java
      • chown Aron:AronGroup app.java
相關文章
相關標籤/搜索