閱讀529 返回首頁    go 阿裏雲 go 技術社區[雲棲]


常用 Linux shell & vim 命令

以下是我在工作中常用的 Linux shell 命令,記下來,後續會不斷補充。

  • 查看正在執行的進程

    ps -u username
    
  • 查詢指定的進程ID(27380)打開的文件

    lsof -p 27380
    
  • 殺死指定PID的進程 (PID為Process ID)

    kill PID
    
  • 計算文件的行數、字數或字符數

    wc 
    
  • 顯示進程信息,並實時更新

    top
    
  • 調用top命令的“-H”選項,該選項會列出所有Linux線程

    top -H
    
  • 查看用戶username的進程所打開的文件

    lsof -u username
    
  • 在ps命令中,“-T”選項可以開啟線程查看。下麵的命令列出了由進程號為的進程創建的所有線程

    nohup ps -T -p <pid> &
    
  • 比較兩個文件

    diff file1 file2 -y -W 130
    
  • 後台執行,通過在shell中輸入exit來退出終端

    nohup 命令 &
    
  • 查看正在執行的任務

    jobs
    
  • 多線程執行

    --num-thread 2 
    
  • 查看進程和線程的樹形結構關係

    pstree
    
  • ps命令-L參數顯示進程,並盡量顯示其LWP(線程ID)和NLWP(線程的個數)。

    ps -eLf | grep PID
    
  • ps命令還可以查看線程在哪個CPU上運行

    ps -eo ruser,pid,ppid,lwp,psr,args -L | grep PID
    ps -a
    ps aux | grep PID
    
  • 取出文件前麵幾行

    head [參數]...[文件]...
    -c, --bytes=[-]K 輸出文件的前K個字節;如果有-參數,輸出文件的所有內容但不包含最後K個字節。
    -n, --lines=[-]K 輸出文件的前K行,默認輸出前10行;如果有-參數,則輸出所有內容但不包括最後K行。
    -q, --quiet, --slient 從不輸出給出文件名的首部
    
  • 動態查看文件變化

    tail [必要參數][選擇參數][文件]
    -f --follow 表示持續監測後麵所接的文檔名,直到按下`ctrl c`才會結束tail的監測
    -v --verbase 輸出給出文件名的首部
    -c,--byte=K 輸出最後的K個字節數的內容;或使用-c +k輸出每一行的K個字節數的內容
    -n,--line=K 輸出最後的K行,默認輸出10行.或使用-n +K 輸出從第K行開始的內容
    --pid=PID 與-f合用,表示在進程ID-PID結束之後也結束
    -q --quiet --slient 從不輸出給出文件名的首部
    
  • 退出tail -f

    ctrl+c
    
  • tail程序放到後台去(ctrl+z)等處理完其他事情,再用fg命令將tail命令轉到前台來

    ctrl+z 
    
  • 查看文件夾和子目錄的大小

    du -h --max-depth=1 Speech/
    
  • 設置定時任務

    1.命令格式:
    crontab [-u user] file
    crontab [-u user] [ -e | -l | -r ]
    2.命令功能:
    通過crontab 命令,我們可以在固定的間隔時間執行指定的係統指令或 shell script腳本。時間間隔的單位可以是分鍾、小時、日、月、周及以上的任意組合。這個命令非常設合周期性的日誌分析或數據備份等工作。
    3.命令參數:
    -u user:用來設定某個用戶的crontab服務,例如,“-u ixdba”表示設定ixdba用戶的crontab服務,此參數一般有root用戶來運行。
    file:file是命令文件的名字,表示將file做為crontab的任務列表文件並載入crontab。如果在命令行中沒有指定這個文件,crontab命令將接受標準輸入(鍵盤)上鍵入的命令,並將它們載入crontab。
    -e:編輯某個用戶的crontab文件內容。如果不指定用戶,則表示編輯當前用戶的crontab文件。
    -l:顯示某個用戶的crontab文件內容,如果不指定用戶,則表示顯示當前用戶的crontab文件內容。
    -r:從/var/spool/cron目錄中刪除某個用戶的crontab文件,如果不指定用戶,則默認刪除當前用戶的crontab文件。
    -i:在刪除用戶的crontab文件時給確認提示。
    4. crontab任務設置好後,應該是即時啟動,如果沒有啟動,請檢查任務涉及到的文件權限。
    
  • 查看Linux係統配置

    cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
    
  • vim 每行行首或行行尾插入

    每行的行首都添加一個字符串:%s/^/要插入的字符串
    每行的行尾都添加一個字符串:%s/$/要插入的字符串
    
  • vim 每行開頭去除字符

    去除每行開頭的兩個字符:%s/^..//
    解釋:
    % 代表針對被編輯文件的每一行進行後續操作
    $ 代表一行的結尾處
    ^ 代表一行的開頭處
    
  • 查看二進製文件

    hexdump -C file_name
    

最後更新:2017-07-04 17:02:32

  上一篇:go  學習:Linux & Mac 安裝R程序和R語言包
  下一篇:go  如何在`Linux`服務器上安裝`python`、`pip`、`pytest`