天天看点

Shell 使用技巧

   1、搜索曾经用过的命令  

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

      History | grep 进行过滤

   2、查看某端口ip连接情况,比如3306

1

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

   3、查看某yum源,rpm包具体名称:

<code>yum list | </code><code>grep</code> <code>percona</code>

   4、只下载rpm 包,不进行安装

2

<code>yum -y </code><code>install</code> <code>yum-utils</code>

<code>yumdownloader  rpmfile</code>

   5、调试某脚本:

<code>sh -x  scriptfile</code>

   6、SSH debug 模式:

<code>ssh</code> <code>-vvv user@ip_address</code>

   7、一次创建多个目录:

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

   8、解压文件至新目录:

<code>tar</code>  <code>zxvf -C new_dir  package.</code><code>tar</code><code>.gz</code>

<code>unzip package_name.zip -d dir_name</code>

   9、删除大小大于30M的文件:

<code>find</code> <code>dir</code> <code>-size +30M | </code><code>xargs</code> <code>-i </code><code>rm</code> <code>-f </code><code>'{}'</code>

   10、重复运行某脚本(某命令),显示其输出(缺省是2秒一次):

<code>watch</code> <code>ps</code> <code>-ef</code>

   11、grep匹配整个字段

<code>grep</code> <code>-w </code><code>'name'</code> <code>filename</code>

<code>grep</code> <code>'\bname\b'</code> <code>filename</code>

   12、查看某进程使用文件句柄个数:

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

   13、内核从Linux 2.6.32 开始,在线调整最大process,无需重启应用:

<code>echo</code> <code>-n </code><code>"Max processes=204800:204800"</code> <code>&gt; </code><code>/proc/</code><code>`pid`</code><code>/limits</code>

   14、刷写memcache 缓存:

<code>echo</code> <code>"flush_all"</code> <code>| nc  127.0.0.1 11210</code>

   15、当Ctrl + c不好使时:

<code>Ctrl + \</code>

   16、在bash历史记录里禁止记录最后一次会话:

<code>kill</code> <code>-9 $$</code>

   17、扫描网络寻找开放的端口:

<code>nmap -p 8081 172.20.0.0</code><code>/16</code>

   18、检查远程端口是否对bash开放:

<code>echo</code> <code>&gt;</code><code>/dev/tcp/8</code><code>.8.8.8</code><code>/53</code> <code>&amp;&amp; </code><code>echo</code> <code>"open"</code>

   19、产生随机的十六进制数,其中n是字符数:

<code>openssl rand -hex n</code>

   20、检查某文件的md5值:

<code>md5sum filename</code>

   21、在当前shell里执行一个文件里的命令:

<code>source</code> <code>/home/user/file</code><code>.name</code>

   22、截取前5个字符:

<code>${variable:0:5}</code>

   23、MySQL主从延迟过大,分析某段时间 binlog 操作数量

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

<code></code>

本文转自 位鹏飞 51CTO博客,原文链接:http://blog.51cto.com/weipengfei/1340703,如需转载请自行联系原作者