カテゴリ別によく使うLinuxコマンド一覧

よく使うLinuxコマンドを、アルファベット順の長いリストとしてではなく、実際の用途別に整理して紹介します。

ファイル・ディレクトリの移動と確認

`ls`はディレクトリの中身を一覧表示、`cd`はディレクトリを移動、`pwd`は現在のパスを表示、`find`は名前や種類などの条件でファイルシステムを検索します。ほとんどすべての操作は「今どこにいるか」を把握することから始まるため、これらは最初に覚えるコマンド群です。

ファイルの作成・コピー・削除

`cp`はファイルやディレクトリをコピー、`mv`は移動・リネーム、`rm`は削除(ディレクトリには`-r`が必要)、`mkdir`は新しいディレクトリを作成します。`rm`には取り消し機能がないため、削除前に確認を求めるようエイリアスを設定している人も多くいます。

権限と所有者の管理

`chmod`はファイルの読み取り・書き込み・実行権限を、シンボル表記(`u+x`など)や数値表記(`755`など)で変更します。`chown`はファイルの所有ユーザーとグループを変更します。これらの設定ミスは「Permission denied」エラーのよくある原因です。

テキストの検索と加工

`grep`はテキスト内のパターンを検索し、`sed`はストリーム上でテキストを編集(検索・置換によく使う)、`awk`は構造化されたテキストを列単位で処理します。この3つはパイプで組み合わせて、コマンドの出力をその場でフィルタ・変換するのによく使われます。

プロセスの確認と制御

`ps`は実行中のプロセス一覧を表示し、`top`(または`htop`)はリソース使用状況をリアルタイムに表示、`kill`はプロセスIDを指定してプロセスに信号を送り停止させます。通常の`kill`が効かない固まったプロセスには`kill -9`で強制終了させます。

ネットワークとアーカイブ

`ssh`は他のマシンへの安全なリモートシェルを開き、`curl`や`wget`はURLからコンテンツをダウンロードし、`tar`は複数のファイルを(必要に応じて圧縮して)1つのアーカイブにまとめます。`.tar.gz`ファイルとしてよく目にする形式です。

コマンドをパイプでつなぐことの重要性

Linuxコマンドラインの真の強みは、単機能の小さなコマンドをパイプ演算子(`|`)で組み合わせ、あるコマンドの出力をそのまま次のコマンドの入力にできる点にあります。`ps aux | grep firefox`というコマンドは、すべてのプロセスを一覧表示したうえでその出力を「firefox」に該当するものだけに絞り込みます。両方の機能を持つ単一のコマンドを探す必要はありません。

manページは組み込みのリファレンス

標準コマンドにはそれぞれ、コマンド名の前に`man`を付けて表示できるマニュアル(例: `man grep`)があり、利用可能なすべてのオプションを詳細に解説しています。これは常に自分のシステムに実際にインストールされているバージョンと一致するため、ネット検索の前に確認する価値があります。

よくある質問

これらのコマンドはmacOSでも同じように使えますか?

macOSもUnix系OSなので多くは同じように使えますが、一部のコマンドは挙動が微妙に異なります(例えば`sed`や`tar`のオプションは、Linuxで使われるGNU版とmacOSのBSD版で違いがあります)。正確な挙動はその場で`man`ページを確認するのが最も確実です。

自分のシステムに影響を与えずに練習する安全な方法はありますか?

仮想マシン、クラウド上のLinuxサンドボックス、Windows Subsystem for Linux(WSL)のいずれも、誤った`rm`コマンドなどのミスがメインのシステムに影響しない、隔離された環境を提供してくれます。