Linuxコマンド | Linux入門 | Linuxディレクトリ

ドライブ

Windowsには「C:」「D:」のようなドライブという概念があるが、Unix/Linuxにはない。追加ハードディスクやCD-ROMなどは、/dev/hda/dev/cdromのようなパス名でアクセスされる。

ディレクトリ

Windowsでいう「フォルダー」とほぼ同じ意味である。ディレクトリ(フォルダー)の区切りには、Windowsでは\Program Files\Microsoft Office\...のようにバックスラッシュ(\)を使うが、Unix/Linuxでは/home/devkuma/public_html/index.htmlのようにスラッシュ(/)を使う。

home
└── devkuma
    └── pubilc_html
        ├── image
        │   ├── aaa.gif
        │   └── bbb.gif
        └── js
            ├── xxx.js
            └── zzz.js

ルートディレクトリ

ディレクトリ階層構造の最上位ディレクトリをルートディレクトリという。最初のスラッシュ(/)はルートディレクトリを表す。

/

ホームディレクトリ

Unix/Linuxでは、各ユーザーに個別のディレクトリが割り当てられる。これを「ホームディレクトリ」という。Linuxでは/home/{ユーザー名}、Mac OS Xでは/Users/{ユーザー名}、古いUnix系OSでは/usr/{ユーザー名}などが主に使われるが、別のディレクトリを使う場合もある。

/home/devkuma

カレントディレクトリ

現在自分がいるディレクトリをカレントディレクトリという。pwdコマンドを実行すると、現在どのディレクトリにいるかを確認できる。たとえば、public_htmlディレクトリにいる状態でpwdコマンドを実行すると、次のように表示される。

/home/devkuma/public_html

親ディレクトリ

ルートディレクトリを除くすべてのディレクトリには親ディレクトリがある。親ディレクトリは..で表される。../xxx.htmlは、現在のディレクトリの親ディレクトリにあるxxx.htmlを意味する。/home/users/../users/devkuma/home/users/devkumaと同じ意味になる。

パス名

あるディレクトリ内にあるファイルの位置を、/home/foo/index.htmlのように表したものをパス名という。これは、homeディレクトリ内のfooディレクトリにあるindex.htmlというファイルを表す。

絶対パス名

パス名がスラッシュ(/)で始まる場合、ルートディレクトリからの相対位置を表す。これは絶対パス名、またはフルパス名と呼ばれる。

URLの説明とは少し異なる場合がある。たとえば、/home/devkuma/public_html/index.htmという絶対パス名が、URLでは/index.htmという仮想パス名に対応づけられる。

また、BIGLOBEのように、FTPでログインするときとCGIスクリプトが動作するときでルートディレクトリが異なる場合があるため、注意が必要である。

相対パス名

パス名がスラッシュ(/)以外で始まる場合、カレントディレクトリからの相対位置を表す。これを相対パス名という。

たとえば、カレントディレクトリが/home/usersのときにdevkuma/index.htmlと書くと、/home/users/devkuma/index.htmlを指す。

仮想パス名

これはUNIX用語というよりWWW用語であり、http://サーバー名/パス名/パス名の部分を仮想パス名という。前述したように、絶対パス名とは異なる。

主要ディレクトリ

/

Linux上に存在するすべてのファイルとディレクトリの最上位に位置するトップレベルディレクトリである。
システムの根幹となる最も重要なディレクトリである。
文字列先頭の/は最上位を表し、それ以降の/はディレクトリ区切り文字である。文字列末尾の/は通常省略する。

/boot

Linuxカーネルのメモリイメージと、起動過程で必要な情報ファイルがある。

/bin

Linuxの基本的なコマンド実行ファイルが入っている。

/root

スーパーユーザーrootのホームディレクトリである。

/home

管理者以外のユーザーのホームディレクトリが作成されるディレクトリである。
一般ユーザーアカウントを作成すると、基本的にこのディレクトリ配下に作成される。

/etc

システムやユーザー管理のためのデータファイルと管理者用コマンドを持つ。
システム設定ファイルやアカウント情報が入っており、バックアップ優先度の高いディレクトリである。

/dev

デバイスファイルと呼ばれる、ファイルシステムとハードウェア間のインターフェースを担当するファイルがある。
フロッピーディスク、ハードディスク、CD-ROMなどの各種デバイスファイルが入っている。

/lib

各種言語のためのライブラリを持つ。
システム共有ライブラリディレクトリであり、プログラムに必要なライブラリファイルが存在する。

/mnt

リモートデバイスを利用するためのディレクトリである。
システムで使用する各デバイスのマウントポイントが存在する。
マウントしていない状態では何も表示されないが、特定のデバイスをマウントするとその内容が表示される。

/media

ローカルデバイスを利用するためのディレクトリである。

/sbin

システム運用および管理のためのコマンドファイルがあり、管理者だけが使用できる。 起動過程で必要なコマンドはここにあり、通常動作時に必要な大きなコマンドは/usr/sbinにある。

/usr

Linuxが動作するために必要なほとんどのファイルが格納され、各アカウントのユーザーがインストールするパッケージも存在する。
容量の大きいファイルが存在する。

/proc

カーネルとプロセス情報を取得できる仮想ファイルシステムで、メモリ上に保存されている。
プロセス情報を表すディレクトリであり、psコマンドでプロセス状態を確認するとき、このディレクトリに含まれる内容が表示される。

/proc/cpuinfo

CPUに関する情報が入っている。

/proc/devices

デバイスドライバーに関する情報が入っている。

/proc/kmsg

カーネルから出力されるメッセージが入っている。

/proc/meminfp

物理メモリと仮想メモリに関する情報が入っている。

/proc/net

ネットワークに関する情報が入っている。

/tmp

一時的に使用されるファイルが保存される場所であり、PHPでファイルをアップロードすると最初に保存される場所でもある。セッション情報なども一時的に保管されるディレクトリである。

/var

可変ファイルディレクトリで、システム運用中に生成または変更されるファイルが存在する。
メール、スプール、ネームサーバー、その他セキュリティに関する内容が記録される。

/var/log

ログファイルが存在するディレクトリである。

  • /var/log/cron : 定期予約作業ログ
  • /var/log/maillog : メールログ
  • /var/log/messages : システムメッセージログ
  • /var/log/secure : 接続および認証関連ログ
  • /var/log/spooler : プリンター接続ログ
  • /var/log/dmesg : システムデバイスおよびファイルシステムの起動メッセージログ
  • /var/log/boot.log : 起動時のシステムデバイスおよびデーモン実行状態確認ログ

/var/spool/mail

送受信したメールが保存されるディレクトリである。