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.txt

sample.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.log

app.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.log

app.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.sh

script.sh に実行権限を付与します。

実行権限が設定されていれば、次のように実行できます。

./script.sh

ただし、実行にはファイルの権限だけでなく、ディレクトリへのアクセス権限なども関係します。

権限を変更する際は、必要以上に広いアクセス権を付与しないように注意しましょう。

5. プロセスを確認するコマンド

Linuxでは、実行中のプログラムを「プロセス」と呼びます。

アプリケーションの異常や処理の遅延を調査する際には、プロセスの状態を確認します。

コマンド用途使用例
ps実行中のプロセスを表示するps -ef
topCPUやメモリなどの使用状況を確認する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
curlHTTP通信などを実行するcurl -I https://example.com
ssソケットや待ち受けポートを確認するss -lnt
digDNSによる名前解決を確認するdig example.com

使用例:Webサーバーの応答を確認する

curl -I https://example.com

HTTPレスポンスのヘッダーを取得します。WebサーバーがどのようなHTTPステータスを返すか確認する際に利用できます。

なお、ping が応答しない場合でも、必ずしも接続先が停止しているとは限りません。ファイアウォールなどによってICMP通信が制限されている場合もあります。

8. コマンドを組み合わせる便利な使い方

Linuxでは、パイプ | を使用して複数のコマンドを組み合わせることができます。

例えば、ログファイルから ERROR を含む行を検索し、その件数を数える場合は次のとおりです。

grep "ERROR" app.log | wc -l

このコマンドは、次の順番で処理されます。

  1. grep で ERROR を含む行を抽出する
  2. 抽出した行を wc -l に渡す
  3. 該当する行数を表示する

また、検索結果をファイルに保存したい場合は、リダイレクト > を使用します。

grep "ERROR" app.log > error.log

検索結果が error.log に出力されます。既存ファイルがある場合は内容が上書きされるため、注意してください。

このように、複数のコマンドを組み合わせることで、調査作業を効率化できます。

9. Linuxコマンドを使用する際の注意点

Linuxコマンドを実行する際は、次の点に注意しましょう。

  • 削除コマンドの対象を確認する: rm で重要なファイルを削除しないようにします。
  • 権限変更は必要最小限にする: chmod や chown の変更によって、セキュリティやアプリケーションの動作に影響が出る場合があります。
  • 本番環境では影響を考慮する: プロセスの終了やファイルの変更を行う前に、対象と影響範囲を確認します。
  • コマンドのオプションを理解する: 同じコマンドでも、指定するオプションによって動作が変わります。
  • マニュアルを活用する: man grep のように実行すると、コマンドの詳細を確認できます。

特に、本番環境でコマンドを実行する場合は、事前に実行内容を確認し、必要に応じてバックアップや作業手順の確認を行うことが重要です。

まとめ

Linuxには、ファイル操作、ログ調査、プロセス管理、リソース確認、ネットワーク調査など、さまざまな用途のコマンドがあります。

すべてのコマンドを一度に覚える必要はありません。日常的な作業で実際に使用しながら、少しずつ使い方を身につけていきましょう。

ここまで読んでいただき、ありがとうございます。もしこの記事の技術や考え方に少しでも興味を持っていただけたら、ネクストのエンジニアと気軽に話してみませんか。

  • 選考ではありません
  • 履歴書不要
  • 技術の話が中心
  • 所要時間30分程度
  • オンラインOK

エンジニアと話してみる

関連リンク

AI・クラウド・データ分析のご相談はネクスト株式会社までお問い合わせください。