Web サーバの負担を軽減するため、キャンパス内では iplht コマンドを使っ
てください。
慶應義塾大学の授業以外での無断利用、複製はご遠慮下さい。
Copyright (c) 1999 慶應義塾大学
第6週: ファイルとコマンド (2)
先週に引き続き,
ファイルのより高度な操作方法について勉強します.
6. 1 ファイルの保護
6. 2 練習問題
6. 3 プリンタに関するコマンド
6. 4 コマンドの結果をファイルに保存する
6. 5 その他のコマンド
6. 6 宿題
6.1 ファイルの保護
CNS には,学部生,大学院生,卒業生,教職員など6,000人以上のユーザがい
ます.共同作業では,お互いのファイルが参照できると便利なのですが,もし
全く自由に他人のファイルの内容を見たり,変更できたりすると,いろいろな
問題が起きる可能性があります.そこで,ファイルやディレクトリごとに,他
のユーザからのアクセスを許可したり,禁止したりする機能があります.
アクセス権とは「誰が」,「何を」,「どうする」という組み合わせに対して,
許可か禁止かを決めたものです.「誰が」は,次の3種類があります.
- ファイルの持ち主のユーザ自身 (u)
- グループのメンバ (g)
- その他 (o)
グループは CNS の管理者によって決められていて,勝手に変更できません.
学生はすべて同じグループのメンバになっています.「どうする」にも3種類
があります.
実行とは,通常ファイルの場合はコマンドとして使う,ディレクトリの場合は
cd コマンドでそこへ移動する,ということです.
「誰が」と「どうする」の組合わせは3×3=9種類あります.「何を」に相当
するファイルとディレクトリごとに,この9種類のそれぞれを許可するか,禁
止するかが決まっています.現在のアクセス権の状態を調べるには,ls コマンドに -l オプショ
ンを付けます.
% ls -l
total 10615
drwx------ 4 hattori 512 Apr 15 17:50 Mail
drwxrwxrwx 4 hattori 512 May 6 16:01 Wnn
-rw-r--r-- 1 hattori 76 Apr 19 15:10 test
%
|
ファイルに関するいろいろな情報が表示されますが,一番左側にあるのが,種
別とアクセス権です.最初の文字は種別で,普通のファイルは「-」,ディレ
クトリは「d」です.次の9文字は3文字ずつ組になっていて,それぞれ u, g,
o の r, w, x が許可されているかを示します.「r」,「w」,「x」は許可,
「-」は禁止を示します.
標準設定では,新しく作ったファイルは rw-r--r--,ディレクトリは
rwxr-xr-x になりますので,他のユーザは変更はできませんが,内容を見るこ
とはできます.Mail (メールを保存するディレクトリ)は,プライバ
シーの問題がありますので,rwx------ になっています.
アクセス権は chmod コマンドで変更することが
できます.
% ls -l
total 10615
drwx------ 4 hattori 512 Apr 15 17:50 open-minded
-rw-r--r-- 1 hattori 512 May 6 16:01 secret
-rw-r--r-- 1 hattori 76 Apr 19 15:10 shared
% chmod go+rwx open-minded
% chmod go-r secret
% chmod g+w shared
% ls -l
total 10615
drwxrwxrwx 4 hattori 512 Apr 15 17:50 open-minded
-rw------- 1 hattori 512 May 6 16:01 secret
-rw-rw-r-- 1 hattori 76 Apr 19 15:10 shared
|
-
最初の引数で,どのように変更するかを指定します.「誰が」と「どうする」
を「+」または「-」でつなぎます.「+」は許可する,「-」は禁止するという
ことです.
-
二番目以降の引数で「何を」に当たるファイル,ディレクトリを指定します.
注意: ホームディ
レクトリそのものを他人から読めないようにすると,設定ファイルが読めなく
て動かなくなるソフトがあります.
6.2 練習問題
隣の人と組になり,次のことを試してみなさい.
-
隣の人の rw------- のテキストファイルの内容を more コマンドで見てみなさい.
-
隣の人の rw-r--r-- のテキストファイルの内容を mule で編集してみなさい.
6.3 プリンタに関するコマンド
印刷 349 ページ
SFC にはプリンタがたくさんあり,それぞれに名前がついています.プリンタ
に貼ってある「nps1」とか,「nps2」というのが名前です.印刷するときには,
どのプリンタで印刷するかを指定しなければなりません.もし,名前を間違え
ると,遠く離れた部屋のプリンタで印刷されてしまいますので,気を付けてく
ださい.以下の例では「nps15」を指定していますが,これを近くのプリンタ
の名前に置き換えて実行してください.
プリンタが印刷するデータ形式には何種類かありますが,CNS のプリンタは,
すべてポストスクリプト(PostScript)形式のデー
タを印刷するようになっています.ですから,テキストファイルを印刷すると
きは,テキストをポストスクリプトに変換しなければなりません.
- テキストからポストスクリプトへの変換(a2psコマンド)
% a2ps test
(中略)
cleanup
%%Trailer
docsave restore end
%
|
- プリンタへの送信 (lprコマンド)
% a2ps test | lpr -Pnps15
%
|
-
使用するプリンタを -P オプションで指定します.
-P の後に続けてプリンタ名を書きます.
-
印刷したいファイル名を引数として指定します.ただし,ファイルの内容はポ
ストスクリプト形式でなくてはいけません.
-
テキストファイルを印刷する場合は,ファイル名を指定せず,a2psコマンドの結果を lpr
コマンドが受け取って,それをプリンタに送信します.そのためには,上のよ
うに二つのコマンドを「|」で区切って書きます.これをパイプ(pipe)と呼びます.
- 印刷状況の表示 (lpqコマンド)
% lpq -Pnps15
Sat May 8 16:31:32 1999
Starting job
Rank Owner Job Files Total Size
active s99000xx 402 standard input 59938 bytes
1st t99000xx 454 standard input 49987 bytes
%
|
-
プリンタ名を -P オプションで指定します.
-
プリンタの状態と,印刷の順番待ちの状況が表示されます.
-
Job 欄の数字(ジョブ番号)は印刷を取り消すときに使います.
- 印刷の取り消し (lprmコマンド)
% lprm -Pnps15 454
ccz02: dfA454uf085 dequeued
ccz02: cfA454uf085 dequeued
%
|
-
プリンタ名を -P オプションで指定します.
-
取り消したい印刷要求のジョブ番号を lpq コマ
ンドで調べ,引数で指定します.
-
ジョブ番号の代わりに,自分のログイン名を指定すると,自分が出した要求が
すべて取り消されます.
-
lprm コマンドは,lpr コマンドを実行したのと同じコンピュータで実行し
なければなりません.
- 電子メールの印刷
Mew でメールを読んでいるときに,そのメールを印刷するには,次のようにし
ます.
-
Mew メニューの Misc→Pipe message をクリックしま
す.
-
エコーエリアに Shell command on message: と表示されます.
-
a2ps | lpr -Pnps15 と入力し,Return キーを押します.
-
エコーエリアに (Shell command completed with no output) と表
示されます.うまく行かなかった場合には,代わりにエラーメッセージが表示
されます.
注意:
Misc→Print は,プリンタ名が指定できないので,使用しない
でください.
- Web ページの印刷
Netscape で表示されている web ページを印刷するには,次のようにします.
-
ツールバーの
をクリックします.
-
次のようなダイアログボックスが出てきます.
-
次のように設定します.
出力先: | プリンター |
印刷コマンド: | lpr -Pnps15 |
印刷: | 最初のページから |
印刷の向き: | 縦 |
印刷: | グレイスケール |
用紙サイズ: | A4 |
-
左下にある「印刷」というボタンをクリックします.
-
ダイアログボックスは消えて、まもなく元のウィンドウの左下に「文書: 完了」
と表示されます.もし,うまくいかなかった場合は,メッセージウィンドウが
表示されるので,それを見て原因を調べます.
κ,ε,ι,οの特別教室で使っている場合は,iplpr コマンドも使えます.これは,psnup コマンドで 1/4 に縮小してから lpr コマンドを起動します.また,プリンタ名を指定し
なくても,自動的にその部屋のプリンタで印刷されます.
6.4 コマンドの結果をファイルに保存する
入出力のリダイレクションとパイプ
38 ページ
コマンドを実行したときの出力結果の行き先には2種類ありました.
- 画面に表示する.
- 他のコマンドに渡す.
% a2ps test | lpr -Pnps15
|
これ以外に,ファイルに保存することもできます.そのためには,コマンドの
後に「>」とファイル名を書きます.これを
リダイレクション(redirection)と呼びます.
この例では,a2ps の出力結果であるポストスク
リプト形式のデータが,test.ps というファイルに書き込まれます.
このファイルは次のようにして使うことができます.
6.5 その他のコマンド
- パスワードの変更 (yppasswd コマンド)
% yppasswd
yppasswd: Changing password for t99000xx
Enter login(NIS) password: 古いパスワードを入力
New password: 新しいパスワードを入力
Re-enter new password: 確認のためもう一度新しいパスワードを入力
NIS passwd/attributes changed on ns0
%
|
- CNS では,パスワードは3か月に一度は変更しなければなりません.
- パスワードは他人に見られないよう,画面には表示されません.
- 変更後,新しいパスワードが有効になるまで少し時間がかかります.
- ユーザ情報の表示 (finger コマンド)
% finger t99000xx
Login name: t99000xx In real life: Tarou Fujisawa
Directory: /home/t99000xx Shell: /bin/tcsh
Never logged in.
No unread mail
No Plan.
%
|
- ログイン名,姓,名のどれかを引数として指定します.
- CNS はユーザ数が多いので,実行に数分かかることがあります.
- 最終ログイン,未読メールに関する情報は,finger コマンドを実行したコンピュータに関するもの
ですから,CNS の他のコンピュータについては分かりません.
- ~/.plan というファイルがあると,その内容が表示されます.
留守にする予定などを書いておき,連絡を取りたい人が finger コマンドで確認できるようにします.
- マニュアルの表示 (man コマンド)
% man ls
マニュアルを清書中です。しばらくお待ちください... 終了
ユーザコマンド ls(1)
【名前】
ls - ディレクトリの内容を一覧表示
(以下略)
|
- マニュアルを見たいコマンド名を引数として指定します.
- more コマンドを利用して表示します.
- 元々はプリンタで印刷するように作られているので,1ページ分ごとに次
のようなフッタとヘッダが挿入されます.
SunOS 5.6 1997年5月23日 1
ユーザコマンド ls(1)
|
6.6 宿題
-
finger で自分の姓を指定し,SFC に同じ読み方
の姓を持つ人が何人いるか調べなさい.名前についても同じようにしなさい.
(一画面に収まらないときは,finger Hanako |
more としなさい.)
-
man chmod を実行し,a=rw という指定が何を意味するか調べなさい.(全部理
解しようとすると挫折します.必要なところを見つけ,そこだけ読みましょう.)
目次のページへ行く