zshの設定ファイルについてまとめました

Linuxコマンド大全:効率的なサーバー管理とトラブルシューティングのための必須コマンド集


Linuxでのサーバー管理や開発作業を効率的に行うために、知っておくべきコマンドをまとめました。ここでは、パーミッションを保持したままファイルを圧縮・解凍する方法、サーバーのリソース監視、実行中プロセスの確認、ディレクトリ内の文字列検索、そしてリアルタイムログの確認方法について詳しく解説します。

パーミッションを保持したままのファイル圧縮と解凍

  • ファイルの圧縮

    tar cvzfp xxxxx.tar.gz ディレクトリ名
    • tar: アーカイブファイルの作成や展開を行うコマンド。
    • c: 新しいアーカイブを作成。
    • v: アーカイブ作成中に処理ファイル名を表示。
    • z: gzipで圧縮。
    • f: 出力ファイル名を指定。
    • p: ファイルのパーミッション(所有権やアクセス権)を保持。

    注意: オーナー情報を正確に保持するためには、root権限で実行する必要があります。

    sudo tar cvzfp xxxxx.tar.gz ディレクトリ名
  • ファイルの解凍

    tar xvzfp xxxxx.tar.gz
    • x: アーカイブを展開。
    • v: 展開中に処理ファイル名を表示。
    • z: gzipで圧縮されたアーカイブを解凍。
    • f: 入力ファイル名を指定。
    • p: パーミッションを保持。

    注意: 解凍時にもroot権限が必要です。

    sudo tar xvzfp xxxxx.tar.gz

サーバーリソースの監視

サーバーのパフォーマンスを維持するためには、リソース使用状況を定期的に監視することが重要です。以下のコマンドは、CPUやメモリ、I/Oの使用状況を監視する際に役立ちます。

  • vmstatコマンド

    vmstat 1
    • si(swap in): ディスクから物理メモリへのデータ転送(スワップイン)。
    • so(swap out): 物理メモリからディスクへのデータ転送(スワップアウト)。
    • wa(I/O wait): CPUがI/O待機状態にある時間の割合。

    補足: sisoの値が頻繁に高い場合、メモリ不足が考えられます。また、waが高い場合はディスクI/Oに問題がある可能性があります。

  • topコマンド

    top
    • load average: 過去1分、5分、15分のCPU負荷平均値。サーバーの必要なCPUコア数を示します。

    補足: load averageの値がサーバーのCPUコア数を超えている場合、サーバーに過負荷がかかっている可能性があります。

実行中プロセスの確認

  • ps auxfコマンド

    ps auxf | less
    • ps: 実行中のプロセスを表示。
    • aux: すべてのユーザーのプロセスを表示し、詳細情報を提供。
    • f: プロセスの親子関係をツリー形式で表示。
    • | less: 出力をスクロール可能なビューに渡す。

    補足: サーバー上で実行中のプロセスを詳細に確認するために使用します。不要なプロセスを特定し、必要に応じて停止させることでシステムリソースを最適化できます。

ディレクトリ内の文字列検索

  • findとgrepの組み合わせ

    find . -type f -name "*.*" | xargs grep "hoge"
    • find . -type f: カレントディレクトリ以下のすべてのファイルを検索。
    • -name "*.*": 任意の拡張子を持つファイルを対象に検索。
    • xargs grep "hoge": 検索結果に対して、指定した文字列"hoge"を含むファイルをgrepで検索。

    補足: ファイル名にスペースが含まれている場合、xargsの動作が期待通りにならないことがあります。この問題を回避するために、以下のように-print0-0オプションを使用します。

    find . -type f -name "*.*" -print0 | xargs -0 grep "hoge"

リアルタイムでファイルの末尾を表示

  • tailコマンド

    tail -f hoge.log
    • tail -f: 指定したファイルの末尾をリアルタイムで表示し続けます。

    補足: tail -fはログファイルの監視に非常に便利で、アプリケーションやシステムのデバッグ時に活用できます。ログに新しいエントリが追加されるたびに即座に表示されるため、問題の原因を迅速に特定することができます。

関連情報と補足

これらのコマンドを適切に使用することで、Linuxサーバーの管理が効率的に行えるようになります。特に、root権限が必要な操作や、スワップの監視、プロセスの最適化などは、サーバーの安定性とパフォーマンスを維持する上で重要なポイントです。また、シェルスクリプトやcronジョブを活用して、定期的なメンテナンスやモニタリングを自動化することで、運用負荷をさらに軽減することができます。

以上の情報を活用して、Linuxサーバー管理におけるトラブルシューティングや効率化を図ってください。