- リンクを取得
- ×
- メール
- 他のアプリ
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待機状態にある時間の割合。
補足:
si
やso
の値が頻繁に高い場合、メモリ不足が考えられます。また、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サーバー管理におけるトラブルシューティングや効率化を図ってください。