一般的なshellコマンド(継続更新)

2154 ワード

サフィックス名を一括で変更します。たとえば、現在のディレクトリのcppファイルを.cファイルに変更します。
ls *.cpp | awk -F'.' '{print $1}' | xargs -I {} mv {}.cpp {}.c
指定されたファイルを指定されたディレクトリに移動します。例えば、現在のディレクトリのJavaファイルを/dirに移動します。
ls *.java | xargs -I {} mv {} /dir
統計は現在TIME_にあります。WAIT状態のTCP接続個数(騰訊面接問題)
netstat -tan | awk '{print $6}' | grep "TIME_WAIT" | wc -l
現在のディレクトリの下にあるファイルの中で最も頻度が高い10の単語を統計します。(ファイル名をfileと仮定します。)
cat file | sort | uniq -c | sort -rn | head -10
現在のディレクトリの下にあるファイルの単語数を統計します。
cat file | sort | uniq -c
テキストの空行を削除します。 
cat file | sed '/^$/d
grep -v "^$" file
本機のIPアドレスを抽出します。
ifconfig eth0 | awk 'NR==2{print $0}' | awk -F":" '{print $2}' | awk '{print $1}'
現在のディレクトリの下で.cファイルの個数を統計します。
ls *.c | wc -l
.現在のディレクトリの下で.cファイルの総行数を統計します。
ls *.c | xargs wc -l
ネットワーク接続状態数
netstat -ant |sed '1,2d' |awk '{print $6}' |sort |uniq -c |sort -n
パーティションの空き領域がなくなっていることが判明したら、そのパーティションのマウントポイントにアクセスし、以下のコマンドで最も多くのファイルやディレクトリを探してください。
du -cks * | sort -rn | head -n 10
メモリのサイズを確認します。
free -m | grep "Mem" | awk '{print $2}'
対端80ポートとの接続を確認します。
 netstat -ant | grep ":80" | grep "ESTABLISHED"|awk '{print $4,$5}'
0バイトのファイルを削除
find . -type f -size 0 -exec rm -rf {} \;
ネットワークキャプチャー、直接に要約情報をファイルに出力します。
tcpdump -c 10000 -i eth0 -n dst port 80 > /root/pkts
cpuの負荷が一番高い10のプロセスを確認します。
ps aux |awk '{if(NR!=1) print $11,$3}' |sort -k2 -rn | head -10
システムの運行時間を確認します。
uptime | awk '{print $3}' | awk -F"," '{print $1}'