###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"
其餘方法:eof 或 expect
- 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無密碼登錄
- ssh-keygen -t rsa 連續三個回車。 看到our public key has been saved in ****
- ssh-copy-id user(遠端用戶名)@host(遠端IP)
- 若是錯誤就用 ssh-copy-id -i ~/.ssh/id_rsa.pub user@host
- ssh user(遠端用戶名)@host(遠端IP)
#####ssh機器別名登錄
vim ~/.ssh/config
Host 別名
HostName 機器名
User 登陸用戶