Linuxを使った開発やシステム運用では、コマンドを実行してファイルを操作したり、ログを確認したりする機会が多くあります。
コマンドを使いこなせるようになると、日常的な作業を効率化できるだけでなく、障害発生時の調査にも役立ちます。
本記事では、IT初心者や新人エンジニアに向けて、Linuxでよく使うコマンドを用途別に紹介します。具体的な実行例も掲載しているため、実際にコマンドを試しながら学習できます。
1. ファイル・ディレクトリ操作のコマンド
ファイルやディレクトリの操作は、Linuxを利用するうえで基本となる作業です。
| コマンド | 用途 | 使用例 |
|---|---|---|
pwd | 現在のディレクトリを表示する | pwd |
ls | ファイル一覧を表示する | ls -l |
cd | ディレクトリを移動する | cd /var/log |
mkdir | ディレクトリを作成する | mkdir work |
touch | 空ファイルを作成する | touch sample.txt |
cp | ファイルをコピーする | cp a.txt b.txt |
mv | ファイルを移動・名前変更する | mv old.txt new.txt |
rm | ファイルを削除する | rm sample.txt |
rmdir | 空のディレクトリを削除する | rmdir work |
使用例:ファイルをコピーする
cp sample.txt backup.txtsample.txt を backup.txt という名前でコピーします。
ディレクトリをコピーする場合は、-r オプションを指定します。
cp -r work work_backup使用例:ディレクトリを移動する
cd /var/logログファイルが保存されていることの多い /var/log ディレクトリへ移動します。
なお、rm は削除したファイルを簡単には復元できない場合があります。特に rm -r や rm -f を使用する際は、対象を十分に確認してください。
2. ファイルの内容を確認するコマンド
設定ファイルやログファイルの内容を確認する際に使用するコマンドです。
| コマンド | 用途 | 使用例 |
|---|---|---|
cat | ファイル全体を表示する | cat config.txt |
less | ファイルをページ単位で表示する | less app.log |
head | 先頭部分を表示する | head -n 10 app.log |
tail | 末尾部分を表示する | tail -n 20 app.log |
tail -f | 追記される内容を継続表示する | tail -f app.log |
wc | 行数・単語数・バイト数を数える | wc -l app.log |
使用例:ログの末尾を確認する
tail -n 50 app.logapp.log の末尾50行を表示します。直近の処理状況やエラーを確認する際に便利です。
使用例:ログをリアルタイムに確認する
tail -f app.logファイルに新しいログが追加されると、その内容が表示されます。
アプリケーションの動作確認や、処理実行中のログ調査などに利用できます。終了する場合は Ctrl + C を押します。
3. ファイルや文字列を検索するコマンド
大量のファイルやログから、必要な情報を探すためのコマンドです。
| コマンド | 用途 | 使用例 |
|---|---|---|
find | ファイルやディレクトリを検索する | find /tmp -name "*.log" |
grep | ファイル内の文字列を検索する | grep "ERROR" app.log |
grep -i | 大文字・小文字を区別せず検索する | grep -i "error" app.log |
grep -n | 行番号を付けて検索結果を表示する | grep -n "ERROR" app.log |
which | コマンドの実行ファイルの場所を確認する | which bash |
使用例:ERRORを含むログを検索する
grep -n "ERROR" app.logapp.log から ERROR を含む行を検索し、行番号とともに表示します。
使用例:ログファイルを検索する
find /var/log -name "*.log"/var/log 以下から、名前が .log で終わるファイルやディレクトリを検索します。
ファイルだけを対象にしたい場合は、次のように指定できます。
find /var/log -type f -name "*.log"検索対象のディレクトリにアクセス権がない場合は、結果の一部が表示されないことがあります。
4. ファイルの権限を確認・変更するコマンド
Linuxでは、ファイルやディレクトリごとにアクセス権限が設定されています。
| コマンド | 用途 | 使用例 |
|---|---|---|
ls -l | 権限や所有者を確認する | ls -l script.sh |
chmod | アクセス権限を変更する | chmod 755 script.sh |
chown | 所有者を変更する | chown user1 script.sh |
id | ユーザーIDや所属グループを確認する | id |
whoami | 現在のユーザー名を表示する | whoami |
使用例:スクリプトに実行権限を付与する
chmod +x script.shscript.sh に実行権限を付与します。
実行権限が設定されていれば、次のように実行できます。
./script.shただし、実行にはファイルの権限だけでなく、ディレクトリへのアクセス権限なども関係します。
権限を変更する際は、必要以上に広いアクセス権を付与しないように注意しましょう。
5. プロセスを確認するコマンド
Linuxでは、実行中のプログラムを「プロセス」と呼びます。
アプリケーションの異常や処理の遅延を調査する際には、プロセスの状態を確認します。
| コマンド | 用途 | 使用例 |
|---|---|---|
ps | 実行中のプロセスを表示する | ps -ef |
top | CPUやメモリなどの使用状況を確認する | top |
pgrep | プロセス名などから検索する | pgrep -af java |
kill | プロセスにシグナルを送信する | kill 1234 |
jobs | 現在のシェルのジョブを表示する | jobs |
使用例:Javaのプロセスを確認する
ps -ef | grep java実行中のプロセス一覧から、java を含む行を検索します。
ただし、この方法では検索コマンド自身が結果に含まれることがあります。プロセス名で検索する場合は、次の方法も利用できます。
pgrep -af java使用例:プロセスに終了要求を送る
kill 1234プロセスIDが 1234 のプロセスに、通常は終了要求として扱われる SIGTERM を送信します。
終了しないからといって、すぐに強制終了するのではなく、まず対象のプロセスが正しいか確認し、アプリケーションへの影響を考慮して対応します。
6. ディスク・メモリの使用状況を確認するコマンド
サーバーの容量不足やメモリ不足を調査する際に役立つコマンドです。
| コマンド | 用途 | 使用例 |
|---|---|---|
df | ファイルシステムの空き容量を確認する | df -h |
du | ファイルやディレクトリの使用容量を確認する | du -sh /var/log |
free | メモリの使用状況を確認する | free -h |
uptime | 稼働時間や負荷の目安を確認する | uptime |
使用例:ディスクの空き容量を確認する
df -hファイルシステムごとの容量や使用率を、読みやすい単位で表示します。
使用例:ログディレクトリの容量を確認する
du -sh /var/log/var/log 以下の使用容量を合計して表示します。
ログファイルが増え続けてディスク容量を圧迫している場合などに役立ちます。
7. ネットワークを確認するコマンド
ネットワーク接続や通信の問題を調査する際に使用します。
| コマンド | 用途 | 使用例 |
|---|---|---|
ip addr | ネットワークインターフェースの情報を表示する | ip addr |
ip route | ルーティング情報を表示する | ip route |
ping | 接続先への応答を確認する | ping -c 4 example.com |
curl | HTTP通信などを実行する | curl -I https://example.com |
ss | ソケットや待ち受けポートを確認する | ss -lnt |
dig | DNSによる名前解決を確認する | dig example.com |
使用例:Webサーバーの応答を確認する
curl -I https://example.comHTTPレスポンスのヘッダーを取得します。WebサーバーがどのようなHTTPステータスを返すか確認する際に利用できます。
なお、ping が応答しない場合でも、必ずしも接続先が停止しているとは限りません。ファイアウォールなどによってICMP通信が制限されている場合もあります。
8. コマンドを組み合わせる便利な使い方
Linuxでは、パイプ | を使用して複数のコマンドを組み合わせることができます。
例えば、ログファイルから ERROR を含む行を検索し、その件数を数える場合は次のとおりです。
grep "ERROR" app.log | wc -lこのコマンドは、次の順番で処理されます。
grepでERRORを含む行を抽出する- 抽出した行を
wc -lに渡す - 該当する行数を表示する
また、検索結果をファイルに保存したい場合は、リダイレクト > を使用します。
grep "ERROR" app.log > error.log検索結果が error.log に出力されます。既存ファイルがある場合は内容が上書きされるため、注意してください。
このように、複数のコマンドを組み合わせることで、調査作業を効率化できます。
9. Linuxコマンドを使用する際の注意点
Linuxコマンドを実行する際は、次の点に注意しましょう。
- 削除コマンドの対象を確認する:
rmで重要なファイルを削除しないようにします。 - 権限変更は必要最小限にする:
chmodやchownの変更によって、セキュリティやアプリケーションの動作に影響が出る場合があります。 - 本番環境では影響を考慮する: プロセスの終了やファイルの変更を行う前に、対象と影響範囲を確認します。
- コマンドのオプションを理解する: 同じコマンドでも、指定するオプションによって動作が変わります。
- マニュアルを活用する:
man grepのように実行すると、コマンドの詳細を確認できます。
特に、本番環境でコマンドを実行する場合は、事前に実行内容を確認し、必要に応じてバックアップや作業手順の確認を行うことが重要です。
まとめ
Linuxには、ファイル操作、ログ調査、プロセス管理、リソース確認、ネットワーク調査など、さまざまな用途のコマンドがあります。
すべてのコマンドを一度に覚える必要はありません。日常的な作業で実際に使用しながら、少しずつ使い方を身につけていきましょう。
ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。
- 選考ではありません
- 履歴書不要
- 技術の話が中心
- 所要時間30分程度
- オンラインOK