第3回. ディレクトリの操作 Wirtten by Hariru (1) コマンド紹介 今回はディレクトリの操作について簡単に説明します。ここで取り扱うコマンドは以下 のとおりです。 pwd --- 現在のワーキングディレクトリのパス名を出力する。 mkdir --- ディレクトリを作成する。 cd --- ワーキングディレクトリを指定したディレクトリに変更する。 rmdir --- ディレクトリを削除する。 今回はlsコマンドなどにオプションをつけて使ったりしますが、基本的なことは変わっ ていないので悩まないでくださいね。 (2) ディレクトリって? ファイルの数が増えてくれば、それぞれのファイルにいろいろ工夫した名前をつけても、 ほしいファイルを探し出したり、名前だけからファイルの内容を連想することが難しく なってきます。 そこでディレクトリの登場です。これは特別なファイルをグループ別に用意して、この 中にグループに属するファイルの名前を記述し、ファイルを管理することができるよう になっています。ディレクトリによって管理されたファイルは、ツリー構造を形成して います。 [ / ] ・・・ ルートディレクトリ | +--------+--------+ | | [user1] [user2] ・・・ ディレクトリ | | +------+----+ | | | | [source] | | ・・・ ディレクトリ | | | (サブディレクトリ) +---+---+ | +---+---+ | | | | | file1 file2 file3 file4 file5 ・・・ ファイル ツリー構造の例 このようにして、ファイルを分類して整理することができるようになるわけです。Win マシンなどのフォルダと同じ概念ですね〜。 少しUNIX特有の話をすると、ツリーのてっぺんには/というルートディレクトリがあり、 すべてのファイルやディレクトリはこれより下に存在します。サブディレクトリとは、 たとえば上の例でいくと、user1ディレクトリの中にあるsourceディレクトリというこ とで、sourceディレクトリはuser1のサブディレクトリというように呼ばれます。 (3) ワーキングディレクトリの表示 ディレクトリにはワーキングディレクトリ、あるいはカレントディレクトリと呼ばれる ものがあります。それは今現在あなたがいる(作業している)ディレクトリのことをいい ます。 まずはこのワーキングディレクトリを知らないことには、自分が今どこで作業している のかさえわかりません。ワーキングディレクトリの表示は次のようです。 % pwd /home/hariru % このpwdによって表示された文字列はパスと呼ばれ、その意味は次のような感じです。 / home / hariru | | | | | | | +--- 現在いるディレクトリ名 | | +------- 区切り記号 | +---------- ディレクトリ名 +-------------- ルートディレクトリ どうやら私は、ルートディレクトリにあるhomeというディレクトリのhariruというディ レクトリにいるようです。 これはシステムによって異なりますので、皆さんの場合はどうなっているのかわかりま せんが、大体homeの中の[自分のログイン名]がついたディレクトリ内にいると思います。 (4) ディレクトリの作成 では、自分のいるディレクトリ名がわかったところで、新たなディレクトリを作成して みたいと思います。 % mkdir box これでワーキングディレクトリ内に、boxというディレクトリができたはずです。lsに -Fオプションをつけて見てみましょう。 % ls -F box/ backup morning % lsの-Fオプションは、ディレクトリ対して名前の後ろに/をつけてくれますから、boxと いうディレクトリができているのがわかりますね。 (5) ワーキングディレクトリの移動 新しいディレクトリができたので、そのディレクトリに移動してみましょう。boxディレ クトリに移動するには次のようです。そのあと、pwdで自分のワーキングディレクトリを 見てみますね。 % cd box % % pwd /home/hariru/box % 表示されるパスにboxが追加されました。これで今は、boxというワーキングディレクト リにいることになります。これで移動完了です。 ただこのとき、2つのパス指定があるということを覚えておきましょう。 先ほど指定したパスは相対パスと呼ばれ、ワーキングディレクトリからみたパスです。 それに対して絶対パスと呼ばれるものがあります。これはルートディレクトリから指定 していくパスです。この場合、あなたが今どんなディレクトリにいたとしても、ルート ディレクトリからのパス指定をしますから、 /home/hariru/box を指定すると、必ずこのboxディレクトリに移動できるわけです。 また、各ディレクトリには自分自身のディレクトリを示す.と、ひとつ上のディレクトリ を示す..という特別なディレクトリがあります。これらはユーザが作らなくともディレ クトリの中に勝手に存在していますで、作らなくてもいいですよ。 それで、このディレクトリたちを見るためには、lsに-aオプションをつけることにより 見えるようになります。 % ls -a . .. % lsの-aオプションは、指定したディレクトに存在するすべてのファイルとディレクトリ を表示してくれます。 それでは..を使って、ひとつ上のディレクトリ(これを親ディレクトリと呼ぶ)に戻って みましょう。 % cd .. % % pwd /home/hariru % 戻りましたよね。これは相対パスでしたが、絶対パスでは % cd /home/hariru で、おっけーです。 (6) ディレクトリの削除 最後にディレクトリの削除です。boxディレクトリがあったはずですから、lsで確認の 後に削除してみましょう。 % ls -F box/ backup morning % % rmdir box % % ls -F backup morning % boxディレクトリがなくなりましたね。 注意)rmdirでディレクトリを削除するときは、そのディレクトリの中に.と..ディレク トリ以外のものがあると削除できません。ディレクトリの中身ごと削除したい場合は、 rm -rを使いましょう。 以上の説明でディレクトリの操作ができるようになったはずです。少し難しくなったか もしれませんが、これが理解できるとシステムの中を徘徊(?)できるので、楽しみが 広がります。がんばって覚えましょう。 はいっ、一段落!