最低限 UNIX / Linux [II]

  1. ファイルとディレクトリ
  2. シェル
  3. Unix の設定ファイル

1. ファイルとディレクトリ

[1.1] ファイルとディレクトリ

コンピュータにおけるファイルを一般的に定義すれば, 「ある目的のために、関連性のある一定形式の情報を集めて, 記録媒体上に記録したもの」です. 私たちがコンピュータ上で情報を管理する際の最小単位であるとも言えるでしょう.

ディレクトリは──一部ではフォルダとも呼ばれていますが── 零個以上のファイルをまとめるために使われるファイルの一種で, 「ディレクトリファイル」と呼ぶこともあります. その実体は含まれるファイル名の一覧を格納したファイルです.

UNIX (Linux) においてディレクトリは / (ルートディレクトリ)を頂点とする ツリー構造になっています. 階層付けをすることで管理しやすくしています. / 以下に存在するディレクトリには約束があり, 一般に以下のような ディレクトリが置かれています.

/ 直下に存在するディレクトリの役割
ディレクトリ名 意味
/root スーパーユーザー(root)のホームディレクトリ
/boot 起動時に読み込まれるカーネル等が置かれます.
/dev Linux では、ハードウェアもファイルとして扱われます。 ここにはそれらのデバイスファイルがまとめられます。
/etc 各種の設定ファイルや、起動時に実行されるスクリプト等が置かれます。
/home ユーザー毎のホームディレクトリが置かれます。
/lib /bin、/sbinなどが使う共有ライブラリが置かれます。
/mnt 一時的なマウント用ディレクトリです。 デフォルトで、このディレクトリ内に FD と CD-ROM をマウントするディレクトリが作られています。 (/mnt/cdrom /mnt/floppy)
/proc カーネルの動作情報を示す、特殊なファイルが置かれます。 それらのファイルは、全てカーネルが作成する仮想ファイルで、 カーネルの機能を制御する目的にも使われます。 ハードディスク空間は一切消費しません。
/bin 各種のコマンドで、バイナリ形式の実行ファイルが置かれます。
/sbin システム管理用コマンドの実行ファイルが置かれます。
/tmp 一時的なファイルの保管場所(一定期間アクセスが無いと削除されます)
/usr カーネルソースを含め、多くのソフトウェアがここに入ります。

上記のディレクトリの内, 一般ユーザが使用できるのは /home/(ユーザ名)/ のディレクトリで, それ以外はシステムが使う領域になっています.


[1.2] ディレクトリの呼び方

みなさんが UNIX を使って作業するとき, 実際はどこかのディレクトリの中で 作業していることになります. ログインしたときには自分の「ホームディレク トリ」の中にいることになります. ディレクトリの中には「ホームディレクト リ」や「ルートディレクトリ」のように特別な名前が付いているものがいくつか あります.

特定のディレクトリの呼び方
呼び方 意味
ルートディレクトリ UNIX のディレクトリ構造の頂点に存在するディレクトリ. "/" (スラッシュ)で表す.
ホームディレクトリ それぞれのユーザ専用のディレクトリ. "~" (にょろ)で表す.
カレントディレクトリ 現在ユーザが作業しているディレクトリ. pwd コマンドで表示される. "." (ドット)で表す.
親ディレクトリ カレントディレクトリの 1 段上のディレクトリ. ".." (ドットドット)で表す.


[1.3] ディレクトリやファイルの指定の仕方

ディレクトリやファイルの指定の仕方には 2 通りあります. 「絶対パス」で指定するか「相対パス」で指定するかです.

例えば / (ルートディレクトリ)の下の home ディレクトリの下の sugiyama ディレクトリの下の work ディレクトリの下の jupiter.txt というファイルを 読みたいとしましょう. ここで現在自分は / (ルートディレクトリ) の下の home ディレクトリの下の dongury ディレクトリ中にいるものとします. この場合, というようにファイルを指定することになります. 尚, ディレクトリと ディレクトリは / (スラッシュ)で区切ります.

ディレクトリやファイルの指定の仕方
名前 意味
絶対パス ディレクトリやファイルの位置を / (ルートディレクトリ)から見た 位置として記述する方法.
例えば /home/sugiyama/work/jupiter.txt
相対パス ディレクトリやファイルの位置をカレントディレクトリから見た位置として 記述する方法.
例えば ../sugiyama/work/jupiter.txt


[1.4] ディレクトリ操作

[1.4.1]カレントディレクトリがどこかを調べる方法

pwd コマンドを実行すると, 絶対パスでカレントディレクトリが表示されます.

$ pwd       
/home/dongury

[1.4.2]ディレクトリを移動する方法

cd コマンドの後に移動先のディレクトリ名を指定すると, 指定したディレクトリに 移動することができます. 移動先のディレクトリ名は絶対パス, 相対パスの どちらでもいいです.

例えば /home/dongury から /home/sugiyama/work に移動するには, 以下の 3 通りの方法があります.
$ cd /home/sugiyama/work
$ cd ../sugiyama/work
$ cd ~sugiyama/work       
< 絶対パスで指定
< 相対パスで指定
< ユーザ sugiyama のホームディレクトリから指定

[1.4.3]ディレクトリを作成する方法

新たなディレクトリを作成する場合は mkdir コマンドを実行します. 引数として作成するディレクトリ名を指定します.

例えば /home/dongury の下に work というディレクトリを作成するには, 以下のようにします. 但しカレントディレクトリは /home/dongury とします.

$ mkdir /home/dongury/work
$ mkdir work
$ mkdir ~dongury/work       
< 絶対パスで指定
< 相対パスで指定
< ユーザ dongury のホームディレクトリから指定

[1.4.4]ディレクトリを削除する方法

既に存在するディレクトリを削除する場合は rmdir コマンドもしくは rm コマンドを実行します. 引数として削除するディレクトリ名を指定します.

例えば /home/dongury の下の work というディレクトリを削除するには, 以下のようにします. 但しカレントディレクトリは /home/dongury とします. 尚, work ディレクトリの下に存在するファイルごと削除する場合, rm コマンドを実行します.

$ rmdir /home/dongury/work
$ rmdir work
$ rmdir ~dongury/work       

$ rm -r /home/dongury/work
$ rm -r work
$ rm -r ~dongury/work       
< 絶対パスで指定 (ディレクトリ内が空の場合)
< 相対パスで指定 (ディレクトリ内が空の場合)
< ユーザ dongury のホームディレクトリから指定 (ディレクトリ内が空の場合)

< 絶対パスで指定 (ディレクトリ内のファイルごと削除する場合)
< 相対パスで指定 (ディレクトリ内のファイルごと削除する場合)
< ユーザ dongury のホームディレクトリから指定 (ディレクトリ内のファイルごと削除する場合)



>> 次ページへ

最終更新日: 2000/10/19(杉山耕一朗) Copyright © 2000 inex