Linux ディレクトリを学ぼう
ディレクトリとは
ディレクトリとは、ファイルを保存する入れ物のことをいいます。
ディレクトリは、ファイルを分類・整理する為に利用され、ツリー構造で表されます。

| 名称 | 説明 |
|---|---|
| ルートディレクトリ | 全てのディレクトリの頂点となる一番上のディレクトリを /(ルートディレクトリ)と呼びます。 |
| サブディレクトリ | ディレクトリの中のディレクトリをサブディレクトリと呼びます。 |
| 親ディレクトリ | 各ディレクトリから見て、1つ上の階層のディレクトリを親ディレクトリと呼びます。 |
| カレントディレクトリ | 自分が現在いるディレクトリをカレントディレクトリと呼びます。 |
| ホームディレクトリ | Linuxにユーザーがログインした時に、最初にいるディレクトリをホームディレクトリと呼び、 ユーザーを作成した時に「/home」ディレクトリの下にユーザー名で作成されるディレクトリです。 |
絶対パスと相対パス
ファイルやディレクトリを指定する為に使用する表記を、パス(path:経路)と言います。
パスの指定方法には、以下の2つの指定方法があります。
| 指定方法 | 説明 |
|---|---|
| 絶対パス | ルートディレクトリを起点として順に指定する方法を言います。 |
| 相対パス | 現在いるディレクトリ(カレントディレクトリ)を起点として順に指定する方法を言います。 相対パスを表す場合に、以下の様な記号を使う事が出来ます。 |
| 記号 | 説明 |
|---|---|
| .(ドット1文字) | 現在のディレクトリ(カレントディレクトリ)(省略可) |
| ..(ドット2文字) | 1つ上のディレクトリ |
| ~(チルダ) | ホームディレクトリ |

| 絶対パスで、text2.txt を指定した場合のパス | /home/user2/doc/text2.txt |
| 相対パスで、text1.txt を指定した場合のパス (カレントディレクトリがdocの場合) | ../../user1/text1.txt |
Linuxの主なディレクトリ

| ディレクトリ名 | 内容 |
|---|---|
| bin (binaries) | 一般ユーザー用の基本コマンドファイルを集めたディレクトリ |
| boot (boot loader) | 起動時に必要な設定ファイルを集めたディレクトリ |
| dev (device) | デバイスファイル用のディレクトリ |
| etc (etcetera) | 設定ファイルが入るディレクトリ |
| home (home directory) | ユーザー毎にユーザーのホームディレクトリが作成されるディレクトリ |
| lib (library) | 共有ライブラリファイル用のディレクトリ |
| lib64 (library 64bit) | 64bit版ライブラリファイル用のディレクトリ |
| media | 外付け周辺装置(HDD、USBメモリ、DVDなど)をマウントするディレクトリ |
| mnt (mount) | その他デバイスを利用できるようにマウントするディレクトリ |
| opt (option) | インストール後に追加されるアプリケーションのインストール先ディレクトリ |
| proc (process) | システムに関連する情報ファイルの入ったディレクトリ |
| root | 管理者用(root)のホームディレクトリ |
| run | 実行時に使う可変データのディレクトリ |
| sbin (system binaries) | システム管理者用のコマンドファイルのディレクトリ |
| srv (served) | サーバーなどで提供するサービス用データのディレクトリ |
| sys (system) | デバイス情報ファイルなどのディレクトリ |
| tmp (temporary files) | 一時的なファイルの保存先ディレクトリ |
| usr (user) | ユーティリティとアプリケーションを保存するディレクトリ |
| var (variable) | システムログなど、変化するファイル用のディレクトリ |
ディレクトリに関連するコマンド
| コマンド | 説明 |
|---|---|
| pwd | カレントディレクトリの絶対パスを表示する。(Print Working Directory) |
| 書式 | pwd |
| 実行例 | $ pwd |
| コマンド | 説明 |
|---|---|
| cd | 指定したディレクトリに移動する。(Change Directory) カレントディレクトリを指定したディレクトリに変更する。 ディレクトリのパスを省略した場合は、ユーザーのホームディレクトリに移動する。 |
| 書式 | cd [-] [ディレクトリ] |
| オプション | – 直前のカレントディレクトリに戻る |
| 実行例1 | 1つ上のディレクトリに移動する $ cd .. |
| 実行例2 | 2つ上のディレクトリに移動する $ cd ../.. |
| 実行例3 | 直前のカレントディレクトリへ戻る $ cd – |
| 実行例4 | ユーザーのホームディレクトリに移動する $ cd $ cd ~ |
| コマンド | 説明 |
|---|---|
| mkdir | ディレクトリを作成する。(Make Directory) 複数階層のディレクトリを作成する場合は-pオプションが必要。 |
| 書式 | mkdir [オプション] ディレクトリ名 |
| オプション | -p 必要であれば親ディレクトリも作成する |
| 実行例1 | カレントディレクトリにdocディレクトリを作成する $ mkdir doc |
| 実行例2 | カレントディレクトリ内にdirA/dirB/dirCという階層のディレクトリを作成する $ mkdir -p dirA/dirB/dirC |
| コマンド | 説明 |
|---|---|
| rmdir | 空のディレクトリを作成する。(ReMove Directory) ディレクトリ内にファイルやサブディレクトリがあると削除できない。その場合は、rm -r コマンドを使用する。 |
| 書式 | rmdir [オプション] ディレクトリ名 |
| オプション | -p 複数階層の空ディレクトリを削除する |
| 実行例1 | 空のdocディレクトリを削除する $ rmdir doc |
| 実行例2 | 複数階層の空のdirA/dirB/dirCをディレクトリを削除する $ rmdir -p dirA/dirB/dirC |


