Shell 使用技巧

   1、搜索曾經用過的命令  

      Ctrl + r 會提示:(reverse-i-search)`': 進行模式匹配即可

      History | grep 進行過濾

   2、查看某端口ip連接情況,比如3306

netstat -ano | grep 3306 | awk '{print $5}' | awk -F ':' '{print $1}' | sort | uniq -c

   3、查看某yum源,rpm包具體名稱:

yum list | grep percona

   4、只下載rpm 包,不進行安裝

yum -y install yum-utils
yumdownloader  rpmfile

   5、調試某腳本:

sh -x  scriptfile

   6、SSH debug 模式:

ssh -vvv user@ip_address

   7、一次創建多個目錄:

mkdir -p /home/user/{test,test1,test2}

   8、解壓文件至新目錄:

tar  zxvf -C new_dir  package.tar.gz
unzip package_name.zip -d dir_name

   9、刪除大小大於30M的文件:

find dir -size +30M | xargs -i rm -f '{}'

   10、重複運行某腳本(某命令),顯示其輸出(缺省是2秒一次):

watch ps -ef

   11、grep匹配整個字段

grep -w 'name' filename
grep '\bname\b' filename

   12、查看某進程使用文件句柄個數:

lsof -n | awk '{print $2}' | sort | uniq -c | grep pid

   13、內核從Linux 2.6.32 開始,在線調整最大process,無需重啓應用:

echo -n "Max processes=204800:204800" > /proc/`pid`/limits

   14、刷寫memcache 緩存:

echo "flush_all" | nc  127.0.0.1 11210

   15、當Ctrl + c不好使時:

Ctrl + \

   16、在bash歷史記錄裏禁止記錄最後一次會話:

kill -9 $$

   17、掃描網絡尋找開放的端口:

nmap -p 8081 172.20.0.0/16

   18、檢查遠程端口是否對bash開放:

echo >/dev/tcp/8.8.8.8/53 && echo "open"

   19、產生隨機的十六進制數,其中n是字符數:

openssl rand -hex n

   20、檢查某文件的md5值:

md5sum filename

   21、在當前shell裏執行一個文件裏的命令:

source /home/user/file.name

   22、截取前5個字符:

${variable:0:5}

   23、MySQL主從延遲過大,分析某段時間 binlog 操作數量

mysqlbinlog -vvv --start-datetime='xxxx'  --stop-datetime='xxx'  binlogfiles  |  awk '/###/{if($0~/UPDATE|INSERT|DELETE/)count[$2" "$NF]++}END{for(i in count)print i,"\t",count[i]}' | column -t | sort -k3nr


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章