9 8.ファイル構造
UNIXに限らずほとんどの OS(DOS,WINDOWS系,MacOSなど)ではファイル構造 は「木構造」になっている.木とは,ノード(節点)とリンク(枝)からなる上下関係を 持った階層構造.
UNIXのファイルシステムでは,ノードは
ファイル,ディレクトリ,リンク(シンボリックリンク)
の3通り.
[特殊なディレクトリ名]
. カレントディレクトリ(pwdで確認できる)
.. 一つ上のディレクトリ
/ ルートディレクトリ
~username usernameのホームディレクトリ
[パス名]
ルートからファイルのある場所を指定する経路. / で区切って表す.
(例) /usr/bin/jlatex
絶対パス:ルートからすべて記述するもの /usr/usrhome/hatono/abc.c 相対パス:カレントディレクトリから指定するもの ../hatono/abc.c
[ディレクトリの操作]
pwd カレントディレクトリのパス名を表示
cd ホームディレクトリへ移動
cd aaa aaaというディレクトリへ(そのディレクトリにもしあれば)移動
cd .. 一つ上のディレクトリへ移動 ls ディレクトリの中身を表示 mkdir aaa aaaというディレクトリを作成 rmdir aaa aaaというディレクトリを削除
[補足]
UNIX 上の資源(キーボード,CRT,メモリ,通信路....)はすべてファイルとして 取り扱うことができるように設計されている.
正規表現.
bin dev etc lib usr tmp
bin sbin spool man usrhome local / ルートディレクトリ
include
jlatex a2ps netscape
taji hatono
taji abc.c abc.c xyz.c
10 9.ファイルの属性
• ファイル名,作成/更新日時,ファイルの大きさ
• 所有者(ユーザ名),所有者の属するグループ
• 保護モード:所有者,所有者の属するグループ,その他のユーザのそれぞれに対して,
読み,書き,実行可能,Setuid オプションの指定をする.
これらはlsコマンドで確認できる
[例]
属性の変更 chmod
chmod 対象(u,g,o)+/-[r/w/x] ファイル名 [例]
taji@aurora2% ls -al freas
-rwxr--r-- 1 taji user 5648 Feb 21 1996 freas taji@aurora2% chmod o+x freas
taji@aurora2% ls -al freas
-rwxr--r-x 1 taji user 5648 Feb 21 1996 freas taji@aurora2% chmod g-r freas
taji@aurora2% ls -al freas
-rwx---r-x 1 taji user 5648 Feb 21 1996 freas taji@aurora2% chmod 744 freas
taji@aurora2% ls -al freas
-rwxr--r-- 1 taji user 5648 Feb 21 1996 freas
10.リダイレクト,パイプ
[リダイレクト]
コマンドの標準入出力・標準エラー出力をファイルに切り替えること コマンド < ファイル ファイルから入力
コマンド > ファイル ファイルへ出力 コマンド >> ファイル ファイルへ追加
コマンド >& ファイル 出力とエラーをファイルへ
[例]
ls > aaa.list ls -al >> aaa.list sort < abc.c
taji@aurora2% ls -al .d*
-rw-r--r-- 1 taji user 9 Apr 2 1998 .dir̲colors -rwxr-xr-- 1 taji user 5111 Nov 13 19:03 .dtprofile
他のユーザ(others)に読む(read)のを許可
所有者と同じグループ(group)のユーザに対し読むと実行(execute)を許可 所有者(user)は,読み書き実行すべて可
所有者
グループ名
大きさ 更新日時
ファイル名
11
[パイプ]
コマンド1 | コマンド2
コマンド1の標準出力をコマンド2の標準入力に流し込む
[例]
ls -al ¦ wc -l
ls -al ¦ grep 'test*.c'
リダイレクト,パイプを組み合わせることにより,高度な機能を持つ複雑なコマンドを作 ることができる.
演習問題
5. 現在使っているコンピュータのファイル構造について調べなさい.コマンドや,アプ リケーションがどこにあるか?
6. コマンドやアプリケーション,また,自分で作成したファイルやディレクトリの属性 や,所有者などがどうなっているか調べなさい.
7. 演習問題4 a), b) で作成したプログラムとsortコマンドを用いると,テキストに含ま れる単語を一行に一つずつ,重複することなしに,アルファベット順に出力するコマ ンドを作成することができる.それにはどうすればよいか.方法を示せ.
8. 小さなテキストファイル(例えば,.logout のような2〜3行の環境設定用ファイルな ど)は,エディタを使わなくても作成することができる.その方法と実行例を示しな さい.
レポートその1
以上の4問を A4 用紙1〜2枚程度にまとめ,システム事務室に提出しなさい.〆切は 10 月25日(金)16時.
レポートその2
演習問題4 a), b) のソースリストをシステム事務室に提出しなさい.ただし,TAに動作確 認してもらうこと.〆切は,11月6日(水)12時.