ここでは,UNIX上でファイルやディレクトリを扱うために 不可欠となる基本的なコマンドについて学びます.
まず,UNIX環境にログインし, 2バイト文字(日本語)の表示ができる kterm を開きましょう.
> kterm & >以下の手順にしたがって,作業を進めて下さい.
> cat > myname > を忘れないように! Taro DENTSU 入力を終えたら[Enter]を押して改行し, > C-d (注: [Control] を押しながら d を押す)してください
※よくわからないという人は, エディタを使って作成してください.
> cat myname Taro DENTSU >
> cal 4 2007 2007年4月のカレンダーを出力するコマンド 2007年 4月 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 > cal 4 2007 > apl2007 カレンダーの内容をファイル apl2007 に出力 >
「リダイレクション(redirection)」
とは,コマンドへの情報の入出力を切り替える機能のことです.
ここでは画面に出力されるコマンド
cal 4 2007 の実行結果を,
リダイレクション >
を使ってファイルに出力しています.
※ 参考書 第7章 「2.1 入出力切替え」 (pp.128-130)
を参照してください.
> more apl2007 2007年 4月 日 月 火 水 木 金 土 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 >
> ls apl2007 myname >
> cp myname copyname > ls apl2007 copyname myname copyname というファイルが追加されています > more copyname Taro DENTSU ファイルの内容は myname と同じです >
> ls apl2007 copyname myname > mv copyname chname > ls apl2007 chname myname copyname が chname になりました > more chname Taro DENTSU ファイルの内容は copyname と同じです >
> rm chname > ls apl2007 myname chname が消えています >
※ ヒント > ls apl2007 family first jun2007 may2007 >
ls コマンドにオプションとして
-F を付けて実行し,
結果を確認してみましょう.
ディレクトリ・ファイルの右側に
/ が付加されて表示されます.
> ls -F apl2007 family first jun2007 may2007 > mkdir test > ls -F apl2007 family first jun2007 may2007 test/ test の右側にディレクトリであることを示す / が付いています >
ls コマンドの引数にディレクトリ名を与えて実行すると, ディレクトリ内のファイル一覧を表示します.
> cp apl2007 test > ls test 引数にディレクトリ test を指定します apl2007 ディレクトリ test の中にファイル apl2007 があることがわかります >
ファイル may2007 をディレクトリ test に移動してみましょう.
> mv may2007 test > ls -F apl2007 family first jun2007 test/ ファイル may2007 がありません > ls test apl2007 may2007 test の中に2つのファイルがあります >
ディレクトリ test の名前を work に変更してみましょう.
> ls -F apl2007 family first jun2007 test/ > mv test work > ls -F apl2007 family first jun2007 work/ test が work になりました > ls work apl2007 may2007 ディレクトリの中のファイルに変化はありません >
再びディレクトリ test を作成して,
それを消去してみましょう.
> mkdir test 再びディレクトリ test を作成 > ls -F apl2007 family first jun2007 test/ work/ > rmdir test ディレクトリ test を消去 > ls -F apl2007 family first jun2007 work/ ディレクトリ test が消えています >次に,先程ファイルをコピーしたディレクトリ work を消去してみましょう.
> rmdir work rmdir: ディレクトリ "work": ディレクトリが空ではありません。 エラーメッセージ > ls -F apl2007 family first jun2007 work/ ディレクトリ work はそのままです > ls work apl2007 may2007 中のファイルもそのままです >
※ rmdir コマンドは, 中にファイルが何もないディレクトリだけしか削除できません.
↓ディレクトリ名 > rm work/apl2007 ↑ファイル名 > ls work may2007 work 内の apl2007 が消えています >
※ ヒント > ls -F apl2007 family first jun2007 kadai/ > ls kadai apl2007 family first jun2007 >
> pwd /home?/y####/******** >
? の部分は, 0, 1, 2 のいずれかになります. ログイン後に何もしていなければ, #### は入学年度(今年入学した人は 2007), ******** はログイン名になるはずです. このディレクトリは, 管理者から各利用者にあらかじめ割り当てられたディレクトリで, 「ホームディレクトリ」 と呼びます. 利用者は,自分のホームディレクトリの下に自分のファイルやディレクトリを いくつも所有できます. 通常,ログイン後のカレントディレクトリはホームディレクトリとなります.
> ls -F apl2007 family first jun2007 kadai/ > cd kadai > pwd /home?/y####/********/kadai ディレクトリ kadai に移動しました >
> cd / > pwd / >
このディレクトリは 「ルートディレクトリ」 と呼ばれ,UNIX システムのすべてのディレクトリは, このルートディレクトリを頂点とする 木構造 に含まれます.
> cd /home?/y#### 各自のホームディレクトリにあわせること > pwd /home?/y#### >
このように,木構造の一番上のルートディレクトリから 目的のディレクトリに到達するまでに通過するディレクトリを, 左から右に順に並べていくファイルやディレクトリの指定形式を 「絶対パス」 と呼びます.
> cd ./******** ******** は各自のホームディレクトリ名 > pwd /home?/y####/******** >
ここで,ディレクトリを ./******** と指定しています. 「.(ドット)」 は 「カレントディレクトリを表す記号(キャラクタ)」 です. したがって, 「カレントディレクトリ(/home?/y####) の下にある ******** ディレクトリへ移動」 という命令になります. 絶対パスで指定するよりも,入力する文字がずいぶん省略されています. このように,カレントディレクトリを出発点として移動先を指定する形式を 「相対パス」 と呼びます. これまでの実習からもわかるように, 「カレントディレクトリから」を表す 「./」は省略できます.
> cd /usr/bin > pwd /usr/bin 遠くに来てしまいました > cd これだけ > pwd /home?/y####/******** ホームディレクトリに帰ってきました >
> cd /usr/lib > pwd /usr/lib > cd .. > pwd /usr 1つ上のディレクトリに移動しました > cd ~ > pwd /home?/y####/******** ホームディレクトリに移動しました >
※ 参考書では, 第3章「2 ファイル・ディレクトリ階層の管理」(pp.40-52).
※ 作業が終了したら,センターの端末からメイルで報告してください. メイルのサブジェクトは ex3-学籍番号 としてください.
V2.7 2007/04/25 2007年度用に修正
by K.Morishige
V2.6 2006/05/02 問題点を修正
by K.Morishige
V2.5 2006/05/01 編入生と過年度生のために修正
by K.Morishige
V2.4 2006/04/27 2006年度用に修正
by K.Morishige
V2.3 2005/05/10 間違い修正
by K.Morishige
V2.2 2005/05/06 6章修正
by K.Morishige
V2.1 2005/05/02 2005年度用に修正
by K.Morishige
V2.0 2004/04/26 新教室に対応,2004年度用に修正
by K.Morishige
V1.3 2001/05/25 間違い修正
by K.Morishige
V1.2 2001/04/09 第2版の教科書にあわせて若干の修正
by K.Morishige
V1.1 2000/05/17 1節追加ほか,若干の修正
by K.Morishige
V1.0 2000/05/10
by K.Morishige