常用系列は、自分のプログラミングでよく使うものを記録するものであり、この記事は常用系列の第 1 篇で、日常の開発プログラミングでよく使う Linux コマンドを記録し、必要な時に参照できるようにするためのものです。
ディレクトリの表示#
ls#
tree#
現在のディレクトリのファイル構造を表示
ファイルの権限を変更#
ファイルの内容を表示#
more#
less#
tail#
パイプ関連#
wc#
grep#
xargs#
xargs は入力データを特定のコマンドのコマンドライン引数に変換することができ、これにより多くのコマンドと組み合わせて使用することができます。例えば
grep
、find
;
cut#
各行から一部の内容を削除するために使用
ファイルを探す#
locate#
パス名でファイルを探し、/var/lib/mlocate/ このデータベース内で検索し、メモリに保存され、毎日更新されるため、locate で新しく作成されたファイルを検索することはできません。updatedb を使用してデータベースを即座に更新できます。
システムに
locate
コマンドが付属していない場合は、yum install mlocate -y
を使用してインストールし、インストールが完了したらupdatedb
コマンドを実行します。
find コマンド#
ファイル名でファイルを探す
sed テキスト置換#
sed は一般的にテキスト内容を置換するために使用され、操作は行単位で行われます
sed の基本的な作業方式は:
- ファイルを行単位でメモリに読み込む(このメモリはモードスペースとも呼ばれます)
- sed の各スクリプトを使用してその行を操作する
- 処理が完了した後、その行を出力する
形式
sed ‘操作コマンド’ 1 つ以上のファイル
Bash キーボードテクニック#
アーカイブとバックアップ#
gzip#
単一または複数のファイルを圧縮
gunzip#
ファイルを解凍
zip#
.zip ファイルに圧縮およびアーカイブ
unzip#
.zip ファイルを解凍
tar#
複数のファイルまたはディレクトリをアーカイブ
ディスクスペースの確認#
プロセスの確認#
ps#
top#
lsof#
その他#
プロセスを終了する#
スレッドスタックの分析#
pmap コマンドを使用して、プロセスのメモリ状況を出力し、スレッドスタックを分析することができます;
パフォーマンスモニタリング#
CPU の監視#
メモリの確認#
ポート占有の確認#
ページスワップの確認#
ページスワップが発生した状況を確認します。ページスワップが発生すると、サーバーのスループットが大幅に低下します。サーバーの状態が悪い場合、メモリ不足が原因でページスワップが発生していると疑われる場合は、sar -W コマンドを使用して大量のスワップが発生しているかどうかを確認できます;
総合的な応用#
システムで sar が使用できない場合、以下のツールを代替として使用できます:Linux では vmstat、Unix システムでは prstat
例: CPU、メモリ、使用状況を確認: vmstat n m (n は監視頻度、m は監視回数)
watch ツールを使用して変化を監視する。特定のデータの変化を持続的に監視する必要がある場合、watch ツールが要件を満たします。watch コマンドを実行すると、監視されているデータが出力され、データが変化すると、その変化がハイライト表示されます;
例:redis を操作する際、メモリの変化を監視:
ping#
指定されたホストに ICMP パケットを送信し、ホストとのネットワーク接続を確認します。送信の間隔は 1 秒で、Ctrl + C で送信を中断し、正常なネットワークでは 0% のパケット損失率が表示されます
traceroute#
ネットワークがローカルから目的のホストに到達するまでのすべてのホップをリストします
ip#
多機能のネットワーク設定ツールで、システムのネットワークインターフェースとルーティングテーブルを確認するために使用されます
- 複数のネットワークインターフェースを表示し、一般的なインターフェース:
- lo:ループバックインターフェース、システムが「自分自身と対話する」ために使用する仮想インターフェース
- eth0: イーサネットインターフェース
- インターフェースの最初の行に
UP
という文字が含まれている場合、そのインターフェースは有効であることを示します - 3 行目の inet フィールドは、そのネットワークインターフェースの IP アドレスです
netstat#
様々なネットワーク設定と統計情報を確認するために使用され、
net-tools yum install net-tools
をインストールする必要があります
ssh#
ローカルホストとリモートホスト間の通信に使用されます