8.ファイル構造

全文

(1)

8 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

(2)

9 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)は,読み書き実行すべて可

所有者

グループ名

大きさ 更新日時

ファイル名

(3)

10

[パイプ]

コマンド1 | コマンド2

コマンド1の標準出力をコマンド2の標準入力に流し込む

[例]

ls -al | wc -l

ls -al | grep 'test*.c'

リダイレクト,パイプを組み合わせることにより,高度な機能を持つ複雑なコマンドを作 ることができる.

演習問題

6. 現在使っているシステムのファイル構造について調べなさい.コマンドや,アプリケ ーションがどこにあるか?

7. ファイルおよびディレクトリの作成,移動,消去などを,ターミナル上で実際に行っ てみなさい.また,そのとき,ファイルマネージャが連動していることを確認しなさ い.

8. いろいろなファイルの属性について調べなさい.また,自分で作成したプログラムな どの属性を変更し,どのような影響が出るか確認しなさい.

***レポート課題***

① GUIを用いた環境と,shell環境(ターミナル上の環境)を比較して,それぞれの長所 と短所をまとめなさい(A4 1枚程度).

② 演習問題4と5(b)のプログラムを作成し,プログラムリストと,実行例を提出しなさ い.ただし,提出するプログラムは,TAが正しく動作していることを確認したもので あること.また,リストには,必ず説明を付けること.

③ a)演習問題4と5(b)で作成したプログラムとsortコマンドを用いると,テキストに 含まれる単語を一行に一つずつ,重複することなしに,アルファベット順に出力す るコマンドを作成することができる.それにはどうすればよいか.方法とその実行 例を示しなさい.

b)小さなテキストファイル(例えば,.logout のような数行の環境設定用ファイルな ど)は,エディタを使わなくても作成することができる.その方法と実行例を示し なさい.

④ 適当な自然数 に対し,

を計算するプログラムを作成しなさい.ただし,できるだけ大きい に対しそのプロ グラムを実行できるよう,また,その値ができるだけ円周率に近づくようプログラム を工夫すること.プログラムと実行結果を提出しなさい.考察もつけること.

となることが知られています.

締 切

      :11111111月月月2月22日(2日(日(日(木木木木))) ) 提出先:システム事務室

6

1 2

1

2 = π

åk= k

n

åkn=11 k2

6

n

Updating...

参照

Updating...

関連した話題 :