8.ファイル構造 UNIX に限らずほとんどの OS(DOS,WINDOWS 系,MacOS など)ではファイル構造 は「木構造」になっている.木とは,ノード(節点)とリンク(枝)からなる上下関係を 持った階層構造. UNIX のファイルシステムでは,ノードは ファイル,ディレクトリ,リンク(シンボリックリンク) の3通り. / ルートディレクトリ bin dev etc bin jlatex a2ps lib sbin usr spool man tmp usrhome local include netscape taji taji abc.c hatono abc.c xyz.c [特殊なディレクトリ名] . カレントディレクトリ(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,メモリ,通信路. ...)はすべてファイルとして 取り扱うことができるように設計されている. 正規表現. 8 9.ファイルの属性 • ファイル名,作成/更新日時,ファイルの大きさ • 所有者(ユーザ名) ,所有者の属するグループ • 保護モード:所有者,所有者の属するグループ,その他のユーザのそれぞれに対して, 読み,書き,実行可能,Setuid オプションの指定をする. これらは ls コマンドで確認できる [例] 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)は,読み書き実行すべて可 属性の変更 chmod chmod 対象(u,g,o)+/-[r/w/x] ファイル名 [例] taji@aurora2% ls -al freas -rwxr--r-- 1 taji user 5648 Feb 21 1996 taji@aurora2% chmod o+x freas taji@aurora2% ls -al freas -rwxr--r-x 1 taji user 5648 Feb 21 1996 taji@aurora2% chmod g-r freas taji@aurora2% ls -al freas -rwx---r-x 1 taji user 5648 Feb 21 1996 taji@aurora2% chmod 744 freas taji@aurora2% ls -al freas -rwxr--r-- 1 taji user 5648 Feb 21 1996 freas freas freas freas 10.リダイレクト,パイプ [リダイレクト] コマンドの標準入出力・標準エラー出力をファイルに切り替えること コマンド < ファイル ファイルから入力 コマンド > ファイル ファイルへ出力 コマンド >> ファイル ファイルへ追加 コマンド >& ファイル 出力とエラーをファイルへ [例] ls > aaa.list ls -al >> aaa.list sort < abc.c 9 [パイプ] コマンド1 | コマンド2 コマンド1の標準出力をコマンド2の標準入力に流し込む [例] ls -al | wc -l ls -al | grep 'test*.c' リダイレクト,パイプを組み合わせることにより,高度な機能を持つ複雑なコマンドを作 ることができる. 演習問題 6. 現在使っているコンピュータのファイル構造について調べなさい.コマンドや,アプ リケーションがどこにあるか? 7. コマンドやアプリケーション,また,自分で作成したファイルやディレクトリの属性 や,所有者などがどうなっているか調べなさい. 8. 演習問題4と5で作成したプログラムと sort コマンドを用いると,テキストに含まれ る単語を一行に一つずつ,重複することなしに,アルファベット順に出力するコマン ドを作成することができる.それにはどうすればよいか.方法とその実行例(少なく とも 100 word 以上の文章で実行すること)を示しなさい. 9. 小さなテキストファイル(例えば,.logout のような2∼3行の環境設定用ファイルな ど)は,エディタを使わなくても作成することができる.その方法と実行例を示しな さい. 以上の4問を A4 用紙1∼2枚程度にまとめ,システム事務室に提出しなさい.〆切は 10 月19日(金)12時. (なお,演習問題4と5については,私のホームページに解答例を 提示してあるので,自力で作成できなかったものは,それを用いてもよい. ) 10
© Copyright 2024 Paperzz