permittion
ファイル許可属性

アップデート

ターミナルから sudo apt-get update を行ったあと sudo apt-get upgrade を行うという手順でアップデートを行え.

毎週受業開始時にこの 2 つのコマンドを行い, アップデートのチェックと適用を行うようにせよ.

授業専用のディレクトリを

ホームディレクトリ直下で mkdir pl というコマンドを入力し, 授業専用のディレクトリ pl を作成せよ.作成後,cd コマンドで 作成したディレクトリへ移動せよ.

emacs によるプログラム作成

テキストエディタ emacs はエディットするファイルの種類によって入力モードを 自動的に変えることができる.実習で使用する環境では ファイルの拡張子が pl であるファイルをエディットすると perl プログラム入力用モードになる.

emacs を起動し,教科書 p.16 のプログラムを hello.pl という名前で保存せよ. ( emacs の説明)

コマンドラインから emacs test.pl のようにエディットするファイル名を 与えて emacs を起動することができる. 初期設定ではこの場合に上下2ウィンドウに分割されて起動する. 下のウィンドウは今後必要ないので下のウィンドウの内容を最後までスクロールさせ, "Never show it again" のボックスにチェックを入れ, "Dismiss this startup screen" を押せ.これで次回以降下のウィンドウは 表示されなくなる.

chmod コマンド

以下のコマンドで perl へプログラムファイルを与えて実行する ことができる.実行結果を確認せよ.

% perl hello.pl

UNIX システムではすべてのファイル,ディレクトリについて そのファイル,ディレクトリに対する操作の許可属性を保持している. これを利用して作成した perl プログラムファイルに実行属性を与えることができる. まず,ls コマンドで hello.pl ファイルに実行属性があるかどうか確認する.

ls -l

以下のように出力されたとする.

-rw-r--r--   1 yhiroshi user          43 10月 22日  13:39 hello.pl

最も左はファイルかディレクトリかを表す. "-" はファイルであることを示す.次の 3 つがファイルのオーナー(自分) に対する許可属性であり,左から読みだし権限,書きこみ権限,実行権限である. "rw-" は読みだし,書きこみ,は許可されているが 実行は許可されていないことを示す.次の 3 つが同じグループに属する 他のユーザ,次の 3 つが同じグループにも属さないユーザに対する読みだし, 書きこみ,実行権限である.残りのフィールドについては man で調べてみよ.

自分に対しては読み,書き,実行の権限を与え,他人に対しては読み,実行だけに 権限を与えたい.グループに対しての権限は この授業では使わないので他人に対するものと同一にしておく. まとめると許可属性を表す文字列を "-rwxr-xr-x" としたい.

chmod コマンドを使って許可属性を変更するのだが, 変更後の許可属性のパターン(上の例では "-rwxr-xr-x") は以下の方法で記述しなおしたものを与える.

  1. ファイルの許可属性を表す文字列の右 9 文字の部分文字列に 注目する."-" を 0, それ以外の文字を 1 に置き換える. これにより "-rwxr-xr-x" は "111101101" となる.
  2. 左から 3 文字ずつに分け,それぞれを 2 進数として読み,10進数に変換する. これにより "111101101" は "755" となる.

以下のように chmod コマンドを使用する.

chmod 755 hello.pl

ls コマンドで望む許可属性になっているか確認せよ.

自分に対して実行許可属性がついていれば ./hello.pl と入力して 直接ファイルをコマンドとして実行できる.

1.4 節の内容を実行するには perldoc をインストールする必要がある. コマンドラインから sudo apt-get install perl-doc を実行し, インストールしてから実習を行え.

perldoc は perl に関するドキュメントを読むコマンドである. コマンド名の後に - 記号を先頭につけた文字を入力することがある. このような文字をオプションとよぶ. perl の組み込み関数の説明を読むときは -f オプションを使う. 例えば組み込み関数 atan2 の内容を知りたい場合は perldoc -f atan2 というコマンドを入力する. 実行して結果を確認せよ.

教科書 p.21 のプログラムの一部にある -u オプションは Pod 形式とよばれる文書表示整形のための特殊記号を解釈せずに そのまま表示するコマンドである. perldoc -u -f atan2 というコマンドを実行し,差を比較せよ.

教科書 p.21 のプログラム例は,Pod 形式の特殊記号をそのまま表示させ, その中の「英文字1個の後に"<"と">"で囲まれた部分」という指定した パターンに当てはまる部分を書き換えて表示している.

課題1

1.5 練習問題を解け. 作成したプログラムを添付メールとして提出せよ. メールの宛先は <hiroshi@tokai.ac.jp> とし, Subject (件名)を report perl 1 とせよ.


Updated in Octber 14, 2011, Yamamoto Hiroshi