2011年05月10日 情報科学類 コンピュータリテラシ 筑波大学 システム情報工学研究科 コンピュータサイエンス専攻, 電子・情報工学系 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2011/2011-05-10
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
変数名=値
」を使う。
$ X=100
$
参照するには、「$変数名
」、または、
「"$変数名"
」(ダブルクォートで括る)とする。
$ X=100
$ echo $X
100
$ echo x"$X"x
x100x
$
シェル変数を削除するには、unset コマンドを使う。
$ unset X
$ echo $X
$ echo x"$X"x
xx
$
設定されていないシェル変数を使おうとすると、空として扱われる。
注意:シェルのプロンプト($
) と間違えないこと。シェルのプロンプ
ト($
) は、実際のコンピュータでは、cosmos38:~ i1012345$
のようになっている。
$ X=100
...
$ export X
$
あるいは、最初から export を付けて代入の操作をすることもできる。
$ export X=100
$
bash では、環境変数の参照方法と削除方法はシェル変数と同じ($
とunset)である。
$ date
2011年 4月28日 木曜日 14時49分55秒 JST
$ echo $TZ
$ TZ=EST
$ export TZ
$ echo $TZ
EST
$ date
2011年 4月28日 木曜日 00時50分11秒 EST
$
date
コマンドは、TZ
が設定されていないと、そのコン
ピュータの標準(coins では、JST
、Japan Standard Time の意味)を利
用して日時を表示する。
% man date
DATE(1) BSD General Commands Manual DATE(1)
NAME
date -- display or set date and time
SYNOPSIS
date [-ju] [-r seconds] [-v [+|-]val[ymwdHMS]] ... [+output_fmt]
date [-jnu] [[[mm]dd]HH]MM[[cc]yy][.ss]
date [-jnu] -f input_fmt new_date [+output_fmt]
date [-d dst] [-t minutes_west]
DESCRIPTION
When invoked without arguments, the date utility displays the current
date and time. Otherwise, depending on the options specified, date will
set the date and time or print it in a user-defined way.
...
ENVIRONMENT
The following environment variables affect the execution of date:
TZ The timezone to use when displaying dates. The normal format is
a pathname relative to /usr/share/zoneinfo. For example, the
command ``TZ=America/Los_Angeles date'' displays the current time
in California. See environ(7) for more information.
...
""
で括ると1単語として扱われる。
$ as="Application Support"
$ echo $as
Application Support
$ ls -ld ~/Library/$as
ls: /home/prof/yas/Library/Application: No such file or directory
ls: Support: No such file or directory
$ ls -ld ~/Library/"$as"
drwx------ 14 yas prof 4096 4 26 12:27 /home/prof/yas/Library/Application Support
$
< > | $ { } ( ) [ ] & ; ^ " * ? ~ ' ` 空白 タブ
など。
コマンドの引数として渡したい時には、解釈を避ける(エスケープ(escape))た めの特殊な形式を使う。
形式 | エスケープ対象 | エスケープしないメタキャラクタ |
\x | 「\ 」の直後の一文字 | なし (行末の「\」は継続行の意味) |
'str' | 「'」でくくられた文字列 | 「'」自身は入れられない。「\'」も効かない。 |
"str" | 「"」でくくられた文字列 | 「$」, 「`」(バッククォート),「"」(ダブルクォート), 「\」,「!」 |
\
は、ASCII 5c(16進)の文字。表示は、「\」か「¥」。
ダブルクォート ""
の内部では、$
は解釈され、シェル変数や
環境変数の置き換えられる。シングルクォート
「''
」では、$
は解釈さない。
$ echo "$HOME"
/home/prof/yas
$ echo '$HOME'
$HOME
$
$ history
1 saykotoeri2
2 saykotoeri2
3 fg
4 dup
<中略>
500 history
$
シェル変数 HISTFILESIZE の個数だけ記憶している。
$ echo $HISTFILESIZE
500
$
$ ls file.txt
file.txt
ここで -l を付けわすれたのに気がつく
$ ls -l !*
ls -l file.txt
-rw-r--r-- 1 yas prof 9 4 29 21:23 file.txt
$
「端末」を複数開くと、「シェル」のプロセスが2つ。 プログラムとしては、同じ bash だが、プロセスとしては別物になる。
その昔は、1度に1個のプログラムだけしかメモリに入れられなかった。 (プログラムとプロセスの違いが希薄。)
$ ls
プロセスには、ID (identifier)と属性がある。 psコマンド は、プロセスの一覧と属性を表示するコマンドである。
$ ps
PID TT STAT TIME COMMAND
639 s000 S 0:00.01 -bash
652 s000 S+ 0:00.20 emacs
646 s001 S 0:00.01 -bash
$
1行が1プロセスに対応。左から次のような意味を持つ。
/dev/ttys001
は
s001
になる。
R
(runnable)
U
(uninterruptible), D
(Disk),
S
(Sleep)、I
(Idle)
Z
(Zombie)
T
(Traced)
TIME
COMMAND
$ ps x
PID TT STAT TIME COMMAND
526 ?? Ss 0:00.06 /sbin/launchd
547 ?? S 0:00.26 /System/Library/CoreServices/Dock.app/Contents/MacOS
548 ?? S 0:00.31 /System/Library/CoreServices/SystemUIServer.app/Cont
549 ?? S 0:00.62 /System/Library/CoreServices/Finder.app/Contents/Mac
553 ?? S 0:01.33 /System/Library/Frameworks/ApplicationServices.frame
556 ?? S 0:00.00 /usr/sbin/pboard
560 ?? S 0:00.01 /System/Library/Frameworks/InputMethodKit.framework/
561 ?? S 0:00.35 /System/Library/Input Methods/Kotoeri.app/Contents/M
564 ?? S 0:00.17 /usr/libexec/UserEventAgent -l Aqua
578 ?? S 0:00.04 /System/Library/CoreServices/Menu Extras/TextInput.m
580 ?? S 0:00.01 /System/Library/CoreServices/CCacheServer.app/Conten
604 ?? S 0:00.09 /System/Library/Frameworks/OpenGL.framework/Versions
606 ?? S 0:09.23 /Applications/iTerm.app/Contents/MacOS/iTerm -psn_0_
616 ?? S 0:02.03 /Applications/Firefox.app/Contents/MacOS/firefox-bin
638 s000 Ss 0:00.01 login -fp yas
639 s000 S 0:00.01 -bash
652 s000 S+ 0:00.21 emacs
645 s001 Ss 0:00.01 login -fp yas
646 s001 S 0:00.01 -bash
659 s001 R+ 0:00.00 ps x
$
$ ps a
$ ps u
USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND
yas 652 0.0 0.3 2451208 13168 s000 S+ 5:58PM 0:00.21 emacs
yas 646 0.0 0.0 2435468 1008 s001 S 5:58PM 0:00.01 -bash
yas 639 0.0 0.0 2435468 1008 s000 S 5:58PM 0:00.01 -bash
$
%CPU
%MEM
VSZ
(Virtual Size)
RSS
(resident set size)
STARTED
親子関係により、プロセスは全体として木構造を作る。
親プロセスのプロセス識別子は、psコマンドに「l」オプションをつけると PPIDのところに表示される。
$ ps l
UID PID PPID CPU PRI NI VSZ RSS WCHAN STAT TT TIME COMMAND
1013 639 638 0 31 0 2435468 1008 - S s000 0:00.01 -bash
1013 652 639 0 31 0 2451208 13168 - S+ s000 0:00.21 emacs
1013 646 645 0 31 0 2435468 1008 - S s001 0:00.02 -bash
$
PID 652 の emacs の親プロセスは、PID 639 の bash。
プロセスを殺すとは、プロセスが自主的に終了しない時に、強制的に終了させ ること。
Unix では、プロセスを殺す方法は、主に次の2つ。
$ cat
Line 1
Line 1
Line 2
Line 2
^C
$
^C
と同様に ^\
(「^\」または「^¥」)
もプロセスを強制終了させるキーで
ある。^\ は、^Cが利かないときでも利くことがある。
^\
の場合、デバッグ用にcore
という名前のファイル
ができる。普段は、core ファイルは不要なので、^C
を使うべ
きである。
coins の環境では、core ファイルが作られないように設定されている。 core ファイルの利用方法は、デバッガ gdb のマニュアル、 man core (core ファイルの man ページ(man コマンドで表示されるページ))、 Unix Super Text 下巻 「第60章 デバッグの方法」を参照。
stty コマンドを使うと、^C
や ^\
を変更でき
る。
$ stty -a
speed 38400 baud; 35 rows; 80 columns;
lflags: icanon isig iexten echo echoe echok echoke -echonl echoctl
-echoprt -altwerase -noflsh -tostop -flusho pendin -nokerninfo
-extproc
iflags: -istrip icrnl -inlcr -igncr ixon -ixoff ixany imaxbel -iutf8
-ignbrk brkint -inpck -ignpar -parmrk
oflags: opost onlcr -oxtabs -onocr -onlret
cflags: cread cs8 -parenb -parodd hupcl -clocal -cstopb -crtscts -dsrflow
-dtrflow -mdmbuf
cchars: discard = ; dsusp = ^Y; eof = ^D; eol = ;
eol2 = ; erase = ^?; intr = ^C; kill = ^U;
lnext = ; min = 1; quit = ^\; reprint = ^R; start = ^Q;
status = ; stop = ^S; susp = ^Z; time = 0; werase = ^W;
$
「intr」のところに表示されるものが「^C」,
「quit」のところに表示されるものが「^\」に相当するキー。
「kill」は、1行削除の意味。
^C
や ^\
で死なないプロセス
(lv, emacs など)
を殺すには、kill コマンドを使う。
$ kill pid
これは、プロセス識別子pidのプロセスを殺す。
他人のプロセスは、権限がないので殺せない。
注意:pid
には、プロセス識別子となる番号を入れる。「p」、
「i」「d」と3文字打つのではない。
-KILL
をつけてkillコマンドを実行する。
$ kill -KILL pid
ps プロセスの一覧の表示 ps ux プロセスの一覧の表示(BSD,Linux) ps aux プロセスの一覧の表示(BSD,Linux) stty all 端末の状態の表示(BSD) stty -a 端末の状態の表示(System V,Linux) kill PID プロセスを殺す kill -KILL PID プロセスを殺す(必殺)PID はプロセス識別子。 ;
TAや教官からメールが来て、必要な返事は、次の実習時間/講義時間までに 出すこと。
coins 以外のメール・サーバを主に使うときには、~/.forward による転送の設 定を行うこと。
~/.forward
というファイルに、転送先のアドレスを書く。
たとえば、
shiro@himalaya.is.tsukuba.ac.jp
に届いたメールを全て
shiro@alps.is.tsukuba.ac.jp
に転送したいとする。この時、
himalaya
の方のホーム・ディレクトリの下の
~/.forward
に次のように書く。
shiro@alps.is.tsukuba.ac.jp単純に転送先のアドレスを書く方法では、
~/.forward
が
あるホストには、何も残らないが、コピーを残しながら、転送する方法もある。
それには、次のように自分のログイン名に\
を付けたア
ドレスを含める。
\shiro, shiro@alps.is.tsukuba.ac.jp注意:「
\
」は、ASCII 「5c(16進数)」である。
「\」と表示されたり「¥」と表示されることがある。
「/」ではない。
この例では、himalaya に届いた電子メールは、himalaya
と
いうホストの
\shiro
というユーザの
配送プログラム用メール・ボックスに入り、
さらに、shiro@alps.is.tsukuba.ac.jp
にも送られる。
alps
にログインした時にも、
alps
と himalaya
の両方のメールが読め、
また、himalaya
にログインしてもやはり
alps
と himalaya
の両方のメールが読める
と便利に思えるかもしれない。しかし、こうすることは技術的に難しいので、
しばらくはあきらめて欲しい。
\loginname
の機能をつかっても、なかなかうまくいかない。
たとえば、次のよう
な ~/.forward
を作成したと考える。(実際に実行すると危険なので、
考えるだけする。)
(alps:~/.forward) \shiro, shiro@himalaya.is.tsukuba.ac.jp
(himalaya:~/.forward) \shiro, shiro@alps.is.tsukuba.ac.jpこの状態で、
shiro@alps.is.tsukuba.ac.jp
にメールが届いた
場合、次のようなことが起る。
alps
にコピーが残され、かつ、
shiro@himalaya.is.tsukuba.ac.jp
に送らる。
himalaya
では、やはり、コピーが残され(ここまでは順調)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる(!)。
alps
では、コピーが残され(2回目)、himalaya
に送られる。
himalaya
では、コピーが残され(2回目)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる。
alps
では、コピーが残され(3回目)、himalaya
に送られる。
himalaya
では、コピーが残され(3回目)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる。
alps
では、コピーが残され(4回目)、himalaya
に送られる。
himalaya
では、コピーが残され(4回目)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる。
3ヵ所以上でこの設定をしたとすると、中継される度にメールが増殖する。
\loginname
の機能を使っていなかったとすると、コピーは
残らないが、メールが行き来するだけで、どこにも届けられずにエラーになる。
~/.forward
の設定をしたら、必ず自分で自分あてに電子メールを出
して届くかテストすること。~/.forward
の設定を間違えると、エラー
のメールも届かなくなるので、エラーが起こっていることさえわからなくなる。
~/.forward
の機能は、もともとは、sendmail という種類のMTA の機
能である。他の MTA (qmail, postfix)でも使えるように設定していることが多い。
~/.forward
の応用として、他のアドレスに電子メールを転送するの
ではなく、(サーバ上で実行される)プログラムに転送する機能がある。すな
わち、(サーバ上で)プログラムを実行して標準入力に電子メールの内容を与
えるという機能がある。これには、次のように~/.forward
に書く。
"| /program/path/name arg1 arg2 arg3 ... argn"このように、
|
に続いて、プログラムのパス名と引数を書き、
全体を ""
で括る。
この機能を使って、受け取った電子メールを自動的に分類したり、
spamメール
を排除したりすることができる。たとえば、MH の
slocalやprocmail
と呼ば
れているプログラムがこの機能を使っている。
#ファイル名#
」
のようになっているものは、emacs-mule-unix になっている。この
文字コードのままレポートとして投稿するなど、Emacs 以外のプログラムに渡
してはならない。他のプログラムに渡す時には、EUC-JP など、他のプログラム
でも解釈できる標準のコードにしなさい。
ファイルに保存する時の文字コードを変更するには、次の機能を使う。
M-x set-buffer-file-coding-system
その後、次の機能(write-file)でファイル名を変更しながら保存するとよい。
C-x C-w
M-x universal-coding-system-argument
以後、文字コードを指定し、C-x C-f
の操作を行う。
$ printenv
$ echo $HOME
/home/prof/yas
$ printenv HOME
/home/prof/yas
$
注意: printenv
の引数には、$
を付けない。
次のような環境変数の値を調べなさい。
$ date
$ echo $TZ
$ export TZ=EST
$ date
$ unset TZ
$ date
$
環境変数 TZ
に /usr/share/zoneinfo/
の下にあるファイル名
を設定して、その動作を確認しなさい。
$ echo $HOME
cd コマンドの引数に与えて、ホーム・ディレクトリや
ホーム・ディレクトリ以下のディレクトリに移動してみなさい。
$ cd /
$ cd $HOME
$ cd /
$ cd $HOME/Desktop
$
ファイル名の置き換え機能「~/」を使う方法と環境変数 HOME を使う方法を比
較しなさい。
$ echo $HISTFILESIZE
history コマンドで表示されるコマンドの数を調べなさい。
$ history
<表示>
$ history | wc
$
シェル変数 HISTFILESIZE の値を変化させると、何が起きるか調べなさい。
cosmos38:~ yas$ echo "$PS1"
\h:\W \u\$
cosmos38:~ yas$
この時、ダブルクォート ""
を付けないとうまく表示できないことがある。この理由を考えなさい。
シェル変数 PS1 は、シェルのプロンプトを保持している。これを変更してみな
さい。
cosmos38:~ yas$ PS1="hi$ "
hi$
マニュアル man bash で、PS1 変数(PROMPTING)の中で次のような表現がどのような意味を 持っているかを調べなさい。
\h
\W
\u
$ set
どのようなシェル変数が設定されているか観察しなさい。
$ u=/Applications/Utilities
$ echo $u
/Applications/Utilities
$ ls $u
Activity Monitor.app Grapher.app
Adobe Utilities.localized Java Preferences.app
AirPort Utility.app Keychain Access.app
AppleScript Editor.app Migration Assistant.app
Audio MIDI Setup.app Network Utility.app
Bluetooth File Exchange.app Podcast Capture.app
Boot Camp Assistant.app RAID Utility.app
ColorSync Utility.app Remote Install Mac OS X.app
Console.app Spaces.app
DigitalColor Meter.app System Profiler.app
Disk Utility.app Terminal.app
Expose.app VoiceOver Utility.app
Grab.app X11.app
$
$ history
次の方法で再実行してみないさい。
^P
/^N
で選択して !
の後に番号
$ ps
$ ps -l
ps コマンドに、次のオプションを与えて、動作を確認しなさい。
$ ps l
$ ps -l
他のオプションについて、man ps を見て見なさい。
$ ps aux | lv
この方法を、確かめなさい。lv コマンドについては、
手引き 2.2.14 参照。
lv コマンド
を参照しなさい。q(終了)、次のページへの移動(スペースキー)、
ページを戻る(b)は、必ず覚えなさい。
$ ps aux
$ ps auxw
あるいは、iTerm の画面を横幅を広げて ps コマンドを打ちなさい。
横幅を広げるには、右下の斜線が入っている部分をドラッグすればよい。
$ top
$ top -o cpu
(CPU を消費している順)
MacOSX では、top コマンド自分自身が「重たい」と認識される。
その場合は、top コマンドが表示を変更する頻度を下げる。
$ top -s 4 -o cpu
man top でマニュアルを表示して、-o オプションと -U の使い方を
調べなさい。そして、メモリの利用順 (rsize) で表示しなさい。
-U オプションで自分自身のプロセスだけを表示しなさい。
$ top -U $USER
$ pstree
$ pstree | lv
iTerm の画面の横幅を広げると見やすい。
$ open "/Applications/Utilities/Activity Monitor.app"
または、Finder で、「移動」メニューから「ユーティリティ」を
選択。「アクティビティモニタ.app」のアイコンをダブルクリック。
アクティビティモニタの表示
表示されるプロセスの範囲を変えてみなさい。top コマンドの表示と比較しなさい。
$ cat
aaa
aaa
bbb
bbb
^C
$
なお、^C と 入力の終わりを意味する ^D は働きが異な
る。どちらでもプロセスが終了することがあるが、強制終了したい場合には、
^C を使いなさい。
$ ls -R ~/Library
(大量の表示、省略)
^C
$
C-c
) は、C-x C-c
のように、その
キーに割り当てられた関数を実行する意味。)
C-c
は、C-x
と同じように、2ストローク以上で1つの意
味をなすことが多い。何もない状態でC-c
を打った場合には、
C-g
によりキャンセルしなさい。
kill コマンドを使って、プロセスを殺してみなさい。
lv コマンドの代わりに、bash からなるプロセスを殺すとどうなるか調べなさい。
$ ps ux | grep cat
$ ps uxw | grep cat
この機能を利用して見なさい。
次のようにして、Finder や Dock のプロセスの PID を調べなさい。
$ ps uxw | grep Finder
$ ps uxw | grep -i finder
$ ps uxw | grep Dock
$ ps uxw | grep -i dock
grep コマンドに -i オプションを付けると大文字と小文字を関係なく調べるこ
とができる。
$ ps uxw | grep cat
$ kill 数
(まず、Commandキー() と Option キーを左手で押し、
押しっぱなしの状態で、右手で Esc キーを一度押して離す。)
この機能を確認しなさい。なお、この機能では、ウインドウを開くプロセスし か強制終了できない。iTerm の中で実行されるプロセスや端末とは結びついて いないプロセスを強制終了するには、kill コマンドを使うしかない。
emacs -nw
で、端末の中で Emacs を実行する。
あるいは、lv /etc/services 等で、ファイルを表示する。
fg
コマンドを実行する。
$ fg
coins では、コマンドラインから次のように打つと、 ProfileManager という機能が働く。
$ firefox-profilemanager
この画面で、プロファイルの作成、削除、指定しなかった時に使われるプロファ
イルを指定することができる。(プロファイルが複数ある場合、1個目の
Firefox のプロセスを実行する時にoption キーを押しながら実行すると、この
機能が働く。)
複数のプロファイルを用いればね複数の Firefox のプロセスを同時に実行する ことができる。Firefox は、もともと1つのプロセスで複数のウインドウを開 くこともできる。この2つの機能の違いと有効な利用方法を考えなさい。
M-x set-buffer-file-coding-system
Emacs で文字コードを指定しながらファイルを開くには、次のようにする。
M-x universal-coding-system-argument ![[←]](../icons/screen-return.gif)
M-x は、Esc x でもよい。
Coding system for following command (default, xxx):
Coding system for following command (default, xxx): euc-jp-unix![[←]](../icons/screen-return.gif)
C-x C-f
(find-file) を実行する。
M-q runs the command fill-paragraph which is an interactive compiled Lisp function in `textmodes/fill'. It is bound to M-q.M-q または Esc q で、標準で 70 以内になるように次のように整える。
M-q runs the command fill-paragraph which is an interactive compiled Lisp function in `textmodes/fill'. It is bound to M-q.整える範囲は、上下に空行で区切られた範囲である。長過ぎる行は、改行が入 れられる。英単語の場合には、途中で改行することはない。日本語の場合には、 標準では、35文字で改行される。
この機能を確認しなさい。
C-u 数 C-x f
あるいは、折り返したい位置にカーソルを移動してから次のように打つ。
C-x f
以後、M-q または Esc q で折り返しを行った時には、指定
した文字数で折り返される。この機能を確認しなさい。
全てのプロセスの親プロセスは、PID 1 プロセスになっている(根に相当)。
以下の問題について、問題、および、回答をテキスト・ファイルに記述し、 レポート提出ページから提出しなさい。端末の表示 (コマンドの実行結果)は、コピー&ペースト等の機能を使って提出するファイ ルに含めなさい。課題が達成されたことを示す程度には見やすいように編集し なさい。ただし、過度の編集は避けなさい。編集した部分は必要に応じて省略 記号を入れなさい。
テキスト・ファイルで、右揃えをするには、パラグラフの区切りを、空行にし た上で、M-q (Esc q, M-x fill-paragraph) の機 能を利用するとよい。
(1) 次のファイル名(ディレクトリ名も含めたすべて)を、適当なシェル変数を 設定して短く表現しなさい。
/Applications/Firefox.app /Applications/Thunderbird.app /Applications/QuickTime Player.app短く表現したものを、ls -ld コマンドの引数に与えて実行しなさい。
$ シェル変数の代入1
$ シェル変数の代入2
$ シェル変数の代入3
$ ls -ld シェル変数の参照を利用短い表現
drwxr-xr-x@ 3 mac-admin admin 102 1 16 09:29 /Applications/Firefox.app
$ ls -ld シェル変数の参照を利用短い表現
drwxr-xr-x@ 3 mac-admin admin 102 1 12 11:10 /Applications/Thunderbird.app
$ ls -ld シェル変数の参照を利用短い表現
drwxr-xr-x 3 root wheel 102 5 21 2009 /Applications/QuickTime Player.app
$
ヒント1: シェル変数への代入は、1回でもよい。
ヒント2: シェル変数の値に空白が含まれている(可能性がある)ものを参照する
時には、ダブルクォートでくくる("$name"
)とよい。
ヒント3: 補完機能と組み合わせてもよい。その場合にはどのようなキー操作を したのかをレポートに書きなさい。
(2) echo コマンドを使って、次の文字列を画面に表示しなさい。
$ echo 回答内容
Lib*
$
注意:これは、メタキャラクタをエスケープする課題である。単に echo コマ
ンドに対してこのような文字列を与えればよいということでない。
(3) 端末を2つ開きなさい。片方で強制終了させてもよいプロセスを作成しな さい。プロセスの作成方法としては、たとえば、lv コマンドでテキスト・ファ イルを表示する方法が考えられる。もう一方の端末で、そのコンピュータで動 作している自分自身のプロセスだけを ps コマンドで表示しなさい。端末と結 びついていないプロセスも含めなさい。
(4) kill コマンドを使って、(3) で作成したプロセスを殺しなさい。ps コマ ンドの結果を示し、それがきちんと死んだことを示しなさい。
(5) 電子メールの転送について、当てはまる行の先頭に yes, 当てはまらない 行の先頭に no と記述しなさい。
(a) coins 以外に電子メールのアカウントがある。 (b) coins のメールを毎日読む。 (c) ~/.forward の機能を理解した。 (d) ~/.forward を設定した。
(6) coinsに届いたメールを毎日確認する方法を書きなさい。
(7) ls -l (ls -ld) を使って、次のファイルのモードを調べなさい。そして、 どのようなユーザやグループがどのようにアクセスできるかを説明しなさい。
(8) The Unix Super Text の次の部分を読みなさい。
(9) The Unix Super Text の次の部分を読みなさい。