文中、角カッコ([])はコマンド名などを 示すためのものです。文字としては無視してください。
Unixでは、ファイルを木(tree)構造で管理している。 ファイル名を書くときは、木の各階層の名前をスラッシュ(/)で区切って示す。 Unix上で作業しているときは、現在のディレクトリ(カレントディレクトリ) がある。カレントディレクトリの変更は [cd]コマンドでできる。 loginすると、 そのユーザーのホームディレクトリがカレントディレクトリ になる。一般ユーザーは、ホームディレクトリの下にファイルやディレクトリ を作ることができるが、その他のところに作ることができないように 設定されていることが多い。(システム管理者は別である。)
ファイル名の指定方法として、次のような書き方を覚えておこう。
Unixでは、各ファイルに持ち主が設定されており、本来はそれはファイルのある ディレクトリとは関係ない。しかし実際には、管理者以外のユーザーの ファイルはその人のホームディレクトリの下にあることが多い。
教材として使うプログラム例やその入力となるデータ、 説明のための画像サンプルなどは、教師用のユーザ名のホームディレクトリの 下のファイルとして用意することがあるので、必要に応じて見たり、 コピーしたりしてほしい。
ファイルの持ち主は、ファイルを他人が読めるようにも、読めないようにも 設定することができる。 [chmod]というコマンドを使う。 多くのUnixシステムでは、特に指定しないと、たいていのファイル (受信したメイルなどを除く)は、他人から読める設定になっている。 読み書き許可の状況を見るには、次のように [ls]コマンドの[-l]オプションを 使う。
% ls -l
注: 左端の[%]はユーザが入力する文字ではない。 計算機(C-shell)が出すプロンプトで、以下この形で示すが、 一定ではなく、各システムごとに管理者が設定しており、 ユーザーがシェルの初期設定ファイルを変えて変更することができる。
さらに、[-g]オプションを追加すると、ファイルの属するグループ名も表示する。 たとえば(実際の例を改造した架空の例である)、
% ls -lg ~student/PostScript/*をやってみると、
-rw-r--r-- 1 student users 15121 May 6 19:17 map.ps -rw-r--r-- 1 student users 14064 May 6 19:14 graph.psが見える。
この場合、[student]がユーザ名、[users](オプション[-g]で表示された)が グループ名、次の数値はファイルの大きさ(バイト数)、それから作成日時、 ファイル名であるが、読み書き許可の状況は左端の[-rw-r--r--]に示されている。 この文字列の意味は、
たとえば、このファイルをカレントディレクトリに[tizu.ps]と いう名前でコピーしたいとすれば、 [cp]コマンドを使って
% cp ~student/PostScript/map.ps tizu.psとすればよいが、このとき、[map.ps]に読む権限が与えられていなかったり、 カレントディレクトリに書く権限がないと、エラーになる。
コピーしなくても、catコマンドやless コマンドで見たり、edやemacsで編集に はいることもできる。ただし、編集中に名前を変えずに保存しようとすると、 書き込み許可が出ていないとエラーになる。