• 検索結果がありません。

ファイルとディレクトリの操作 (2)

ドキュメント内 UNIX ( ) (ページ 40-45)

第 3 章 基本コマンド (2)

3.2 ファイルとディレクトリの操作 (2)

まず最初にコマンドのオプションという概念について説明しておきます.

コマンドのオプションとは,コマンドの機能を切り換えるためのスイッチのようなものです. エアコンの冷 房と暖房の切り換えスイッチのようなもの,と考えればよいでしょう. 典型的なオプションの指定の仕方は,

3.2. ファイルとディレクトリの操作(2) 23 コマンド名の後に空白を空け, 続いてハイフン(マイナス記号,「-」)の後に英文字や英単語を 1個かまたはそれ以上並べて書く

というものです.ただし,オプションの指定にハイフンを必要としないコマンドもあります.

この節では,先週学んだいくつかのコマンドについて,代表的なオプションの使い方も含めて学び,さらに 新しいコマンドに関する知識を追加することにします.

まず, 先週取り上げたコマンドと今回の講義で取り上げるコマンドの一覧を表3.2にまとめておきます.

記号が付いているコマンドは今回初めて取り上げるものです.

表 3.2: 今週取り上げるコマンドの一覧

コマンド 意味(英語) 意味(日本語)

cd change directory ディレクトリの変更

pwd print working directory 現在のディレクトリを表示

mkdir make directory ディレクトリの作成

rmdir remove directory ディレクトリの削除

ls list ファイルの一覧の表示

cat concatenation ファイルの中身を表示

jless ファイルの中身を表示

touch 新しい空のファイルを作る

rm remove ファイルを消す

mv move ファイルの名前を変える

ファイルをほかのディレクトリに写す

chmod change mode ファイルの保護モードを変更する

jman コマンドのマニュアルを見る

3.2.1 cat, jless: ファイルを読む

これについては,初心者に有用なオプションはありません.

cat␣ファイル名 jless␣ファイル名 という使い方と,

jlessから抜けるにはqを1回押す ということだけ思い出して下さい.

3.2.2 ls のオプション

あるディレクトリにあるファイルの一覧を表示するためのコマンドlsには,たくさんのオプションがあり ます. このうちよく使われるのが

a 隠しファイル(最初の文字が「.」のファイル)も含めて表示 l ファイルの詳細な情報を表示

F ディレクトリの後に/を付けてファイルと区別できるようにする

の3種類です. これらをまとめて指示することもできます. 以下の4種類のコマンドを試してみて下さい.

ls␣-a - ls␣-l

- (3.12)

ls␣-F - ls␣-laF

-

ls␣-lで表示される情報の意味についてはchmod のところで説明します.

3.2.3 touch: 新しいファイルを作る

まず,一連の作業を始める準備として,この講義用のディレクトリに移動しておきます.

cd␣~/lecture/

- (3.13)

では,新しい(空の)ファイルを作るコマンドについて説明しましょう. このためのコマンドがtouchで す. さっそく使ってみましょう.

touch␣aaa

- (3.14)

これにより, aaaという名前のファイルが作成されます. 早速 ls

- (3.15)

と入力して, ファイルができていることを確認して下さい.

3.2.4 rm: ファイルを消す

ファイルを消すには, rmというコマンドを使います. rmは英単語remove (消す)の略です. 使い方は

rm␣消したいファイルの名前

- とするだけです. では使ってみましょう.

rm␣aaa

- (3.16)

と入力してみましょう. 次に, ls

- (3.17)

と入力して, aaaというファイルが消えていることを確認して下さい.

コマンドrmにも,コマンドlsと同様に,いろいろなオプションがあります. よく使われるオプションは, r 入れ子になったディレクトリなどを全部消す

です. また,コマンドrmは,*という記号との組み合わせで使われることも多いです. この記号は「ワイル ドカード」と呼ばれ,任意の文字が任意個数並んだ文字列をあらわすことができます. たとえば,

rm␣*.*

- (3.18)

と入力すると, a.txtやb.datなどのような名前のファイルを一括して消すことができます.

3.2.5 cp: ファイルを複写する

ファイルを複写するには, ‘コマンドcpを使います. このコマンドの意味は英単語copy(複写)の略です.

使い方は

cp␣オリジナルのファイル名␣複写先のファイル名

- (3.19)

と入力するだけです. では使ってみましょう. 以下の操作をして下さい.

touch␣bbb (3.20)

ls␣-laF - cp␣bbb␣ccc

- ls␣-laF

-

結果は図3.1のようになります. 2回目にコマンドlsを実行すると, 1回目にコマンドlsを実行したときに は存在しなかったcccという名前のファイルができていることがわかります.

コマンドcpにも,いくつかオプションがあります. よく使われるものは,

r 入れ子になったディレクトリなどをまるごとコピーする です. なお,コマンドrmと同様に,ワイルドカード*が使えます.

3.2. ファイルとディレクトリの操作(2) 25

図3.1: コマンドcpを実行したところ

3.2.6 mv: ファイルの名前を変える

ファイルの名前を変えるのは, コマンドmvを使います. mvの意味は,英単語 move (動かす)の略です.

使い方は,

mv␣今のファイルの名前␣ファイルの新しい名前

- (3.21)

です. では使ってみましょう.

mv␣ccc␣eee - ls␣-laF

-

結果は図3.2のようになります. ファイルcccがなくなったかわりに,ファイルeeeができていることを確

図 3.2: コマンドmvを実行したところ

認して下さい.

コマンドmvは,ファイルを別のディレクトリに移動するときにも使えます. この使い方は, mv␣ファイルの名前␣移動先のディレクトリ名

です. また,ワイルドカード*の使い方はコマンドrmやコマンドcpと同様です.

3.2.7 chmod: ファイルの保護モード ( パーミッション ) を設定する

さて, ls␣-l

- (3.22)

と入力してみて下さい. この操作をおこなうと,画面に

drwxr-xr-x 3 d99999 y99 1024 Apr 19 04:56 lecture

というような感じの文字列が表示されます.

この暗号のように見える内容には,図3.3および図3.4に示すような意味があります. このように,「誰に,

drwxr-xr-x 3 d99999 y99 1024 Apr 19 04:56 lecture

ÿÿÿ ÿÿÿ ÿÿÿÿ

ÿÿÿÿ ÿÿÿÿ

ÿÿÿÿÿ ÿÿÿ

ÿÿÿ ÿÿÿÿÿÿÿ ÿÿÿÿÿÿ

ÿÿÿ ÿÿÿÿÿ

ÿÿ ÿÿÿ ÿÿÿÿÿ

図 3.3: ls -lによって表示される文字列の意味

どのような操作を許すか」という指定のことを「保護モード」あるいは「パーミッション」といいます.

保護モードを確認するときには,グループのところと他人のところに“w”がないかどうか気を付けて下さ い. ここに“w”になっていると,例えば,あなたの隣に座っている人は,あなたの持っている大事なデータを 自由に書き換えることができてしまいます. データを他人が書き換えることができるような設定には絶対に すべきではありません. また,他人に見られたくないは,他人からは読めないような設定に変更しましょう.

ファイルの保護モードを変更するには,コマンドchmodを使います. この使い方は, chmod␣u,g,o,aの組み合わせ␣+r,w,xの組み合わせ␣ファイル名

です. ここに,

a: 全員, u: 本人, g: 本人と同じグループ, o: 他人;

+: 許可,-: 不許可;

r: 読み込み可, w: 書き込み可, x: 実行可 となっています.

これだけではわかりにくいと思われるので,例題をやります. ktermのウィンドウ内で, 以下のような操 作を順番におこなって下さい. なお,以下では,操作の意味が記号#以降に書いてあります. この部分を入力 してはいけません.

touch␣foo

- #ファイルfooを作成

ls␣-l␣foo

- #ファイルfooの保護モードを見る

chmod␣a+x␣foo

- #全員に実行可能にする

ls␣-l␣foo

- #保護モードがどうなっているか確認する

chmod␣a+r␣foo

- #全員に読めるようにする

ls␣-l␣foo

- #保護モードがどうなっているか確認する

chmod␣go-rx␣foo

- #自分以外には読めず, 実行不可にする

ls␣-l␣foo

- #保護モードがどうなっているか確認する

(3.23)

上記のコマンド群を実行すると,結果は図3.5のようになります.

chmod␣a+xは,「全員に実行許可を与える」という意味です. また,chmod␣go-rxは,「グループおよび 他人に対して読み込みおよび実行を禁ずる」という意味です. goやrxなどのように文字をならべて書いた 場合,これらのandが取られます.

chmodに関するより詳しい説明については参考書の35ページから38ページを参照して下さい.

3.2.8 jman: マニュアルを読む

マニュアルを読むためのコマンドがjmanです( manは manualの略です). 使い方は

ドキュメント内 UNIX ( ) (ページ 40-45)