[ ] [ ] [ ] [ トップページ ] [ 目次 ] [ Linuxの概要 ] [ 基本的な操作 ] [ 日本語の扱い ] [ テキスト編集 ] [ システム管理 ] [ シェルスクリプト ] [ インストール作業の基本 ] [ データベース ] [ 各種リファレンス ]  
[ ログインとパスワード ] [ X WindowとGUI ] [ コマンドの基本 ] [ オンラインマニュアルの使い方 ] [ コマンドパイプラインとリディレクション ] [ ディレクトリの扱い ] [ ファイルの扱い ] [ ファイルの属性 ] [ プロセスの基本 ] [ ジョブ制御 ] [ コマンドヒストリ ] [ エイリアス ] [ 環境設定 ] [ その他 ]

ディレクトリの扱い

ディレクトリの基礎知識

ディレクトリの区切り文字

区切り文字は'/'

ルートディレクトリ

ディレクトリ階層の一番上のディレクトリ。
'/'がルートディレクトリを表す。
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)という標準がある。詳しくはそれを参照。

  
WB00806_.gif (471 バイト)
Copyright(C) 1997-1999 GlassCom
webmaster@glasscom.com