Linux經常使用命令

###inux經常使用命令html

#####1. ssh&scp 遠程服務器操做node

  • ssh 登陸遠程服務器
    用法:ssh user(遠端用戶名)@host(遠端IP)
    示例:ssh root@192.168.1.9
  • ssh 遠程服務器執行指定命令
    用法:ssh user@host "命令; 命令"(前提條件,ssh無密碼登陸,配置方法在備註)
    示例:ssh root@192.168.1.9 "cd /home; ls"
    其餘方法:eofexpect
  • scp 上傳服務器上的文件
    用法:scp /path/file(這部分爲本地的路徑) user(遠端目標用戶名)@host(遠端目標IP):/pathorfile(文件存儲路徑)
    示例:scp ~/* root@192.168.1.9:/home/
  • scp 下載服務器上的文件
    用法:scp user(遠端用戶名)@host(遠端IP):/path/file(下載文件在遠端的路徑) localpathorfile(本地文件存放路徑)
    示例:scp root@192.168.1.9:/home/root/conf/* ~/

#####2. cd 目錄操做web

  • cd -
    功能:返回進入此目錄以前所在的目錄
  • cd !$
    功能:把上個命令的參數做爲cd參數使用,!$是取上一個命令的最後一個字符串做爲參數

#####3. tail 顯示文件內容正則表達式

  • tail -f file(文件名)
    功能:把文件裏最尾部的內容顯示在屏幕上,而且不但刷新,使你看到最新的文件內容

#####4. grep 內容匹配shell

  • grep "被查找的字符串" 文件名
    功能:從文件內容查找匹配指定字符串的行
    示例:grep "thermcontact" */*.in(在當前目錄裏第一級文件夾中尋找包含指定字符串的.in文件 )
  • grep –i "被查找的字符串" 文件名
    功能:查找時不區分大小寫
  • grep –e "正則表達式" 文件名
    功能:從文件內容查找與正則表達式匹配的行
  • grep -v "被查找的字符串" 文件名
    功能:查找不保證指定字符串的行
  • grep -2 "被查找的字符串" 文件名 or grep -C 2 "被查找的字符串" 文件名 功能:從文件內容查找匹配指定字符串的行 ,並輸出先後2行
  • grep -A 2 "被查找的字符串" 文件名
    功能:從文件內容查找匹配指定字符串的行 ,並輸出後2行
  • grep -B 2 "被查找的字符串" 文件名
    功能:從文件內容查找匹配指定字符串的行 ,並輸出前2行
  • grep -F -f a.txt b.txt | sort | uniq
    功能:求a.txt b.txt 的交集
  • grep -F -v -f a.txt b.txt | sort | uniq
    功能:求差集b.txt - a.txt

#####5. wc 信息統計vim

  • wc -l 文件名
    功能:輸出文件行數統計
  • wc -w 文件名
    功能:輸出單詞數統計

#####6. 經過程序名殺進程服務器

  • ps -ef | grep processname(程序名) | grep -v grep | awk {'print $2'} | xargs kill -9

#####7. sort 排序網絡

#####8. uniq 去重ssh

#####9. nohup 以守護進程啓動curl

#####10. 壓縮和解壓縮

  • gz壓縮
    gzip filename filename.gz 不保留源文件
    gzip –c filename > filename.gz 保留源文件
  • gz解壓縮
    gunzip filename.gz 不保留源文件
    gzip -d filename.gz 不保留源文件
    gunzip –c filename.gz > filename 保留源文件
  • tar打包
    tar -cvf filename.tar filename 將filename打包成filename.tar
  • tar解包
    tar -xvf filename.tar
  • tar.gz壓縮
    tar -zcvf filename.tar.gz filename 將filename壓縮成filename.tar.gz
  • tar.gz解壓縮
    tar -zxvf filename.tar.gz
  • zip壓縮
    zip filename.zip filename 將filename壓縮成filename.zip
  • zip解壓縮
    unzip filename.zip
  • rar壓縮
    rar a filename.rar filename 將filename壓縮成filename.zip
  • rar解壓縮
    rar x filename.rar

#####11. ln 連接

  • ln -s sourceFile lnName 給sourceFile增長一個軟鏈接lnName

#####12. find 查找

  • find path -name "filename" 在path路徑中查詢filename,能夠使用*來匹配

#####13. du 統計文件大小

  • du -sh 當前目錄大小
  • du -h --max-depth=1 當前目錄的子目錄的大小

#####14. 查詢swap使用量前十的進程

  • for i in $(cd /proc;ls | grep "^[0-9]" | awk '$0>100'); do sudo awk '/Swap:/{a=a+$2}END{print '"$i"',a/1024"M" }' /proc/$i/smaps;done| sort -k2nr | head

#####15. 查看外網ip

  • curl ifconfig.me
  • curl ip.cn

#####16. 多臺機器執行相同命令

  • atnode 'shell命令' '機器名'
  • 例子: atnodes 'grep xxx /home/www/web/logs/catalina.out' 'host[1-6].cn'

#####17. 釋放swap

  • free -m (查看機器剩餘的物理內存,是否夠用)
  • swapoff -a && swapon -a (關閉 再 打開 swpa)
  • watch -n 1 free -m (開另外一個終端窗口,觀察swap釋放過程)
  • 觀察直到swap釋放完,並從新開啓swap爲止(swap total不爲零,swap used爲零)

#####18. iftop查看網絡流量

###備註
#####ssh無密碼登錄

  1. ssh-keygen -t rsa 連續三個回車。 看到our public key has been saved in ****
  2. ssh-copy-id user(遠端用戶名)@host(遠端IP)
  3. 若是錯誤就用 ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
  4. ssh user(遠端用戶名)@host(遠端IP)

#####ssh機器別名登錄
vim ~/.ssh/config

Host          別名
HostName  機器名
User          登陸用戶
相關文章
相關標籤/搜索