ディレクトリの扱い
ディレクトリの基礎知識
ディレクトリの区切り文字
区切り文字は'/'。
ルートディレクトリ
ディレクトリ階層の一番上のディレクトリ。
'/'がルートディレクトリを表す。
Windowsの'\'と同じ。
ホームディレクトリ
個々のユーザ用に割り当てたディレクトリ。
'~'でホームディレクトリを表す。
ログイン直後,ホームディレクトリがカレントディレクトリとなる。
カレントワーキングディレクトリ(カレントディレクトリ)
現在作業中のディレクトリ。
Windowsのカレントディレクトリと同じ。
'.'で表す。
サブディレクトリ
ディレクトリの下位にあるディレクトリ。
Windowsのサブディレクトリと同じ。
親ディレクトリ
そのディレクトリが所属するディレクトリ。
Windowsと同じ考え方。
'..'で親ディレクトリを表す。
ディレクトリ操作の基本
ディレクトリ内容の表示
lsコマンドでディレクトリの内容を表示する。
dirコマンドと同じ役割だが,機能や表示形式は異なる。
通常,'.'(カレントディレクトリ),'..'(親ディレクトリ),ピリオドで始まるファイルは表示しない。
|
オプション
|
説明
|
|
-a
|
'.'(カレントディレクトリ),'..'(親ディレクトリ),ピリオドで始まるファイルも表示する。
|
|
-l
|
長い形式で表示する。
|
-F
-p
|
ファイル名の後にファイルのタイプを表す記号を付加する。
|
*
|
実行形式
|
|
/
|
ディレクトリ
|
|
@
|
シンボリックリンク
|
|
|
|
FIFO
|
|
=
|
Socket
|
|
|
-R
|
サブディレクトリの内容も表示する。
|
lsコマンドの実行例
[toshim@gw2000 ~]$ ls /bin
arch echo ls sed
ash ed mail setserial
ash.static egrep mkdir sh
awk false mknod sleep
basename fgrep mktemp sort
(以下省略)
[toshim@gw2000 ~]$ ls -F /bin
arch* echo* ls* sed*
ash* ed* mail* setserial*
ash.static* egrep* mkdir* sh@
awk@ false* mknod* sleep*
basename* fgrep* mktemp* sort*
(以下省略)
[toshim@gw2000 ~]$ ls -al /bin
total 4416
drwxr-xr-x 2 root root 2048 Apr 29 05:10 .
drwxr-xr-x 17 root root 1024 Apr 29 04:58 ..
-rwxr-xr-x 1 root root 2864 Dec 16 01:14 arch
-rwxr-xr-x 1 root root 62660 Aug 29 1998 ash
-rwxr-xr-x 1 root root 153752 Aug 29 1998 ash.static
lrwxrwxrwx 1 root root 4 Apr 29 04:59 awk -> gawk
-rwxr-xr-x 1 root root 14996 Dec 21 02:47 basename
-rwxr-xr-x 1 root root 353944 Dec 11 00:47 bash
lrwxrwxrwx 1 root root 3 Apr 29 04:58 bsh -> ash
(以下省略)
|
treeコマンドを使えば,ツリー構造で表示することもできる。
[toshim@gw2000 ~]$ tree -d /usr
/usr
|-- X11 -> X11R6
|-- X11R6
| |-- bin
| |-- doc
| |-- include
| | |-- X11
| | | |-- ICE
| | | |-- PEX5
| | | |-- PM
| | | |-- SM
| | | |-- Xaw
| | | |-- Xaw3d -> ../Xaw3d
| | | |-- Xmu
| | | |-- bitmaps
| | | |-- extensions
| | | |-- fonts
| | | | `-- codeconv
| | | `-- magick
| | `-- Xaw3d
| |-- lib
(以下省略)
|
カレントディレクトリの表示
pwdコマンドでカレントディレクトリを表示する。
[toshim@gw2000 ~]$ pwd
/home/toshim
|
ディレクトリの移動
cdコマンドでディレクトリを移動できる。Windowsと同じ。
しかし,引数なしでcdコマンドを実行したときの動作はWindowsとは違う。
Windowsのcdはカレントディレクトリを表示するが,Unixのcdはホームディレクトリに移動する。
[toshim@gw2000 ~]$ pwd
/home/toshim
[toshim@gw2000 ~]$ cd /etc
[toshim@gw2000 /etc]$ pwd
/etc
[toshim@gw2000 /etc]$ cd
[toshim@gw2000 ~]$ pwd
/home/toshim
|
ディレクトリの作成
ディレクトリを作るときはmkdirコマンドを使う。
Windowsのmdコマンドでディレクトリを作るのとほぼ同じ。
ディレクトリの削除
ディレクトリを消すときはrmdirコマンドを使う。Windowsのrmdirとほぼ同じ。
ただし,Unixのrmdirはディレクトリ内にファイルがあると,ディレクトリを削除できない。
ディレクトリ下のファイルも一緒に全部削除するときは,rmコマンドの-Rオプションを使う。
[toshim@gw2000 ~/work]$ ls -l
total 0
[toshim@gw2000 ~/work]$ mkdir testdir
[toshim@gw2000 ~/work]$ ls -l
total 1
drwxr-xr-x 2 toshim users 1024 Apr 30 17:34 testdir ←作成したディレクトリ
[toshim@gw2000 ~/work]$ rmdir testdir
[toshim@gw2000 ~/work]$ ls -l
total 0
|
ディレクトリスタックの利用
ディレクトリを移動するときに,元の位置をスタック構造の記憶領域に一時的に記憶しておく機能。
cdコマンドの代わりにpushdコマンドを使ってディレクトリを移動すると,一時記憶の一番上にカレントディレクトリが記憶される。
popdコマンドを実行すると,一時記憶の一番上のディレクトリが取り出され,そこに移動する。
dirsコマンドで一時記憶の内容を表示できる。
[toshim@gw2000 ~/work]$ ←カレントディレクトリは/home/toshim/work
[toshim@gw2000 ~/work]$ pushd /etc ←pushdコマンドで/etcに移動
/etc ~/work
[toshim@gw2000 /etc]$ pwd ←カレントディレクトリは/etc
/etc
[toshim@gw2000 /etc]$ dirs ←一時記憶に~/workが入っている
/etc ~/work
[toshim@gw2000 /etc]$ popd ←popdコマンドで一時記憶から~/workを取り出してそこに移動する
~/work
[toshim@gw2000 ~/work]$ ←カレントディレクトリは~/work
|
ディレクトリのアクセス制御
アクセス権を参照。
RedHat Linuxの主なディレクトリ
|
/
|
ルートディレクトリ
|
|
/bin
|
ユーザ用コマンド
|
|
/boot
|
Linuxのブート用のファイル
|
|
/dev
|
この下にデバイスファイルがある
|
|
/etc
|
各種設定ファイル
|
|
/home
|
この下には個々のユーザや公開用ディレクトリがある
|
|
/lib
|
共有ライブラリ
|
|
/lost+found
|
ファイルシステムの破壊後,回復コマンドで回復したファイルがこの下に置かれる
|
|
/mnt
|
フロッピーやCD-ROMなどのリムーバブル装置をマウントする場所
|
|
/proc
|
この下にプロセス情報がある
|
|
/root
|
rootユーザのホームディレクトリ
|
|
/sbin
|
管理者用コマンド
|
|
/tmp
|
一時的なファイルを格納する
|
|
/usr
|
BSDなどで後から追加されたコマンドなど
|
|
/usr/bin
|
拡張されたユーザ用コマンド
|
|
/usr/doc
|
各種ドキュメント
|
|
/usr/info
|
GNU関連ソフトのドキュメント
|
|
/usr/lib
|
拡張された共有ライブラリ
|
|
/usr/man
|
manコマンドで表示するマニュアルのファイル
|
|
/usr/sbin
|
拡張された管理者用コマンド
|
|
/usr/src
|
Linuxのソースコードなど
|
|
/var
|
スプールファイルなど,運用時にサイズが増減するファイルを格納する場所
|
|
/var/log
|
各種ログ(実行記録)
|
|
/var/spool
|
メール,ニュース,プリンタ共有などのスプール
|
|
/var/run
|
デーモンのプロセスIDなど
|
ディレクトリの構成にはFHS(Filesystem Hierarchy Standard)という標準がある。詳しくはそれを参照。
|