天天看點

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,如需轉載請自行聯系原作者