Linuxを使っていて最初につまずきやすいのが、「ファイルやコマンドがどこにあるのか分からない」という点です。本記事では、Linuxのファイル配置ルール(FHS)と、検索に便利なコマンド(find, locate, which など)を丁寧に解説します。
目次
✅ FHS(Filesystem Hierarchy Standard)とは?
FHSとは、Linuxにおけるディレクトリ構造の標準規格のことです。つまり「どの種類のファイルを、どこに置くべきか」を定めたルールです。
🔹 主なディレクトリとその役割
| ディレクトリ | 用途 |
|---|---|
/ | ルート(最上位のディレクトリ) |
/bin | 基本的なコマンド(ls, cp など) |
/sbin | 管理者向けのシステムコマンド |
/usr | ユーザー向けのプログラムやライブラリ |
/usr/bin | 一般ユーザー向けのアプリケーション |
/usr/sbin | システム管理者用のアプリ |
/var | 変動するデータ(ログ、メールなど) |
/etc | 設定ファイル |
/home | 一般ユーザーのホームディレクトリ |
/tmp | 一時ファイル |
/boot | 起動に必要なファイル(カーネルなど) |
/dev | デバイスファイル(ハードディスクなど) |
/proc | 仮想的なプロセス情報 |
/lib, /lib64 | 共有ライブラリ |
🔍 ファイルやコマンドを見つけるためのコマンド
1. find:指定ディレクトリ以下を検索
書式: find 起点ディレクトリ -name ファイル名
例):find /etc -name "*.conf"

/etc以下の.confファイルを検索- オプション例:
-name:名前指定(ワイルドカード可)-type:ファイル種別(f=ファイル,d=ディレクトリ)
2. locate:データベースを使った高速検索
locate passwd
- システムのデータベースから瞬時に検索
- 注意点:
updatedbで事前にデータベースを更新する必要あり
🔧 updatedbと設定ファイル /etc/updatedb.conf
updatedb:locateデータベースの更新コマンド/etc/updatedb.conf:除外パスなどの設定ファイル
例:
sudo updatedb
locate sshd_config
3. which:実行可能ファイルのパスを表示
which ls

- 実行コマンドがどのパスにあるかを表示します。
4. whereis:バイナリ、マニュアル、ソースの場所を検索
whereis bash

- 複数の場所(実行ファイル、マニュアルなど)を一括で表示。
5. type:シェルにとってのコマンドの種類を表示
type cdtype ll

cdは「シェルのビルトインコマンド※」であることが分かる。llは「”ls -alF”のエイリアス」であることが分かる。
※組み込みコマンド(built-in command)とは、シェルそのものが内部で直接サポートしているコマンドのことです
🌟 ファイル配置と検索の実践例
find /var/log -type f -name "*.log"
→ ログファイルの場所を探す。

which python3
→ Pythonがどこにインストールされているかを確認。

✅ まとめ
| コマンド | 用途 |
|---|---|
find | 実ファイルを条件で検索 |
locate | データベースによる高速検索 |
updatedb | locate用DBの更新 |
which | 実行ファイルのパスを表示 |
whereis | 実行ファイル+マニュアル等検索 |
type | コマンドの種類を確認 |
FHSと検索コマンドの基礎を押さえることで、Linuxのファイル構造を理解し、トラブルシュートや作業の効率化がぐっと上がります。

コメント