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


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