作業でよく使用されるlinuxコマンドの概要

6181 ワード

1.仕事中、よく使うコマンド、まとめて
1.シーン1
シーン1:張三はオンライン上のサービスを担当し、java言語で開発した.ある日、彼は警察に通報を受けて、大体サービスが使えないという意味で、この時、ボスは彼に何が原因なのか調べさせました.次は張三の処理過程ですか.
1.1 javaプロセスを見る
 ps -aux | grep -v 'grep' | grep java --color=auto

このサービスがないjavaプロセスを発見し、張三はボスにこのサービスが止まったと言った.この事はやっと終わった.このサービスのプロセスが存在することを発見し、張三は以下のコマンドを実行し、このサービスの傍受ポートを見て、
実行中のプロセスを表示します.たとえば、プロセスの名前に「reactor」という文字が含まれている場合、コマンドは次のとおりです.
pgrep -f reactor
netstat -lnpt 

張三はこの傍受ポートがあるのを見たが、どれがプロセスが占有しているのか見えなかった.張三の権限の問題で、張三がrootロール権限に切り替えたユーザーは、niubiと仮定した.
sudo -u niubi  -i

張三はこのポートを占有するプロセスを見て、lsof-i:ポート、それから張三はこのポートを傍受するプロセスとさっきps-ef|grep-v‘grep’|grep javaで調べたプロセスと何の関係があるのかを見たいと思って、それから張三は以下のコマンドを使って、pstreeしかし、張三は何も見えず、張三はまたpstree-Aupを実行したこの時、張三は発見しました.この2つのプロセスの親子関係は、プロセスは問題なく、ポートは問題ないと判断しましたが、どうすればいいのでしょうか.実は、アプリのログを見に行くべきだったのですが、まあ、アプリのログを見に行きましょう.
1.2ログを見る
ログファイルはすべて1つの指定のディレクトリに保存して、仮定は/var/apps/logこのディレクトリの下に多くのログがあって、張三、先に以下のコマンドを実行します:ls-lsこんなに多くのログ、どのように見て、張三は当日のログを見つけて、仮定はapp.log.2015-09-12張三はコマンドを使用します
 less -MN app.log.2015-09-12

それからerrorを入力して、何の収穫もなくて、それから張三は命令を実行します:
cat app.log.2015-09-12 | grep Exception --color=auto

多くの異常を発見し、張三はどれだけあるかを見て命令を実行した.
cat app.log.2015-09-12 | grep Exception  | wc -l

(またはgrep Exception app.log.2015-09-12)わあ、まだ多くて、問題は深刻です!しかし、ログからは、IO側の問題かもしれないと分析され、張三は機械の負荷状況を見ることにした.
現在実行されている指定されたフォーマットのログファイルを見つけます.簡単な方法があります(ここでは、myserviceのプロセスId(pid)を取得するために逆引用符とpgrepを使用します).
tail -n100 -f /data/log/192.168.218.141-`pgrep -f myservice_id`-2017-09-05.0.log 

上記の例から、反引用符の機能がシーンを使用していることがわかります.
1.3負荷を見る
いくつかのcpuを表示する方法は、次のとおりです.
  top,    1  

張三はコマンドtopを実行し、張三はいくつかのcpuとメモリの使用状況を見て、それから目にゾンビ(zombie)プロセスがあるかどうかを見て、大丈夫だと思います.それから張三はまたディスクの使用状況を見ました.
df -hl

リソースを占有するプロセスを表示する方法は、次のとおりです.
  top,  shift + p    

问题は何もなくて、それから今のディレクトリの総量の占用状况を见て、命令を実行します:du-sh./同じく问题がなくて、du-sh*命令を実行して、すべてのログのファイルの大きさを见て、何もなくて、张三は本当に问题を解决することができなくて、狂っています!!!
シーン2:
ある日、張三は多くのファイルを開く必要があるプログラムを起動して、いつもファイルを開くことができなくて、経験によって、張三は命令で見るべきだと思っています:ulimit-aは発見して、もとのシステムのファイルの開く数量の制限は1024で、張三は現在開いているのがどれだけあるかを見て、命令lsof|wc-lを実行してそれから張三はulimitの大きさを調整して、OKになりました.
ファイル
圧縮ディレクトリ/data/logの下のすべてのファイル、ファイル名はdatalog.zipで、コマンドは以下の通りです.
zip -r datalog.zip /data/log/

Others
その後、張三は以下のコマンドを学びました.物理cpuの個数は以下の通りです.
cat /proc/cpuinfo | grep 'physical id' | sort | uniq | wc -l 

各物理CPUにおけるcoreの個数(すなわちコア数)は、以下のようになる.
cat /proc/cpuinfo| grep 'cpu cores' | uniq

メモリ使用量を確認するには、次の手順に従います.
free -m

HDDの使用状況を確認するには、次の手順に従います.
fdisk -l
df -h

ディレクトリ・サブファイルのディスク使用量を表示するコマンドは、次のとおりです(max-depthは再帰的なディレクトリ・レベルを示します).
du -h --max-depth=1 ./

I/Oパフォーマンスの表示:
iostat

負荷の表示
uptime

システムカーネルの表示
uname -a

使用するLinuxリリースに関する情報を表示します.
lsb_release -a

照会PCI設定
lspci

NICモデルの照会
lspci | grep Ether

システムルーティングテーブルの表示
route -n

または、次のコマンドを実行します.
netstat -r

ネットワークパケットのパスのトレース
traceroute www.163.com

シーン3:张三の会社の机械の上の命令の多くはすべて别名になって、张三は见てみたくて、それから张三は以下の命令を実行します:
alias

奇技淫巧