ファイルシステムを理解する
ファイルシステムを理解する
STEP1
- ディレクトリに移動するということをします。
ディレクトリに移動する
- 前の Lesson で d1 というディレクトリができています
$ cd d1 $ ls aaa d11
- cd <ディレクトリ名> で、そのディレクトリへ移動します。 人間が動くわけではありませんから、そのディレクトリを「作業ディレクトリ」とする と言ったほうがよいかもしれませんが、比喩的に移動するという言葉を使います。
- さらに d11 に移動して、ファイル一覧を表示してみましょう。
$ cd d11 $ ls ccc
. と ..
$ ls -a . .. ccc
- 隠しファイルも表示させると、
.と..というファイルがあります。 .は今いるディレクトリ、..はひとつ上のディレクトリを表します。$ cd .. $ ls -a . .. aaa d11
- 上のディレクトリに移動しました
STEP2
- システム全体の中で自分がどこにいるのか、対象となるファイルはどこにあるのか、そのファイルを指定するのにどのようにすればよいのかを学びます。
ホームディレクトリ
$ cd $ ls -a . .. aaa d1
- cd コマンドに引数(ディレクトリ)を付けずに実行すると、ホームディレクトリに戻ります。
- ログインした最初もホームディレクトリに移動します。
カレントディレクトリの表示
$ pwd /Users/05ssXXX $ cd d1 $ pwd /Users/05ssXXX/d1
- pwd で、今いるディレクトリを知ることができます
- ディレクトリはその親ディレクトリ、親ディレクトリはそのまた親ディレクトリの中にあるので、それらを一番上位から / (スラッシュ)で区切って表します。
ルートディレクトリ
- ディレクトリ階層の一番上にあるのがルートディレクトリです。
- ルートディレクトリは / で表します。
ディレクトリの全体構造
- / を root (根)とする tree(木)構造になっています。
絶対パスと相対パス
- 目的のファイル(ディレクトリ)までの道筋(path) をたどる
$ cd /usr/share $ ls -l dict/README -r--r--r-- 1 root wheel 516 3 23 2005 dict/README
- 上の例では
/usr/shareに移動して、dict/README の詳細情報を表示しています。 - 同じファイルの情報を(どこからでも)/ から始めて指定して表示させることができます。
$ cd $ ls -l /usr/share/dict/README -r--r--r-- 1 root wheel 516 3 23 2005 /usr/share/dict/README
- 最初の例では、ファイルを作業ディレクトリからの相対パスで指定しているのに対して、2番目の例ではルートディレクトリからの絶対パスで指定しています。
章末問題(再録)
- 以下の操作の意味を考えてから、実行して確認してください。 すべてホームディレクトリにいると仮定します。
- cd ..
- cd ../..
- cd ./..
- 以下の操作を実行してください。絶対パスを使う方法と、相対パスを使う方法の両方を考えてください。(Mac はホームディレクトリの絶対パスが
わかりにくいので、/etc, /dev, /tmp の指定には絶対パスを、
その他の指定には、相対パスを使ってください)
最初だけはホームディレクトリにいると仮定して、順に操作してください。
- /etc ディレクトリの中にある passwd ファイルの内容を表示する
- /dev ディレクトリの中にあるファイルを一覧表示する
- ホームディレクトリにあるファイル aaa を /tmp ディレクトリの中にコピーする
- /tmp ディレクトリの中にコピーしたファイル aaa を削除する
- ホームディレクトリの中にディレクトリ d51 を作る
- ディレクトリ d51 に移動する
- ルートディレクトリに移動する
- ホームディレクトリに移動する
- ディレクトリ d51 を削除する
上の 2.の問題のために実行したコマンドを メールでレポート してください。