ファイルシステムとディレクトリ構造(絶対パスと相対パス)

  • URLをコピーしました!
目次

ファイルシステムとは?

ファイルシステムとは、データを効率的に管理・保存するための仕組みです。
Linuxでは、すべてのデータやプログラムがファイルとして扱われ、
これらのファイルがツリー構造のディレクトリ(フォルダ)内に整理されています。

ディレクトリ構造は、ルートディレクトリ / を頂点とし、
その下に多くのサブディレクトリが階層的に配置されているのが特徴です。

ファイルシステムがどのように設計されているかを理解することは、
Linuxで効率よく作業を行うために重要です。
これにより、どこに何が保存されているのかを把握し、
必要なファイルを迅速に見つけ出すことが可能になります。

📚 Linux学習の全体像を知りたい方へ
本記事はLinux学習の一部内容です。初心者から現場レベルまでの学習順をまとめたロードマップはこちら。
Linux学習ロードマップ完全版|初心者から現場レベルまでの勉強手順とコマンド体系まとめ

ディレクトリ構造とは?

Linuxのディレクトリ構造は、全体が一つの巨大なツリーのような形をしています。
このツリーの頂点に位置するのが、すべてのディレクトリやファイルの出発点となる
「ルートディレクトリ」 /
です。

例えば、Windowsではドライブごとに別々のルートディレクトリがありますが、
Linuxではすべてのディスクやパーティション、外部デバイスがこの単一のツリー構造に組み込まれます。
この統一された構造は、Linuxシステムの柔軟性と一貫性をもたらし、
ユーザーにとっても直感的な操作が可能
になります。

絶対パスと相対パス

ファイルやディレクトリにアクセスする際、パスを指定する必要があります。
パスには絶対パスと相対パスの2種類があります。

絶対パスとは?

絶対パスとは、ルートディレクトリ / から始まるパスのことです。
ファイルシステム全体の中で、特定のファイルやディレクトリを一意に指定する際に使用します。
どのディレクトリからでも、絶対パスを使えば確実に目的のファイルやディレクトリにたどり着けます。

例:
/home/user/documents/file.txt
この場合、/ はルートディレクトリ、home はその下のディレクトリ、
さらにその下の user ディレクトリの中に documents ディレクトリがあり、
その中に file.txt というファイルが存在します。

相対パスとは?

相対パスとは、現在の作業ディレクトリ(カレントディレクトリ)を基準にしたパスのことです。
カレントディレクトリがどこにあるかによって、相対パスの解釈が変わります。
./ はカレントディレクトリ、../ は親ディレクトリを意味します。

例:
カレントディレクトリが /home/user の場合:
documents/file.txt
このパスは /home/user/documents/file.txt と同じ意味になります。

../etc/hosts
このパスは /home/etc/hosts を指します。../ によって一つ上のディレクトリ /home に移動し、
そこから etc/hosts というファイルにアクセスしています。
絶対パスは常にルートディレクトリからの完全なパスを指定しますが、
相対パスは現在の作業ディレクトリを基準にした短縮表現です。

それぞれのパスの使い分けを理解することで、
ファイル操作やスクリプトの作成がより効率的になります。

主要なディレクトリの説明

次に、Linuxでよく使われる主要なディレクトリとその役割を見ていきましょう。

/ (ルートディレクトリ)

すべてのディレクトリやファイルの出発点です。ルートディレクトリ自体には、システム全体に関わる重要なファイルやディレクトリが含まれています。

/home

各ユーザーのホームディレクトリが格納されています。/home/ユーザー名 という形式で、それぞれのユーザーが個別にファイルを管理できます。

/etc

システムの設定ファイルが置かれるディレクトリです。ネットワーク設定やユーザー管理、サービスの設定ファイルがここに保存されています。たとえば、/etc/passwd にはユーザー情報が記録されています。

/var

ログファイルやスプールファイルなど、システム運用中に変動するデータが保存される場所です。/var/log には、システムやアプリケーションのログが保存され、トラブルシューティング時に役立ちます。

/usr

ユーザーが使用するアプリケーションやライブラリが格納されています。/usr/bin や /usr/sbin には、ユーザーや管理者が使う主要なコマンドが保存されています。

/bin と /sbin

システムが動作するために必要な基本コマンドが格納されている場所です。/bin には一般ユーザーが利用できるコマンド、/sbin にはシステム管理者が利用するコマンドが含まれています。

/dev

ハードウェアデバイスにアクセスするためのファイルが含まれています。すべてのデバイスがファイルとして扱われ、たとえばディスクドライブは /dev/sda のように表示されます。

/lib

システムの基本ライブラリが格納されています。これらのライブラリは、システムコマンドやアプリケーションが動作するために必要です。

/tmp

一時ファイルを格納するためのディレクトリです。システム再起動時に内容がクリアされることが多いので、重要なデータをここに保存するのは避けましょう。

/opt

サードパーティー製のアプリケーションがインストールされる場所です。カスタムソフトウェアや商用アプリケーションがここにインストールされることが多いです。

まとめ

Linuxのディレクトリ構造を理解することは、システム管理や効率的な作業の第一歩です。
ファイルシステムの基本概念と各ディレクトリの役割を把握することで、
Linuxを使いこなすための基盤が築かれます。

また、絶対パスと相対パスの違いを理解することで、ファイル操作がより直感的で効率的になります。
この基礎をしっかり押さえておくことで、さらに高度な操作にも自信を持って挑戦できるようになるでしょう。

LPIC-1攻略:Linuxシステム構造&運用管理マスタークイズ【全10問】

ファイルシステム階層(FHS)、起動プロセス、パッケージ管理、ネットワーク設定など、LPICレベル1の出題範囲に基づいた重要概念を網羅。
コマンド暗記の先にある、エンジニアとしての基礎体力をテストしましょう。

1 / 10

Shiftなどの修飾キーを1回押すと、次に別のキーを押すまで「押しっぱなし」とみなす機能は?

2 / 10

sudoの設定ファイル(/etc/sudoers)を安全に編集するための専用コマンドは?

3 / 10

自分のマシンのホスト名とIPアドレスの対応を静的に記述するローカルファイルは?

4 / 10

正規表現において、「行の末尾」に一致することを表す記号は?

5 / 10

Linuxカーネルのバージョン番号だけを表示する「uname」のオプションは?

6 / 10

新規ファイル作成時のデフォルト権限を決定する、ビット反転の数値(マスク値)は?

7 / 10

viエディタにおいて、変更を保存せずに強制終了するコマンドは?

8 / 10

SSH(Secure Shell)が標準で使用するポート番号は?

9 / 10

GRUB2ブートローダの設定を反映させるために、設定ファイル(grub.cfg)を再生成するコマンドは?

10 / 10

Linuxの起動プロセスにおいて、BIOS/UEFIから最初に呼び出され、カーネルをメモリにロードする役割を持つプログラムは?

あなたのスコアは

平均スコアは 40%

0%

目次