Top Banner
さあ はじめよう 上智大学 電子計算機センター
184

さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Sep 22, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

さあ はじめよう UNIX

(Version 5.1)

2001年10月

上智大学 電子計算機センター

Page 2: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

はじめに

Welcome To The UNIX World!!

ようこそUNIXへ

上智大学の計算機環境にもUNIXの波が押し寄せてきています。これまでのような使いにくい大型機の環境から、よりコンパクトで使い易い世界へと移りつつあるわけです。上智大学計算機センターの教育研究用の計算機もすべて UNIXとなります。もちろん UNIXも万全ではありません。UNIXアドベンチャーゲームなどとも呼ばれ、どこ

に何があって、何ができるのかが分からないと言う人もいます。また慣れないユーザにはとても不親切なシステムであると言う人もいます。(このような時によくマッキントッシュと比較されます。)

しかし、世の中では UNIXは広く受け入れられて来ています。この理由は、UNIX がユーザに対してとてもオープンで、限りない可能性がユーザに対して開かれているからです。言い替えると、おしきせの利用方法でなく、その環境に合わせた様々な利用方法を提供することができます。もちろんこの「さあ はじめよう UNIX」を見たからと言って、すぐに自由に使えるように

なるとは言いません。不慣れな人は、やはり多少ならずとも扱いにくさを感じるかもしれません。そのような時にもあきらめないで下さい。UNIXはネットワークを本当に使えるようにした

始めてのシステムです。上智大学の UNIXマシンもほとんどが上智大学ネットワークに接続されていますし、上智大学ネットワークは世界のネットワークにも接続されています。ネットワークの普及によって UNIXは育ち、UNIXの普及によってネットワークが育ってきました。ネットワークは情報の共有という意味で、とても重大な役割を果たします。何か難しいことを言っているように聞こえるかも知れませんが、簡単に言えば「わからないことがあれば、ネットワークで他の人に聞けばよい。」ということです。このために、電子ニュースがあります。電子メールがあります。きっと親切なユーザが教えてくれるでしょう。(これまでのQ&A という遺産もあります。)

わからないことはどんどん聞きましょう。ある人の利用上の疑問は他の人にとっても疑問であるかもしれません。もしもその Q&Aが残れば (電子ニュースを使えばちゃんと残ります。)

将来同じ疑問を持った人はすぐに解決できるでしょう。つまり質問することも上智大学の計算機環境を良くすることに貢献するわけです。(これで、少しは気が楽になりましたか?)

初心者の領域から抜け出して次のステップに入った人は、どんどん自分の環境を育てて下さい。そして、それが良い環境になったら、これまた皆に知らせて下さい。疑問と同じく、ある人にとって良い環境は、他の人にとっても良い環境であるかもしれません。良いものがあれば他の大勢のユーザのために、どんどんシステムに受け入れていきます。自作の良いプログラムや、賢い使い方などなど、ユーザが共有できる情報は無限にあります。

1

Page 3: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

つまり、上智大学のユーザにとっての計算機環境を育てるのは、やはり上智大学のユーザ、つまりあなたなのです。(そうやって出来てきたのが現在の環境です。)もちろんまだまだ理想にはほど遠いものですが、センターのスタッフや教員の力には限りがあります。それを補う、いや、それ以上のパワーが一般のユーザにはある筈です。なんといっても大多数のユーザは一般のユーザなのですから。どんどんUNIXを使って、質問をし、情報を共有してより良い環境を作るために、皆さんご

協力下さい。それにはまず、「さあ はじめよう UNIX」です。

1994年 4月電気・電子工学科 矢吹道郎

電子計算機センター

Page 4: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

目 次

1 UNIXとは 1

1.1 UNIXの歴史 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1

1.2 UNIXの特徴 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2

1.3 UNIXの構造 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2

1.4 UNIXシステムの紹介 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 3

1.4.1 Compaq Tru64システム : : : : : : : : : : : : : : : : : : : : : : : : : : 3

1.4.2 FreeBSDシステム : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 5

1.4.3 SUN Solarisシステム : : : : : : : : : : : : : : : : : : : : : : : : : : : : 6

2 接続手段 7

2.1 接続手段 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7

2.1.1 学内からの接続 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7

2.1.2 学外からの接続 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 8

3 接続方法 9

3.1 パソコン : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9

3.1.1 コンピュータルームのパソコン : : : : : : : : : : : : : : : : : : : : : : 9

3.1.2 PPP接続あるいは研究室から TCP/IP接続しているパソコン : : : : : 10

3.2 ワークステーション : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11

4 基本的な使い方 13

4.1 ログイン : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 13

4.1.1 ログイン名の入力ミス例 : : : : : : : : : : : : : : : : : : : : : : : : : : 14

4.1.2 パスワードの入力ミス例 : : : : : : : : : : : : : : : : : : : : : : : : : : 14

4.2 パスワード : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15

4.2.1 パスワードの保護 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15

4.2.2 悪いパスワード : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16

4.2.3 良いパスワード : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 16

4.2.4 パスワード設定時の注意事項 : : : : : : : : : : : : : : : : : : : : : : : 16

4.2.5 パスワードの変更 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17

4.2.6 パスワードを忘れたら? : : : : : : : : : : : : : : : : : : : : : : : : : : : 18

4.2.7 Windows2000とのパスワード同期 : : : : : : : : : : : : : : : : : : : : 18

4.3 ログアウト : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18

4.3.1 Windows2000搭載パソコン : : : : : : : : : : : : : : : : : : : : : : : : 19

4.3.2 PPP接続あるいは、研究室から TCP/IP接続しているパソコン : : : : 20

i

Page 5: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.3.3 ワークステーション : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20

4.4 やさしいコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21

4.4.1 who コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21

4.4.2 date コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21

4.4.3 cal コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22

4.4.4 man コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22

4.4.5 more コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 23

5 ファイルシステム 24

5.1 ファイルシステムとディレクトリ : : : : : : : : : : : : : : : : : : : : : : : : : 24

5.1.1 ファイルの指定法 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 24

5.2 ファイル操作 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 27

5.2.1 ファイルを作る : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 27

5.2.2 ファイル名の表示 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28

5.2.3 ファイルの内容を表示する : : : : : : : : : : : : : : : : : : : : : : : : : 30

5.2.4 ファイル名の変更・移動 : : : : : : : : : : : : : : : : : : : : : : : : : : 31

5.2.5 ファイルの複写 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32

5.2.6 ファイルの削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33

5.3 ディレクトリ操作 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33

5.3.1 カレントディレクトリの表示 : : : : : : : : : : : : : : : : : : : : : : : 33

5.3.2 ディレクトリの移動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 34

5.3.3 ディレクトリの作成 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35

5.3.4 ディレクトリの削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36

5.4 ファイルの保護 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 38

5.4.1 許可の対象者と種類 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 38

5.4.2 許可モードの表示 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 39

5.4.3 許可モードの効果 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 40

5.4.4 許可モードの変更 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 41

5.4.5 絶対に行なってはいけない操作 : : : : : : : : : : : : : : : : : : : : : : 44

6 エディタの使い方 45

6.1 vi エディタ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 46

6.1.1 viの起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 46

6.1.2 テキストの入力 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 47

6.1.3 カーソルの移動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 48

6.1.4 ファイルの保存 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 48

6.1.5 viの終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 49

6.1.6 文字の置換 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 50

6.1.7 文字 (列)の変更 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 50

6.1.8 行全体の変更 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 51

6.1.9 テキストの挿入 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 52

6.1.10 文字の削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 53

6.1.11 行の挿入 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 54

6.1.12 行の削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 55

ii

Page 6: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.1.13 viのコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 56

6.2 Emacsエディタ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58

6.2.1 Emacsの起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58

6.2.2 テキストの入力 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 59

6.2.3 カーソルの移動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 60

6.2.4 文字の消去 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 61

6.2.5 ファイルの保存 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62

6.2.6 Emacsの終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62

6.2.7 日本語入力 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 63

6.2.8 Emacsのコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 68

7 Cシェル 72

7.1 Cシェルとは? : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 72

7.2 履歴機能 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 72

7.2.1 入力コマンド記憶回数のセット : : : : : : : : : : : : : : : : : : : : : : 72

7.2.2 履歴リスト : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73

7.2.3 コマンド番号の表示 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73

7.2.4 コマンドの繰り返し入力 : : : : : : : : : : : : : : : : : : : : : : : : : : 73

7.2.5 コマンドの置き換え : : : : : : : : : : : : : : : : : : : : : : : : : : : : 74

7.2.6 以前のコマンド入力をもう 1度実行 : : : : : : : : : : : : : : : : : : : : 74

7.3 別名機能 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 75

7.4 コマンドの入力とシェル変数 : : : : : : : : : : : : : : : : : : : : : : : : : : : 76

7.4.1 ワイルドカード文字の利用 : : : : : : : : : : : : : : : : : : : : : : : : : 76

7.4.2 シェル変数 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

7.4.3 コマンドの置換 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 79

7.4.4 クォーティング : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 79

7.5 ジョブ制御 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 80

7.6 ディレクトリスタック機構 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 86

7.7 Cシェルの環境設定ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : : 87

7.7.1 .cshrc ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87

7.7.2 .login ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 88

7.7.3 .logout ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 88

7.8 端末設定コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 88

7.9 環境設定 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 90

8 いろいろなコマンド 92

8.1 文字列の検索 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 93

8.2 文字数・行数を調べる : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 95

8.3 文字列の並び変え : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96

8.4 重複行の削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 97

8.5 文字変換 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 99

8.6 ファイルの比較 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100

8.7 ファイルの圧縮・復元 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 101

8.8 ファイルの探索 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 103

iii

Page 7: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.9 他ユーザとの会話 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 104

8.10 正規表現 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 108

8.11 正規表現を使ったファイルの編集 : : : : : : : : : : : : : : : : : : : : : : : : : 110

8.11.1 sed コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 110

8.11.2 awk コマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 114

9 周辺装置の利用方法 120

9.1 磁気テープ装置 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 120

9.1.1 磁気テープ装置仕様 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 120

9.1.2 磁気テープ装置の論理名称 : : : : : : : : : : : : : : : : : : : : : : : : : 120

9.1.3 磁気テープ装置を利用するコマンド : : : : : : : : : : : : : : : : : : : : 121

9.2 ページプリンタ装置 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127

9.2.1 LPRコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127

9.2.2 lpqコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 129

9.2.3 lprmコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 130

10 ネットワークコマンド 131

10.1 telnetコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 131

10.1.1 telnetコマンドの起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : 132

10.1.2 telnetコマンドの終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : 134

10.2 ftpコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 135

10.2.1 コマンドの起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 135

10.2.2 ftp のサブコマンド : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

10.2.3 転送モード : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 140

10.2.4 コマンドの終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 140

10.3 anonymous FTPサービス : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 141

10.4 proxyサーバ経由での学内外アクセス : : : : : : : : : : : : : : : : : : : : : : : 142

10.4.1 学内から学外への接続 : : : : : : : : : : : : : : : : : : : : : : : : : : : 142

10.4.2 学内から学外への接続 (anonymous FTP の場合) : : : : : : : : : : : : 143

10.4.3 学外から学内へ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 143

11プログラムコンパイル 144

11.1 コンパイルって何? : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

11.2 データ型の取り扱い : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 146

11.3 C言語のコンパイル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 147

11.4 FORTRAN言語のコンパイル : : : : : : : : : : : : : : : : : : : : : : : : : : : 149

iv

Page 8: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

付録

A コマンド要約 152

B 定義済Cシェル変数 159

C Cシェル組込みコマンド 161

D UNIXホスト名一覧 165

索引 166

v

Page 9: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

表 目 次

1.1 センター系 UNIXシステム名および所有台数 (2001年 10月現在) : : : : : : : 3

1.2 Compaq Tru64システム諸元表 (2001年 10月現在) : : : : : : : : : : : : : : : 4

1.3 FreeBSDシステム諸元表 (2001年 10月現在) : : : : : : : : : : : : : : : : : : : 5

1.4 SUN Solarisシステム諸元表 (2001年 10月現在) : : : : : : : : : : : : : : : : : 6

5.1 ツリー構造の説明 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 25

5.2 相対パス名指定 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 26

5.3 ファイル許可対象区分の説明 : : : : : : : : : : : : : : : : : : : : : : : : : : : 38

5.4 ファイル許可種別の説明 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 38

8.1 主な正規表現パターン表 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 94

9.1 磁気テープ装置仕様表 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 120

9.2 磁気テープ装置用デバイスファイル名称一覧表 : : : : : : : : : : : : : : : : : : 121

9.3 UNIXシステム用ページプリンタ一覧表 (2001年 4月現在) : : : : : : : : : : : 127

11.1 プログラミング言語一覧表 (2001年 10月現在) : : : : : : : : : : : : : : : : : : 145

11.2 C言語におけるデータ型の相違 : : : : : : : : : : : : : : : : : : : : : : : : : : 146

D.1 UNIXホスト名一覧表 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 165

vi

Page 10: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

図 目 次

1.1 UNIXの歴史的流れ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 1

1.2 UNIXの構造図 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2

3.1 ファイル名を指定して実行画面 (ホスト名を指定しない場合) : : : : : : : : : : 10

3.2 FreeBSDの初期画面 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 11

3.3 入力ミス時の画面 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 12

3.4 ワークステーションの初期画面 : : : : : : : : : : : : : : : : : : : : : : : : : : 12

4.1 「ログオフ」アイコン : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 19

4.2 「 Logo�?」ダイアログボックス : : : : : : : : : : : : : : : : : : : : : : : : : : 19

4.3 logoutウィンドウ (1) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20

4.4 logoutウィンドウ (2) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20

5.1 システムにおけるディレクトリのツリー構造図 : : : : : : : : : : : : : : : : : : 25

5.2 完全パス名指定 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 26

5.3 相対パス名指定 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 27

5.4 ファイルの種別と利用者別許可モードの表示方法 : : : : : : : : : : : : : : : : 39

5.5 シンボリックモードと 8進表示モードにおけるモード指定方法の相違 : : : : : 43

6.1 viのモード : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 46

6.2 emacs起動時の画面 (ファイル名指定しない場合) : : : : : : : : : : : : : : : : 59

6.3 emacs起動時の画面 (ファイル名指定した場合) : : : : : : : : : : : : : : : : : : 60

8.1 phoneコマンド実行時の自分側の画面表示例 : : : : : : : : : : : : : : : : : : : 105

8.2 phoneコマンド完了時の自分側の画面表示例 : : : : : : : : : : : : : : : : : : : 106

8.3 \-cj"オプションを指定した場合の画面表示例 : : : : : : : : : : : : : : : : : : 107

vii

Page 11: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 1章

UNIXとは

UNIXは 1969年に米国 AT&T社のベル研究所で、研究者達が自分の仕事を快適な環境の下で、しかも、効率良く行えるように開発されたオペレーティング・システム (OS)です。

1.1 UNIXの歴史

1969 UNIXの原形 Ken Thompson

1970 UNIX命名 B.W.Kernighan

1972 C言語誕生 Dennis Ritchie

1973 C言語による書換え Dennis Ritchie, Ken Thompson

1974 V4 ソースコード公開

1976 V6 1.0BSD

BerkeleySoftwareDistribution

V71979 3.0BSD

32V

System III1982 4.1BSDAT&Tサポート開始

System V1983 4.2BSD Bill Joy

System VRelease2.01984

4.3BSDSystem VRelease3.01986

1985

System VRelease4.01988

System VRelease4.21992

4.4BSD

AT&T系 BSD系

4.3BSD

1990

Tahoe

4.3BSDReno

OSF/1 V1.0

OSF/1 V1.2

Mach2.5

Mach3.0

Mach

OSF/1系

図 1.1: UNIXの歴史的流れ

1

Page 12: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

1.2 UNIXの特徴

� 汎用の会話型オペレーティング・システムである。

� 階層構造のファイルシステムを採用している。

� 各種周辺機器もファイルとして扱える。

� 移植性に優れている。

� 豊富なツールによる優れたソフトウェア開発環境。

1.3 UNIXの構造

UNIXは、図 1.2に示すように、「カーネル」、「シェル」、「ユーティリティ」の 3 つの部分からできていると考えることができます。

プログラミング環境

電子通信

追加機能プログラム

情報管理

テキスト処理シェル

ユーザ・プログラム

(核)カーネル

図 1.2: UNIXの構造図

カーネル: UNIXの心臓部 (核)にあたる部分です。カーネルはコンピュータへのアクセス制御、メモリの管理、ファイルの管理などを行っていて、90%が C言語で記述されています。

シェル: シェルはコマンド・インタプリタとして、コマンドを OS(UNIX の場合はカーネル)

に引き渡す役割をします。OSはコマンドをハードウェアに引き渡し、そこで実行されます。また、シェル自身、プログラム言語でもあります。

ユーザ・プログラム: コマンドやユーザが作成したプログラム (実行可能プログラム)、データファイル群です。

2

Page 13: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

1.4 UNIXシステムの紹介

センターでは、UNIXシステムとして表 1.1に示すようなシステムをサポートしています。

表 1.1: センター系 UNIXシステム名および所有台数 (2001年 10月現在)

システム名 台数 種別Compaq AlphaServer ES40 1

Compaq AlphaServer GS60 1高速演算サーバ

Compaq AlphaSserver 4100 1

Compaq Personal Workstation 600au 1授業実習サーバ

Compaq Personal Workstation XP1000 6

Compaq Alpha Station 255 10演算サーバ

Compaq Desk Pro ECS 12

SUN Ultra 10 2

1.4.1 Compaq Tru64システム

高速演算サーバを中心としたデスクトップ型 (一部、ラックマウント,デスクサイド型) ワークステーション群から構成される分散システムで、科学技術計算等のより高速化および効率化を図ることを目的としています。本システムは、Compaq社 (旧 DEC社)が世界に先駆けて開発した 64ビット RISCマイク

ロプロセッサを搭載した Alpha AXP シリーズのワークステーションで、以下のような特徴が挙げられます。

1. CPUとして、64ビット RISCアーキテクチャを採用している。

2. OSとして、OSF R1.0, R1.1, R1.2の機能とMotif V1.2.3のグラフィカル・ユーザ・インターフェースおよびプログラミング環境を兼ね備えた Tru64 UNIX を採用している。

3. 米国のマサチューセッツ工科大学 (M.I.T)で開発された X-Windowシステム (X11R6)の機能をサポートしている。

現在設置されている Compaq Tru64システムの仕様は、表 1.2 のとおりです。

3

Page 14: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

表 1.2: Compaq Tru64システム諸元表 (2001年 10月現在)

設置場所 マシンルームモデル名 AlphaServer ES40 AlphaServer GS60E AlphaServer 4100

Alpha21264 � 4 Alpha21264 � 4 Alpha21164A � 4CPU

(667MHz) (525MHz) (467MHz)

主記憶容量 2048MB 2028MB 1024MB

磁気ディスク容量 40GB 50GB 4GB

ネットワークインターフェース

Gigabit Ethernet � 1ポート

OS Tru64 UNIX Ver. 4.0F

ホスト名 sagami biwa dahlman

Personal Workstation Professional Workstationモデル名

600au XP1000

Alpha21164A � 1 Alpha21264 � 4CPU

(600MHz) (667MHz)

主記憶容量 512MB 512MB

磁気ディスク容量 4.2GB 9GB

ネットワーク 10/100自動認識インターフェース Ethernet � 1ポート

10/100自動認識 Ethernet � 1ポート

OS Tru64 UNIX Ver. 4.0F

arimine numazawa saiホスト名 bosch

sanaki shoji yogo

モデル名 AlphaServer 255

Alpha21064ACPU

(300MHz)

主記憶容量 320MB

磁気ディスク容量 2GB

ネットワークインターフェース

10/100自動認識 Ethernet � 1ポート

OS Tru64 UNIX Ver. 4.0F

hamana haruna kizaki megami nojiriホスト名

suwa shinji tazawa towada tsukui

4

Page 15: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

1.4.2 FreeBSDシステム

本システムは、コンピュータルームの標準パソコンとして導入されている、Compaq Desk

Pro ECS に米国カリフォルニア大学バークレー校 (UCB: University of California at Berkeley)

の CSRGにより開発されたUNIX \4.4BSD-Lite"を基にした、 Intel 386と DEC Alphaアーキテクチャのコンピュータシステムで動作する 32-bit OS である FreeBSDを稼働させている。FreeBSD OS は、以下のような特徴があげられます。

1. OS として、FreeBSD 4.0 を採用している。

2. OS が無償であり、ソースコードが公開されている。

3. 多種多様なアプリケーション が動作する。

4. 安価で安定したインターネットサーバ として世の中で広く使われている。

現在設置されている FreeBSDシステムの使用は、表 1.3のとおりです。

表 1.3: FreeBSDシステム諸元表 (2001年 10月現在)

設置場所 コンピュータルーム O

モデル名 Compaq Deskpro ECS

設置台数 12

CPU Pentium III (650MHz)

主記憶容量 128MB

磁気ディスク容量 10GB

ネットワークインターフェース

10/100自動認識 Ethernet � 1ポート

OS FreeBSD 4.0

abukuma agano ayase buko chikugo kujiホスト名

naka sakawa shingu suzuka tedori tsurumi

5

Page 16: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

1.4.3 SUN Solarisシステム

本システムは、SUN Microsystems社が開発した 64ビット RISCマイクロプロセッサ (Ul-

traSPARC II)を搭載したデスクトップ型ワークステーションで、以下のような特徴が挙げられます。

1. CPUとして、64ビット RISCアーキテクチャである SPARCシリーズを採用している。

2. OSとして、SUN Micorsystems社が開発した \Solaris2.6" を採用している。(System V(R4)を基本に 4.3BSDの機能の一部の環境が利用できる。)

3. 一般的なワークステーションとして世の中で良く使われており、多種多様なアプリケーションソフトが動作する。

現在設置されている SUN Solarisシステムの仕様は、表 1.4のとおりです。

表 1.4: SUN Solarisシステム諸元表 (2001年 10月現在)

設置場所 コンピュータルーム O

モデル名 Ultra10 Model440

設置台数 2

CPU UltraSPARC II i (440MHz)

主記憶容量 256MB

磁気ディスク容量 9GB

ネットワークインターフェース

Ethernet× 1ポート

OS Solaris2.6

ホスト名 sanuki wakasa

6

Page 17: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 2章

接続手段

2.1 接続手段

UNIXシステムへの接続手段には大きく分けて次の 2つの方法があります。

� 学内からの接続

� 学外からの接続

2.1.1 学内からの接続

学内からの接続には以下のような方法があります。

1. コンピュータルーム A, B, C, D, E, F, I, O の各部屋、および、図書館 PCコーナーに設置されているパソコンおよびワークステーションから、UNIXシステムを利用することができます。

2. 情報コンセント経由情報コンセントが設置されている部屋において、パソコンがあれば UNIXシステムに接続可能です。ただし、接続ケーブル等が別途必要になりますので、電子計算機センターまでお問い合わせください。

(a) IP(Internet Protocol)接続経由LANを構築されている学科からは基本的にこの方法になります。また、電子計算機センターが現在行なっている「教育研究個人 IP接続サービス」を受けられている方 (情報コンセントの接続口 \1"を利用)もこの方法になります。

(b) C/S(Communication Server)接続経由LANが構築されていない、あるいは、「教育研究個人 IP接続サービス」を受けていない研究室の情報コンセント (コンセントの接続口 \2"を利用)からの接続方法です。

7

Page 18: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

2.1.2 学外からの接続

学外から上智大学のネットワークに接続するには、以下の方法があります。

1. モデム経由パソコンとモデムおよび通信ソフトさえあれば、NTT回線経由でアクセス可能です。

(a) シリアル接続テキストデータや MH (Message Handling) による電子メールを扱う場合は、このシリアル接続で可能です。

(b) PPP接続電話回線を通じて、学内ネットワークに接続する方法ですが、シリアル接続と異なり、PPP1接続では、telnet, ftp, ホームページ閲覧, 電子メールソフトによる電子メールの送受信等のサービスを受けることができます。

なお、PPP接続をするには、電子計算機センターへの申請が必要です。

2. インターネット経由上智大学はWIDE 2に加入していますので、インターネットに加入している全世界中の組織からアクセス可能です。

接続手段で不明な点がありましたら、電子計算機センターまで問い合わせてください。なお、モデム経由の接続 (シリアル接続および PPP接続) については、別途接続方法や設定方法をまとめたマニュアルが電子計算機センターに用意してあります。

1PPP:Point to Point Protocol の略2Widely Integrated Distributed Environment(広域大規模分散環境)の略

8

Page 19: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 3章

接続方法

接続方法は 2章で紹介した接続手段により異なりますが、ここでは、以下のコンピュータからの接続方法について簡単に説明します。

� パソコン

{ Windows2000 搭載のパソコン (各コンピュータルームに設置)

{ PPP接続あるいは、研究室から TCP/IP接続しているパソコン

� UNIXシステム

なお、接続できるホスト名の一覧については、付録 Dの表 D.1を参照してください。

3.1 パソコン

各コンピュータルームに設置されているWindows2000搭載のパソコン、PPP接続あるいは、各研究室等から TCP/IP 接続されているパソコンの 2通りについて、それぞれ UNIXシステムに接続する方法を説明します。

3.1.1 コンピュータルームのパソコン

本節では、Windows2000搭載のパソコンからの接続方法について説明します。

1. Windows2000のロゴが画面に表示されていることを確認します。

2. Windows2000にログインします。Ctrl キーと Alt キーと Delete キーの 3つのキーを同時に押してください。Windows2000 のログオン画面が表示されます。

3. ログイン名とパスワード (UNIXのものと同じです) を入力し、�� �� �キーを押します。

正常にログインできると、Windows2000のデスクトップが表示されます。

4. デスクトップにある「 Network Connection」のフォルダのアイコンをダブルクリックします。

9

Page 20: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5. 「 Network Connection」のフォルダが開き、UNIX接続用のアイコンがウィンドウ内に表示されます。いくつかあるアイコンのうち \WinYAT", \Telnet"を除く 、いずれかをダブルクリックします1。ここでは、 \dahlman" のアイコンを選択することにします。

6. 画面が次のようになります。

� �

Digital UNIX (dahlman)

login: ( UNIXログインプロンプト� �

接続できない場合は、電子計算機センターまでご連絡ください。

以上で、ホスト (この場合は \dahlman") への接続は完了です。次章の「基本的な使い方」へ進んでください。

3.1.2 PPP接続あるいは研究室から TCP/IP接続しているパソコン

ここでは例として、以下のような環境である場合について説明します。

� Windows システム搭載のパソコンである。

� PPP接続 あるいは、TCP/IP接続によってすでにネットワークに接続されている。

接続する UNIXマシンのホスト名は、ここでは \dahlman"とします。なお、使用しているパソコンによっては、以下に説明する場合と、操作方法が異なることがあります。

1. パソコンの電源を入れ起動します。

2. [スタート]ボタンをクリック、[ファイル名を指定して実行 (R)]を選択し、\ファイル名を指定して実行"画面を表示します。

図 3.1: ファイル名を指定して実行画面 (ホスト名を指定しない場合)

1\高速演算サーバ", \FreeBSD", \SUN Solaris" のマシンに接続する場合には、更にそれぞれのフォルダを開いてから選択します。

10

Page 21: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. \名前 (O)"に \telnet" を入力し、[OK]ボタンをクリックします。なお日本語を表示する必要が無い場合は、\telnet dahlman.cc.sophia.ac.jp"と入力すると 6の画面が表示されます。

4. \set jis kanji" を入力し �� �� �キーを押します2。

5. \open dahlman.cc.sophia.ac.jp" を入力し�� �� �キーを押します。

� �

MicrosoftTerm> set jis kanji �� �� � ( 文字コードを jis kanji に指定

MicrosoftTerm> open dahlman.cc.sophia.ac.jp �� �� � ( dahlman へ接続

� �

6. 次のような画面が表示されます。

� �

Digital UNIX (dahlman)

login: ( UNIXログインプロンプト� �

以上で、ホストへの接続は完了です。次章の「基本的な使い方」へ進んでください。

3.2 ワークステーション

ここでは、コンピュータルームOに設置されているFreeBSDマシン (ホスト名:\abukuma")

における操作方法を説明します。なお、初期の画面は異なりますが、他の Compaq Tru64ワークステーション、あるいは、SUN Solarisワークステーションにおいても基本的に操作方法は同じです。

1. 画面が図 3.2に示すような表示になっていることを確認します。もし、真っ黒な場合は、何かキーを押してみるか、マウスを少し動かしてみてください。それでも何も表示されない場合は、ディスプレイの電源を確認してください。図 3.2 のような画面が表示されない場合は、電子計算機センターまでご連絡ください。

ログイン名を入力

パスワードを入力

図 3.2: FreeBSDの初期画面

2\set ki"あるいは、\set ko"と入力する事も可能です。

11

Page 22: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

2. UNIXのログイン名を入力し、�� �� �キーを押します。

3. パスワードを入力し、�� �� �キーを押します (入力した文字は機密保護のため画面に表示され

ません)。ログイン名あるいはパスワードに入力ミスがあった場合は、\Login incorrect"

あるいは、\ログイン情報が正しくありません" と表示されます。そのまま �� �� �キーを押

してください。最初の画面 (図 3.2)に戻ります。

図 3.3: 入力ミス時の画面

4. 正常にアクセスできると、X Window の環境設定ファイルを変更しない限りは、画面に大小 2つのウィンドウと、時計、Logoutウィンドウが表示されます。

図 3.4: ワークステーションの初期画面

これで UNIXシステムにアクセス完了しましたので、4章の 4.1節は飛ばして進んでください。

12

Page 23: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 4章

基本的な使い方

4.1 ログイン

システムに接続された端末の画面に次のような表示 (ホスト名 \dahlman" に接続した場合)

があればシステムにログイン (login)し、UNIXと会話する事ができます。� �

Digital UNIX (dahlman)

login:� �

それでは実際にシステムにログインしてみましょう。

1. \login:"表示に続き自分のログイン名を英小文字で正しく入力して �� �� �キーを押します。

2. システムがログイン名を受け付けると、\Password:"と表示され、パスワードの入力を促してきますので、自分のパスワードを正しく入力して �

� �� �キーを押します (入力した文

字は機密保護のため画面に表示されません)。

3. ログイン名とパスワードが正しく入力されると、システムはログイン情報表示後、コマンドプロンプトを表示します。コマンドプロンプトは、あらかじめ

ログイン名@ホスト名 [番号]=>

と表示されるように、登録時に設定しています。

なお、本マニュアルではコマンドプロンプトとして、\sophia%"を使用します。

13

Page 24: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

login: t-jouchi �� �� � ( ログイン名を入力し �

� �� �キーを押します

Password: xxxxxxx �� �� � ( パスワードを入力し �

� �� �キーを押します

(入力した文字は画面には表示されません。)

Last login: Tue Sep 30 16:42:32 from sagami

Digital UNIX V4.0F (rev. 96.2); Mon Jul 14 17:45:18 JST 1997

SOPHIA UNIVERSITY

Hello, how are you today? Welcome to dahlman (Compaq AlphaServer 4100).

sophia% ( コマンドプロンプト� �

注意 ログイン名やパスワードをミスタイプした場合でも、�� �� �キーを押す前であれば、Ctrl

キーを押しながら \u" キーを押し、新たに正しい文字を入力します。

ミスタイプしたまま �� �� �キーを押すと、\Login incorrect" と表示され、システムはロ

グインを受け付けません。その時は再度、正しいログイン名およびパスワードを入力し直してください。

4.1.1 ログイン名の入力ミス例� �

login: t-jochi �� �� � ( ログイン名を間違えて入力し、�

� �� �キーを押した

Password: ( とりあえず �� �� �キーを入力

Login incorrect. ( ログインに失敗したメッセージ

login: t-jouchi �� �� � ( 正しいログイン名を入力

Password: ( パスワードを入力� �

4.1.2 パスワードの入力ミス例� �

login: t-jouchi �� �� � ( ログイン名を入力

Password: ( 間違えたので Ctrlキーを押しながら \u"キーを入力し、

再度、正しいパスワードを入力� �

パスワードを間違えたまま �� �� �キーを押すと、\Login incorrect."と画面に表示されます。

この場合は、4.1.1節 のように、再度、ログイン名と正しいパスワードを入力してください。

14

Page 25: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.2 パスワード

パスワードは、ログイン名を入力した人が、本人であるかをシステムがチェックするための大事な鍵 (キーワード )になりますので、絶対に他人の前でパスワードを入力したり、単純なパスワードは設定しないように各自責任をもって管理してください。

4.2.1 パスワードの保護

センターがサポートしている UNIXマシンは、コンピュータネットワークを通じて日本国内はもとより、世界中にアクセス可能になっています。逆に言えば、世界中からアクセスされる可能性があるわけです。したがって、自分のログイン名を他人に使わせるようなことがあってはならないし、パスワードも他人が推測できるような簡単なものであってはいけません。

悪意を持った第三者に不正利用されると、自分のファイルが消去されたり、改ざんされるだけでなく、システム全体が破壊される恐れもあります。また、自分のログイン名を使って、電子メールや電子ニュースを勝手に出されたりする可能性もあります。こうなると、自分には身に覚えがなくても、システム上、ネットワーク上では、すべて自分がやったものと見なされてしまいます。また、上智大学の管理責任、日本のネットワークとしての管理責任も問われることになります。

パスワードは、以下の点に留意しながら、常に細心の注意を払って取り扱ってください。

� 利用許可書に記載されているパスワードをいつまでも使わない。早い段階で (できれば始めて利用するときに)、新しいパスワードに変更する。(パスワード変更の方法は、4.2.5節を参照のこと。)

� 利用許可書を責任を持って管理する (紛失や放置は厳禁)。

� パスワードを入力するときには、他人に見られないようにする。また、他の人がパスワードを入力するときは、キーボードから目をそらすなどして、他人のパスワードを意図的に見ないようにする。

15

Page 26: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.2.2 悪いパスワード

パスワードとして良くない例を以下に示します。これらのパスワードは絶対に使用しないでください。

� 英小文字だけ, 英大文字だけ, 数字だけなど、一つの文字種しか使っていないもの

� 6文字未満のもの

� 辞書に載っている単語

� aaa 等の同じ文字の繰り返し

� 自分の名前,家族の名前,恋人の名前,それらの人の誕生日,住所, 地名,電話番号等 他人にも容易に推測できるもの

� 有名人、アイドル等の名前

� 書き留めないと忘れるような憶えにくいもの

4.2.3 良いパスワード

好ましいパスワードの例を示します。

� 英小文字、大文字、記号、数字の組み合わせで 6文字以上、8文字以下(できれば、7文字か 8文字)

� 書き留められずに憶えられるもの

� 2または 3つの単語の組み合わせ

� キーボードから入力しやすいもの

4.2.4 パスワード設定時の注意事項

パスワードを設定・変更する時は、4.2.3節の例を踏まえた上で、以下の事に注意して行なってください。

� パスワードには英小文字、英大文字、数字をそれぞれ 1つ以上使ってください。

� 特殊文字の \@"と \#"と \スペース" および、\Tab"は使用しないでください。これらの文字をパスワード変更の際に使うと、次回から UNIXシステムにログインできなくなります。

� パスワードは、定期的 (1ヶ月に 1度以上の頻度)に変更してください。

16

Page 27: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.2.5 パスワードの変更

パスワードを変更する場合は、\yppasswd"コマンドを使って変更します。

パスワードの変更は、どの UNIXマシンでも行なうことができます。また、いずれか 1台の UNIXマシンでパスワードを変更すれば、そのパスワードは他のすべての UNIXマシンにおいても有効となります。

1. コマンドプロンプトに続いてパスワード変更コマンド \yppasswd" を入力し、�� �� �キーを

押します。� �

sophia% yppasswd �� �� �

� �

2. 画面に \Old password:"と表示されたら、「現在使用しているパスワード」を入力して�� �� �キーを押します。� �

Changing NIS password for t-jouchi on yodo.cc.sophia.ac.jp

Old password: ( 現在使用しているパスワードを入力 (画面には表示されません)

� �

注意 「現在使用しているパスワード」をミスタイプすると、システムは \Sorry"と表示し、パスワード変更を受け付けません。その場合は、再度パスワード変更コマンドを実行してください。

3.「現在使用しているパスワード」を正しく入力すると、次にシステムは、\New password:"

と画面に表示して、新しいパスワードの入力を促します。ここで、新しいパスワードを入力して、 �

� �� �キーを押します。

� �

Changing NIS password for t-jouchi on yodo.cc.sophia.ac.jp

Old password:

New password: ( 新しいパスワードを入力 (画面には表示されません)

� �

4. 新しいパスワードを入力すると、システムはタイプミスなどによる間違いを防ぐために、再度確認のために新しいパスワードの入力を促します。ここで、もう一度新しいパスワードを入力して、�

� �� �キーを押します。

� �

Changing NIS password for t-jouchi on yodo.cc.sophia.ac.jp

Old password:

New password:

Retype new password: (再度新しいパスワードを入力 (画面には表示されません)

� �

17

Page 28: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5. 新しいパスワードが正しく設定されると、以下のメッセージが画面に表示されます。� �

Changing NIS password for t-jouchi on yodo.cc.sophia.ac.jp

Old password:

New password:

Retype new password:

NIS password has been changed on yodo.cc.sophia.ac.jp

sophia%� �

これで、パスワードが変更されました。なお、新しいパスワードがすべての UNIXマシンで有効になるまで、多少時間がかかります。

4.2.6 パスワードを忘れたら?

不幸にも自分のパスワードを忘れてしまったときは、電子計算機センター事務室に、学生証等の身分証明書を提示のうえ、「パスワード変更願書」を提出してください。本人である事を確認の上、願書に基づいて、新しい「仮のパスワード」を設定します。この

仮のパスワードは、申請した日の 2日後1から使用できます。ただしこの時、「利用許可書」は再発行しません。なお、仮のパスワードでログインできたら、すぐに新しいパスワードに変更してください。

4.2.7 Windows2000とのパスワード同期

UNIXのパスワードとWindows2000のパスワードは同期をとっており、双方で同じものが使えるように設定してあります。UNIX上で \yppasswd" (4.2.5節を参照) コマンドを使ってパスワードを変更すると、Windows2000側のパスワードも同時に変更されます。逆もまた同様で、Windows2000上でパスワード変更アプリケーションを使ってパスワードを変更すると、UNIX のパスワードも変更されます。

4.3 ログアウト

ログアウトとは、UNIX上での作業が終了し、現在自分が使用している端末からシステムへのアクセスを終了させる作業をいいます。

ログアウト操作をしないで端末から離れてしまうと、まだシステムと端末は接続状態になっているため、他人に自分のログイン名を不正使用される危険があります。自分の作業が終了したら必ずログアウト操作を行ってください。なお、接続方法によって終了方法が異なりますので注意してください。ここでは、3章で説明した接続方法からによるログアウト方法について説明します。

1日数の計算には、土・日曜日、祝日、大学事務休業日は含みません。したがって、例えば金曜日に申請した場合は、翌週の火曜日から「仮のパスワード」が有効となります。

18

Page 29: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.3.1 Windows2000搭載パソコン

本節では、各コンピュータルームに設置されているWindows2000搭載のパソコンからのログアウトについて説明します。

1. ログアウトコマンド \logout"を入力して �� �� �キーを押します。

� �

sophia% logout �� �� �

� �

UNIXシステムへのアクセスが終了し、TeraTermのウィンドウが自動的に閉じます。

2. 「 Network Connection 」のウィンドウ右上の × ボタンをクリックして、そのウィンドウを閉じます。

3. 図 4.1にあるような、デスクトップの「ログオフ」アイコンをダブルクリックします。

図 4.1: 「ログオフ」アイコン

4. \Logo�?"のダイアログボックス (図 4.2参照) が表示されるので、左側の Logo�ボタンをクリックします。

図 4.2: 「 Logo�?」ダイアログボックス

以上で、ログアウト操作は終了です。

【注 意】� �

各コンピュータルームに設置されているWindows2000搭載パソコンの本体およびディスプレイの電源は、絶対に切らないでください。無理に電源を切ると、その後の動作が不安定になり故障の原因になります。� �

19

Page 30: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.3.2 PPP接続あるいは、研究室から TCP/IP接続しているパソコン

1. ログアウトコマンド \logout"を入力して �� �� �キーを押します。

� �

sophia% logout �� �� �

� �

UNIXシステムへのアクセスが終了し、telnetのウィンドウが自動的に閉じます。

2. 以上で、ログアウト操作は終了です。パソコンの電源については、必要なければ切ってください。

4.3.3 ワークステーション

ここでは、オープン処理室に設置されている FreeBSD(ホスト名:\abukuma")における操作方法を説明します。なお、初期の画面は違いますが、他のワークステーション (Compaq Tru64,

SUN Solaris) においても基本的に操作方法は同じです。

1. 画面左上に、図 4.3に示すようなウィンドウ (\xlogout"というタイトルのついたウィンドウ)がありますので、このウィンドウをマウスでクリックします。

このウィンドウをクリックします

図 4.3: logoutウィンドウ (1)

2. 画面が図 4.4のようになりますので、右側 (\Logout"の方)をクリックします。なお、左側 (\Cancel")をクリックするとログアウト操作がキャンセルされます。

"Logout"を選択し、クリックします

図 4.4: logoutウィンドウ (2)

3. 画面が図 3.2 (p.11参照) のような表示に戻れば、ログアウト操作は正常に終了したことになります。

【注 意】� �

ワークステーションは、原則として24時間運転しています。本体およびディスプレイの電源は、絶対に切らないでください。� �

20

Page 31: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.4 やさしいコマンド

UNIXには、300以上のコマンドが用意され、それらのコマンドを使って UNIXと会話することによって、ユーザは高度な処理を行うことができます。

4.4.1 who コマンド

現在、システムにログインしているユーザ名を表示します。� �

sophia% who �� �� �

t-jouchi ttyp0 Oct 7 08:32

yabuki ttyp1 Oct 7 10:27

k_sasaki ttyp5 Oct 7 09:10

m-unnno ttyp3 Oct 7 09:35

sophia%� �

自分のログイン名、端末名、およびログインした時間を表示したい時は \who am i"コマンド 2を使います。� �

sophia% who am i �� �� � ( \who", \am", \i" の間にスペースを入れた場合

t-jouchi ttyp0 Oct 4 08:32

sophia% whoami �� �� � ( \who", \am", \i" を全部つなげて入れた場合

t-jouchi

sophia%

� �

4.4.2 date コマンド

現在の年月日と時間を表示します。� �

sophia% date �� �� �

Tue Oct 7 11:56:48 JST 1997

sophia%

� �

2ログインしているマシンによっては表示が異なる場合があります。

21

Page 32: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.4.3 cal コマンド

指定年月のカレンダーを表示します3。例えば、1997年 10月のカレンダーを表示してみます。� �

sophia% cal 10 1997 �� �� �

October 1997

Sun Mon Tue Wed Thu Fri Sat

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 31

sophia%

� �

月の指定を省略すると、指定した年の 1年分のカレンダーが表示されます。

4.4.4 man コマンド

指定コマンドのオンラインマニュアル (英文)を表示します。� �

sophia% man man �� �� �

man(1) man(1)

NAME

man - Displays reference pages

SYNOPSIS

man [-] [-M | -P search_path] [-t] [-l] {[section[suffix]] title...}...

man [-M | -P search_path] -f title ...

man [-M | -P search_path] -k keyword ...

...

DESCRIPTION

The man command provides online access ………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

:� �

\man"コマンドを終了する場合は \q" を入力します。

3ログインしているマシンによっては、曜日の表示が \S M Tu W Th F S" となることがあります。

22

Page 33: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4.4.5 more コマンド

指定したファイルの内容を画面単位に表示します。\man"コマンドは、マニュアルを画面単位に表示しています。これらのコマンドの機能は、ファイルの内容を画面単位に表示する \more"

コマンドの機能に大変似ているので、\more"コマンドの機能について簡単に説明します。

キー操作 機能説明f or スペースキー 1画面分進んで表示b 1画面分戻って表示ne or nj or �

� �� � n行分前に進んで表示 (既定値=1行)

ny or nk n行分後に戻って表示 (既定値=1行)

nd n行分前に進んで表示 (既定値=画面の半分)

nu n行分後に戻って表示 (既定値=画面の半分)

r 同じ画面をもう一度表示h ヘルプ画面ng n行目から表示 (既定値=ファイルの先頭行)

nG n行目から表示 (既定値=ファイルの最終行)

= 表示ファイル名を画面最下端に表示n/文字列 n番目に出てくる文字列の所に進んで表示n?文字列 n番目に出てくる文字列の所に戻って表示q moreコマンドを終了

注意 上記キー操作で \n" と表示されている部分は省略可能です。省略しない場合は、キー操作文字の前に適当な数値を入力します。

例 \file01"という名前のファイルを見る場合は、以下のように入力します。� �

sophia% more �le01 �� �� �

� �

\more"コマンドを使って、ファイルの内容を見たいときは、\more"コマンドの後にファイル名を指定します。

例 ファイル内の \sophia"という文字列が 3番目に出てくる所を表示するような場合は次のように入力します。� �

3/sophia�� �� �

� �

\more"コマンドを使って長いファイルの内容を見て、上記のキー操作を行なうと、見たい所を自由に画面表示できるので便利です。

23

Page 34: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 5章

ファイルシステム

5.1 ファイルシステムとディレクトリ

UNIXでは、ファイルを階層的に管理しています。このようなファイルシステムのことをツリー構造 (木構造)といいます (図 5.1参照 : p.25)。すべてのユーザファイルは、このファイルシステムの一部であり、ある部分から下が各ユーザに割り当てられています。ツリー構造は、枝分かれの部分と葉の部分とがあります。葉の部分は実際にデータ等が格納

されている容器で、枝分かれの部分はそれらの容器を寄せ集めるための更に大きな容器と考えることができます。この葉に相当するものを「通常ファイル」、枝分かれに相当するものを「ディレクトリファイル」と言います。この他に、「特殊ファイル」と呼ばれるファイルがあります。

� 通常ファイル

ユーザが使用するテキスト (文章)やバイナリデータ (実行形式のプログラム)などが格納されたファイルです。

� ディレクトリファイル

ファイルを管理するためのファイルをディレクトリファイルと呼び、このファイルには、ファイルの各種情報が格納されています。

� 特殊ファイル

システムでサポートされている入出力装置を表わすファイルです

図 5.1における各ディレクトリの意味については、表 5.1 を参照してください。

5.1.1 ファイルの指定法

ファイルを指定するということは、ツリー構造の中でのファイルの位置を指定するということになります。また、ファイルを扱う場合のファイル名ということにもなります。実際に説明に入る前に、これから良く使われる用語「カレントディレクトリ」および「ホー

ムディレクトリ」について簡単に説明します。

ユーザは、ログインしている間はファイルシステムの中のどこかのディレクトリに位置することになっています。自分が現在位置しているディレクトリのことを「カレントディレクトリ」

24

Page 35: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

local lib bin admin rikou bun gaigo

usr thomeetclibbin shome tmp

/ (root)

yabuki fujiwara

図 5.1: システムにおけるディレクトリのツリー構造図

表 5.1: ツリー構造の説明

ディレクトリ名 概 要/bin UNIXの基本コマンド用ディレクトリ/dev 入出力装置用の特殊ファイル用ディレクトリ/etc システム管理のツール用ディレクトリ/usr 汎用ファイルおよびコマンド用ディレクトリ/thome 教員用ユーザホームディレクトリ (上智大学固有)

/shome 学生用ユーザホームディレクトリ (上智大学固有)

/tmp テンポラリファイル用ディレクトリ

と言い、ユーザがログインした時に位置しているディレクトリのことを「ホームディレクトリ」と言います。したがって、ユーザがログインした時のディレクトリは、ホームディレクトリであり、かつ、カレントディレクトリでもあるわけです。

ホームディレクトリ ログインしたときに位置しているディレクトリ(ログイン名登録時にシステム管理者が設定する)

カレントディレクトリ 現在位置しているディレクトリ(ワーキングディレクトリとも言います)

25

Page 36: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

ファイルの指定方法には、「完全パス名指定」と「相対パス名指定」の 2種類があります。

� 完全パス名指定

ルートを起点に、目的のファイルまでをいくつかのディレクトリを順にたどって指定する方法 (図 5.2参照 : p.26)。

/

shome

succ

t-jouchi

prog

prog01

ディレクトリ

通常ファイル

ユーザ ホームディレクトリ

指定するファイル

"prog"というファイルを指定する場合

/shome/succ/t-jouchi/prog/prog01

はじめの"/"は、「ルートディレクトリ」を意味します。その他の"/"は、ディレクトリとディレクトリの区切りを意味します。

図 5.2: 完全パス名指定

� 相対パス名指定

カレントディレクトリを起点に、目的のファイルまでのディレクトリを指定する方法(図 5.3参照 : p.27)。

このように、相対パス名を使ってファイル名を指定するには \ . "(ドット) 、\ .. "(ドットドット)で表わすことができます。

表 5.2: 相対パス名指定の説明

. (ドット) カレントディレクトリを意味します。

.. (ドットドット) カレントディレクトリの一つ上のディレクトリ (親ディレクトリと言う)を意味します。

以上のように、同じファイルを指定する場合でもカレントディレクトリがどこにあるかによってパス名の一部を省略することができます。

26

Page 37: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

t-jouchi

ディレクトリ

通常ファイル

カレントディレクトリが /shome/succ/t-jouchi のときに "prog1" というファイルを指定する場合

prog/prog1 または ./prog/prog1

カレントディレクトリが /shome/succ/t-jouchi/prog のときに /shome/succ/t-jouchi/test の下にある"prog1" というファイルを指定する場合

../test/prog1

prog

prog1 prog1

test

図 5.3: 相対パス名指定

5.2 ファイル操作

ファイルは、内容を画面に表示したり、別のファイルにコピーしたり、編集したり、またファイル名を変更したり、削除したりすることができます。以下でファイル操作について簡単に説明します。

5.2.1 ファイルを作る

一般にファイルを作成する時はエディタを利用しますが、ここでは、画面に表示される文字列をファイルに入れ、作成するという最も簡単な方法で説明します。この方法はシェルの「出力リダイレクション」という機能を利用したものです。

� \date"コマンドで表示される文字列 (日付)をファイル (\�le1") に入れます。� �

sophia% date > �le1 �� �� �

� �

� \echo"コマンドで表示される文字列をファイル (\�le2") に入れます。� �

sophia% echo 'Hello, How are you today?' > �le2 �� �� �

� �

\echo"コマンドのみを使用した時は画面に出力されていた文字列が、上記の例のように\ > ファイル名"と入力すると、文字列が指定したファイルに出力されます。ファイルは自動的に作成されますが、指定したファイルがすでに存在する場合には、古い内容は抹消されて、新しい内容が出力されますので注意してください。

� \cat"コマンドを使ってファイル (\�le3") に文字列を入れます (文字列の入力が終ったらCtrlキーを押しながら \d"キーを押します)。

27

Page 38: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

sophia% cat > �le3 �� �� �

Hello, How are you today? �� �� �

Thank you ! I am very �ne. �� �� �

^d ( Ctrlキーを押しながら \d"キーを押す� �

\cat"コマンドは、本来ファイルの内容を画面に表示するコマンドですが、エディタの代わりに簡単なファイルを作成する時には非常に便利です。

5.2.2 ファイル名の表示

指定されたファイル名 (ディレクトリファイルも含む)およびファイル,ディレクトリに関する情報を表示するには \ls" (LiStingの略)コマンドを使います。ファイル名の指定を省略するとカレントディレクトリ下にあるファイル (ディレクトリファイルも含む)の一覧が表示されます (ファイル名はアルファベット順に表示されます)。

コマンド形式� �

sophia% ls オプション ファイル名� �

指定できるオプションは数多くあり、ここで全てを紹介することはできませんが、代表的なオプションについて紹介します。その他のオプションについてはオンラインマニュアル等を参照してください。

オプション 説明-a 全てのファイル名を表示

-l(エル) ファイルに関する詳細情報も付記して表示-F ファイルの種類 (ディレクトリファイルか通常ファイル

か)をファイル名の後に付記して表示。ディレクトリには \/"、通常ファイルには無印、実行可能形式のファイルには \*"印が付く

-t 最終更新時刻の新しいものから表示

28

Page 39: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

操作例� �

sophia% ls �� �� �

Mail file1 file2 file3 prog prog1 prog2

sophia% ls -F �� �� �

Mail/ file1 file2 file3 prog/ prog1 prog2

sophia% ls -a �� �� �

. .. Mail file1 file2 file3 prog prog1 prog2

sophia% ls -l �� �� �

total

drwxr-x--- 2 t-jouchi stud 2048 Apr 20 11:19 Mail

-rw-r--r-- 1 t-jouchi stud 29 May 5 10:12 file1

-rw-r--r-- 1 t-jouchi stud 26 May 5 10:13 file2

-rw-r--r-- 1 t-jouchi stud 54 May 5 10:14 file3

drwxr-xr-x 2 t-jouchi stud 2048 Apr 21 09:26 prog

-rw-r--r-- 1 t-jouchi stud 29 May 3 18:13 prog1

-rw-r--r-- 1 t-jouchi stud 31 May 3 19:41 prog2

sophia% ls -lF �� �� �

total

drwxr-x--- 2 t-jouchi stud 2048 Apr 20 11:19 Mail/

-rw-r--r-- 1 t-jouchi stud 29 May 5 10:12 file1

-rw-r--r-- 1 t-jouchi stud 26 May 5 10:13 file2

-rw-r--r-- 1 t-jouchi stud 54 May 5 10:14 file3

drwxr-xr-x 2 t-jouchi stud 2048 Apr 21 09:26 prog/

-rw-r--r-- 1 t-jouchi stud 29 May 3 18:13 prog1

-rw-r--r-- 1 t-jouchi stud 31 May 3 19:41 prog2

sophia% ls -t �� �� �

file3 file2 file1 prog2 prog1 prog Mail

sophia% ls test �� �� �

test: No such file or directory

sophia% ls Mail �� �� �

context drafts inbox scancomps

sophia% ls -a Mail �� �� �

. .. context drafts inbox scancomps

� �

29

Page 40: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.2.3 ファイルの内容を表示する

ファイルの内容を画面に表示するには \cat" (conCATenateの略)コマンドを使います。

コマンド形式� �

sophia% cat オプション ファイル名� �

オプション 説明-n 各行の先頭に行番号を付ける-b -n と同じように各行の先頭に行番号を付けるが、空白

行には行番号は付けない。-s ファイルが存在しなくてもエラーメッセージを出さない-v 非印字文字 (タブ、改行等は除く)を可読文字として印字

する

操作例� �

sophia% ls �� �� �

Mail file1 file2 file3 prog prog1 prog2

sophia% cat �le1 �� �� �

Fri May 5 10:12:22 JST 1993

sophia% cat -n �le3 �� �� �

1 Hello, How are you today?

2

3 Thank you ! I am very fine.

sophia% cat -b �le3 �� �� �

1 Hello, How are you today?

2 Thank you ! I am very fine.

sophia% cat test1 �� �� �

test1: No such file or directory

sophia% cat -s test1 �� �� �

sophia%

� �

ファイルの内容が 1画面に納まりきらず、ファイルの内容が流れて (スクロールして)見にくい場合は、\more"コマンド (4.4.5節参照 : p.23) を使うか、次のようなキー操作をすることによって、画面表示を一時停止したり、再開したりできます。

画面スクロールの一時停止 Ctrl +s

画面スクロールの再開 Ctrl +q

30

Page 41: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.2.4 ファイル名の変更・移動

ファイル名を変更したり、ファイルを他のディレクトリに移動させたりするときは、\mv"(MoVeの略)コマンドを使います。

コマンド形式� �

sophia% mv オプション 元のファイル名 新しいファイル名� �

オプション 説明-i 「新しいファイル名」が既に存在する場合、実行確認の

入力を促します

操作例� �

sophia% ls �� �� �

Mail file1 file2 file3 prog prog1 prog2

sophia% mv �le3 my�le �� �� �

sophia% ls �� �� �

Mail file1 file2 myfile prog prog1 prog2

sophia% mv -i my�le �le2 �� �� �

overwrite file2? y �� �� �

sophia% ls �� �� �

Mail file1 file2 prog prog1 prog2

sophia%

� �

「新しいファイル」には \ディレクトリ" も指定することができます。その場合、元のファイル名は複数指定できます。

操作例� �

sophia% ls -F �� �� �

Mail/ file1 file2 file3 prog/ prog1 prog2

sophia% ls prog �� �� �

prog3

sophia% mv �le1 �le2 �le3 prog �� �� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2

sophia% ls prog �� �� �

file1 file2 file3 prog3

sophia%

� �

31

Page 42: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.2.5 ファイルの複写

ファイルおよびディレクトリを複写 (コピー)するときは、\cp" (CoPyの略) コマンドを使います。

コマンド形式� �

sophia% cp オプション 元のファイル名 新しいファイル名� �

オプション 説明-i 「新しいファイル名」が既に存在する場合、実行確認の

入力を促します-p 元ファイルの許可情報および最終更新日時をそのままに

して複写します-r 「元のファイル名」、「新しいファイル名」にそれぞれ

ディレクトリ名を指定し、元ファイル名のディレクトリ以下の全てのファイル (サブディレクトリも含む) を新しいファイル名のディレクトリに複写する

操作例� �

sophia% ls �� �� �

file1 file2 myfile

sophia% cp my�le �le3 �� �� �

sophia% ls �� �� �

file1 file2 file3 myfile

sophia% cat �le3 �� �� �

Hello, How are you today?

Thank you ! I am very fine.

sophia% cat my�le �� �� �

Hello, How are you today?

Thank you ! I am very fine.

sophia% cat �le1 �� �� �

Thu Feb 5 13:37:35 JST 1998

sophia% cp -i �le1 �le3 �� �� �

overwrite file3? n �� �� �

sophia% cat �le3 �� �� �

Thu Feb 5 13:37:35 JST 1998

sophia%

� �

32

Page 43: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.2.6 ファイルの削除

不要となったファイルを削除するには \rm" (ReMoveの略) コマンドを使います。削除してしまったファイルは元に戻すことはできませんので、このコマンドを使うときには十分注意して実行してください。

コマンド形式� �

sophia% rm オプション ファイル名� �

オプション 説明-i 本当に削除して良いかどうか、実行確認の入力を促し

ます

操作例� �

sophia% ls �� �� �

file1 file2 file3 myfile

sophia% rm my�le �� �� �

sophia% ls �� �� �

file1 file2 file3

sophia% rm -i �le3 �� �� �

rm: remove file3? n �� �� �

sophia% ls �� �� �

file1 file2 file3

sophia% rm -i �le2 �� �� �

rm: remove file2? y �� �� �

sophia% ls �� �� �

file1 file3

sophia%

� �

5.3 ディレクトリ操作

5.3.1 カレントディレクトリの表示

現在のカレントディレクトリを完全パス名で表示するには \pwd" (Print Working Directory

の略) コマンドを使います。� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

sophia%

� �

33

Page 44: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.3.2 ディレクトリの移動

カレントディレクトリを指定したディレクトリに移動するには \cd" (Change working Directory

の略)コマンドを使います。また、コマンド引数 (ディレクトリ名)を省略するとカレントディレクトリがホームディレクトリに移動します。

コマンド形式� �

sophia% cd ディレクトリ名� �

操作例� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2

sophia% cd prog �� �� �

sophia% pwd �� �� �

/shome/succ/t-jouchi/prog

sophia% cd �� �� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

sophia% cd / �� �� �

sophia% pwd �� �� �

/

sophia% ls -F �� �� �

DXsession* ja_JP.deckanji/ proc/ text/

bin@ ja_JP.sdeckanji/ sbin/ thome/

dev/ jsykojin.dic share@ tmp/

etc/ lib@ shlib/ usr/

genvmunix* mdec/ shome/ var/

home/ mnt/ subsys/ vmunix

ja_JP@ opt/ sys/ x/

ja_JP.SJIS/ osf_boot* tcb/

sophia% cd �� �� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

sophia%

� �

34

Page 45: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.1.1節 (p.26参照)でも説明しましたが、カレントディレクトリを \ . "(ドット)、その上のディレクトリを \ .. "(ドットドット) で表わすことができます。

操作例� �

sophia% pwd �� �� �

/shome/succ/t-jouchi/prog

sophia% cd . �� �� �

sophia% pwd �� �� �

/shome/succ/t-jouchi/prog

sophia% cd .. �� �� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

sophia%

� �

5.3.3 ディレクトリの作成

新しいディレクトリを作成するには \mkdir" (MaKe DIRectoryの略)コマンドを使います。

コマンド形式� �

sophia% mkdir ディレクトリ名� �

操作例� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2

sophia% mkdir test �� �� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia%

� �

ディレクトリは 1つのファイルとして扱われるので、カレントディレクトリに既に同じ名前のファイルが存在する場合、同一名のディレクトリを作成することはできません。

操作例� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia% mkdir prog1 �� �� �

mkdir: Failed to make directory "prog1"; File exists

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia%

� �

35

Page 46: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.3.4 ディレクトリの削除

不要になったディレクトリを削除するには \rmdir" (ReMove DIRectoryの略) コマンドを使います。ただし、削除するディレクトリの下にディレクトリおよびファイルが存在しない場合に限られます。

コマンド形式� �

sophia% rmdir ディレクトリ名� �

操作例� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia% ls -aF test �� �� �

./ ../

sophia% rmdir test �� �� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2

sophia%

� �

削除したいディレクトリの下にディレクトリや通常ファイルがあるとエラーとなります。上記の例で、\ . ", \ .. "というディレクトリファイルがありましたが、これは \mkdir"コマンド実行時に自動的に作成され、\rmdir"コマンド実行時に自動的に削除されるようになっています。

操作例� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia% ls -aF test �� �� �

. .. test1 test2 TEST/

sophia% rmdir test �� �� �

rmdir: Directory not empty

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia%

� �

36

Page 47: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

豆 知 識� �

ディレクトリを削除する際、指定したディレクトリの下にディレクトリやファイルが一つでも存在していると \rmdir"コマンドでは削除することができません。かといって、一つ一つファイルを削除していくのは面倒だ!という時には、前述したファイル削除コマンドのコマンド \rm" で、コマンドオプションを指定することにより、指定したディレクトリとその下のすべてのファイルを一度に削除することができます。

rm -r ディレクトリ名

ただし、このコマンドを実行する際には細心の注意が必要です。本当に削除して構わないかどうかを確認してから行ってください。誤って削除したファイルやディレクトリを元に戻す (復活する) ことはできません。

[操作例]sophia% ls -F �

� �� �

Mail/ prog/ prog1 prog2 test/

sophia% ls -aF test �� �� �

. .. test1 test2 TEST/

sophia% rmdir test �� �� �

rmdir: test: Directory not empty

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2 test/

sophia% rm -r ./test �� �� �

sophia% ls -F �� �� �

Mail/ prog/ prog1 prog2

sophia%

� �

37

Page 48: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.4 ファイルの保護

UNIXはとてもオープンなシステムです。例えば、基本的にユーザはさまざまなディレクトリに移動する事ができ、そのディレクトリにどんなファイルがあるかを探すことができます。逆に言えば、誰がどのようなファイルを持っていて、その内容がどんなものかを見ることもできてしまうということになります。最悪の場合、自分の所有するディレクトリやファイルを消されたり、内容を変更されたりすることがあります。「プライバシーの侵害だ!」と思われるかもしれませんが、それが UNIXの特徴でもあります。そのため UNIXシステムでは、各ファイル (ディレクトリも含む)にパーミッション (アクセ

ス許可)を持っています。このパーミッションによってどういうユーザに対してアクセス許可をするか制御できるようになっています。したがって、ファイルの所有者は、他のユーザによるファイルの削除など最悪の事故を防ぐためにも、ファイルのパーミッションを管理する義務があることになります。「自分が所有するファイルは自分で守る」ということを忘れないでください。パーミッションの設定および変更は、所有者が所有するファイルであれば自由に行うことが

できます。

5.4.1 許可の対象者と種類

UNIXシステムはファイルへのアクセス権を許可するときに、利用者を所有者 (User) 、グループ (Group)、一般ユーザ (Other)の 3クラスに分けて識別します。

表 5.3: ファイル許可対象区分の説明

許可対象者 記 号 意 味

所有者 u ファイル,ディレクトリを作成したユーザグループ g 所有者と同じグループに属しているユーザ一般ユーザ o 上記以外のユーザ

また、許可の種類として、読み込み (Read) 、書き込み (Write) 、実行 (eXecute) の 3種類があります。

表 5.4: ファイル許可種別の説明

許可の種類 記 号 意 味

読込可能 r ファイル、ディレクトリの内容を読むことができる書込可能 w ファイル、ディレクトリの内容を変更することができる実行可能 x ファイルを実行し、ディレクトリを探索することができる

38

Page 49: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.4.2 許可モードの表示

ディレクトリやファイルにどのようなパーミッションが設定されているかは、\ls"コマンドに \-l (エル)" オプションを付けることによって知ることができます。また、これによって、ファイルの作成日、大きさ等の詳細情報も得られます。

操作例� �

sophia% ls -l �� �� �

total

drwxr-x--- 2 t-jouchi stud 2048 Apr 20 11:19 Mail

-rw-r--r-- 1 t-jouchi stud 29 May 5 10:12 file1

-rw-rw-rw- 1 t-jouchi stud 26 May 5 10:13 file2

-rw------- 1 t-jouchi stud 54 May 5 10:14 file3

drwxr-xr-x 2 t-jouchi stud 2048 Apr 21 09:26 prog

-rw-r--r-- 1 t-jouchi stud 29 May 3 18:13 prog1

-rw-r--r-- 1 t-jouchi stud 31 May 3 19:41 prog2

許可情報 所有者名 大きさ 最終更新日時 ファイル名sophia%

� �

コマンドによって画面に表示された情報の内、一番左側にある \r",\w",\x",\-",\d"等で記述されたものが現在設定されているパーミッションを意味します。許可の与えられていない場合は \-"で表示されます。

-

d

rw- r-- r--

rwx r-x r-x

1 2 3 4

1. ファイルの種類

- 通常ファイルb ブロック型特殊ファイルc キャラクタ型特殊ファイルd ディレクトリファイル

2. 所有者に対するパーミッションの状態3. グループに対するパーミッションの状態4. 一般ユーザに対するパーミッションの状態

図 5.4: ファイルの種別と利用者別許可モードの表示方法

39

Page 50: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.4.3 許可モードの効果

許可モードが持つ意味は、以下に示すように、通常ファイルとディレクトリファイルとでは異なります。(図 5.4 も参照してください。)

� 通常ファイルの場合

許可モード 意 味

r ファイルの内容を読み出すことができる。(\cat",\cp",\wc",\vi"等のコマンドを使える)

w ファイルの内容を変更することができる。(エディタを使って修正ができる)

x プログラムとして実行することができる。

� ディレクトリファイルの場合

許可モード 意 味

r そのディレクトリを読むことができる。(\ls",\pwd"コマンドが実行できる。)

w そのディレクトリに書き込むことができる。(管理するファイル数の増減、ファイル名の変更ができる。また、新規ファイル、ディレクトリの作成、削除等ができる。)

x そのディレクトリの下のファイルにアクセスできる。

例えば、あるファイルが

-rwxr-xr--

という許可モードであるとしたら、以下のような意味になります。

� 通常ファイルである。(1番目の \ - ")

� 自分に対しては、読み込み、書き込み、実行とも許可されている。(2~ 4番目の \ rwx ")

� グループ員に対しては、読み込みと実行は許可されているが、書き込みは禁止。(5~ 7番目の \ r-x ")

� 一般ユーザに対しては、読み込みのみが許可されており、書き込みと実行は禁止。(8~ 10番目の \ r-- ")

40

Page 51: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.4.4 許可モードの変更

ファイルやディレクトリを新規作成した時の既定パーミッションは次のとおりです。

-rw-r--r-- 通常ファイルの場合drwxr-xr-x ディレクトリファイルの場合

ファイルの所有者は、\chmod" (CHange MODe の略) コマンドを用いることによりパーミッションを変更することができます。

コマンド形式� �

sophia% chmod モード ファイル名� �

モードの指定方法には「シンボリックモード」と「 8進表示モード」とがあります。

5.4.4.1 シンボリックモード

シンボリックモードは、現在のモードを基準にして、誰に (u,g,o)、何を (r,w,x)、どうするか (+,-) を次のような形式で指定する方法です。

[ugoa][+-][rwx]

� 保護モードの対象となる人を次の記号の組み合わせで指定

u 所有者に対してg グループに対して

o 一般ユーザに対してa 全てのユーザに対して

� 保護モードの変更方法を次の記号で指定

+ 現在のモードに指定のモードを追加- 現在のモードから指定のモードを除去

� 次に示すシンボリックな保護モードを、任意に組み合わせて指定 (指定のない場合には\-" 指定となる)

r 読み込みw 書き込みx 実行

41

Page 52: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

操作例� �

◎ 一般ユーザからの読み込み許可を除去する場合sophia% ls -l �le1 �

� �� �

-rw-r--r-- 1 t-jouchi 29 May 5 10:12 file1

sophia% chmod o-r �le1 �� �� �

sophia% ls -l �le1 �� �� �

-rw-r----- 1 t-jouchi 29 May 5 10:12 file1

sophia%

◎ 同一グループと一般ユーザに対して読み込み,書き込み許可を付加する場合sophia% ls -l �le1 �

� �� �

-rw-r----- 1 t-jouchi 29 May 5 10:12 file1

sophia% chmod go+rw �le1 �� �� �

sophia% ls -l �le1 �� �� �

-rw-rw-rw- 1 t-jouchi 29 May 5 10:12 file1

sophia%

� �

5.4.4.2 8進表示モード

許可の与えられている部分に \1"、許可を与えられていない部分に \0" を立てて得られる9桁の 2進数を「 8進数」に換算して指定する方法です。

rwx r-x r-x

111 101 101 ← 2進数7 5 5 ← 8進数

例を挙げると

パーミッション 2進表示 8進表示rw-r--r-- 110100100 644

rwxr-x--- 111101000 750

rw------- 110000000 600

rw-rw-rw- 110110110 666

rwxrwxrwx 111111111 777

42

Page 53: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

操作例� �

◎一般ユーザからの読み込み許可を除去する場合sophia% ls -l �le1 �

� �� �

-rw-r--r-- 1 t-jouchi 29 May 5 10:12 file1

sophia% chmod 640 �le1 �� �� �

sophia% ls -l �le1 �� �� �

-rw-r----- 1 t-jouchi 29 May 5 10:12 file1

sophia%

◎同一グループと一般ユーザに対して読み込み,書き込み許可を付加する場合sophia% ls -l �le1 �

� �� �

-rw-r----- 1 t-jouchi 29 May 5 10:12 file1

sophia% chmod 666 �le1 �� �� �

sophia% ls -l �le1 �� �� �

-rw-rw-rw- 1 t-jouchi 29 May 5 10:12 file1

sophia%

� �

-rw-r--r--

chmod 600 file1

-rw-------

-rwx--x--x

chmod go-r file1

chmod 711 file1 chmod +x file1

Page 54: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5.4.5 絶対に行なってはいけない操作

先にも述べましたように、ファイルのパーミッションは自分が所有するファイルであれば自由に設定を変更することができます。しかし、パーミッション変更を絶対に行ってはならないファイルがあります。それは自分自身のホームディレクトリです。

絶対にしてはいけない操作例� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

sophia% cd .. �� �� �

sophia% pwd �� �� �

/shome/succ

sophia% ls -ld ./t-jouchi �� �� �

drwxr-xr-x 1 t-jouchi 2048 May 5 10:12 t-jouchi

sophia% chmod 644 t-jouchi �� �� � (絶対に実行してはいけない!!

sophia% ls -ld t-jouchi �� �� �

drw-r--r-- 1 t-jouchi 2048 May 5 10:12 t-jouchi

sophia% cd �� �� �

Can't change to home directory ( 自分のホームディレクトリに戻れなくなっている

sophia%

� �

というように、自分のホームディレクトリに戻ることができなくなってしまいます。これはディレクトリの \x" の持つ意味が通常ファイルの場合とは異なり、\x"のパーミッションを除去してしまうとそのディレクトリ以下のファイルを検索 (アクセス)することができなくなるからです。したがって、このようなことは絶対に行わないでください。

44

Page 55: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 6章

エディタの使い方

テキスト、プログラム、データの作成・編集およびファイルの作成・編集には「エディタ」と呼ばれるファイル編集コマンドを使って行います。

エディタには大きく分けて次の 2種類があります。

� ライン (行)エディタ

� スクリーンエディタ (画面型エディタ)

ラインエディタとは、行単位に表示、修正を行ないます。したがって、ラインエディタにはカーソル移動という概念はありません。スクリーンエディタとは、ラインエディタを画面対応化させたもので、ファイルの内容を画

面に表示して、カーソルを移動させながら修正等が容易にできるように工夫されたものです。

UNIXにおけるエディタには \ed", \ex", \vi", \emacs" 等があります。

コマンド名 概 要

ed ラインエディタ (UNIX 標準)

ex ed の拡張版ラインエディタ (UNIX 標準)

vi スクリーンエディタ。ex のコマンドを使うこともできる (UNIX 標準)

emacs スクリーンエディタ。パブリックドメインソフトウェア

ここではよく使われる 2種類のスクリーンエディタ「 vi 」と「 emacs 」の操作方法について簡単に説明します。

45

Page 56: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.1 vi エディタ

\vi"(VIsual Editor) は、カリフォルニア大学バークレイ校で開発されたスクリーンエディタで、UNIXシステムには標準で用意されています。はじめて使う方にとっては、扱いにくいエディタかも知れませんが、使い慣れていくと手離すことができないものになります。特に、UNIXシステムを管理する人には必須のエディタです。

\vi"コマンドには、「入力モード」、「コマンドモード」、「コロンモード」の 3モードがあります。この 3つのモードを使って、ファイル等の作成・編集を行ないます。

入力モード キーボードから入力した文字がテキストとして入力される。

コマンドモード カーソルの移動、文字の修正、削除、ファイル保存コマンドのコマンドを受け付け実行する。

コロンモード ラインエディタ (ex)コマンドを実行する。

コマンドモード 入力モード

コロンモード

ESC:

vi

Q

起動

終了

vi ファイル名

ZZ

viのコマンドを受け付ける i, a, o キー等

キー入力がテキストとしてファイルの内容になる

ラインエディタのコマンドを受け付ける

キー

キー

キー

図 6.1: viのモード

6.1.1 viの起動

\vi"のコマンド形式は次のとおりです。コマンド形式� �

sophia% vi ファイル名� �

ファイル名の指定を省略してもコマンドの起動はできます。\vi"が起動されると対話型画面が表示されます。起動時のモードは「コマンドモード」です。

46

Page 57: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

操作例� �

sophia% vi vitest �� �� � ( \vitest"は新規作成するファイル名

� �

� �

~

~

~

~

~

~

~

\vitest" [New �le]� �

6.1.2 テキストの入力

テキストを入力するときは、\ a "(Appendの略)コマンドを入力します。ただし、入力した\ a "は画面に表示されません。これで、入力モードになりました。実際に次のようなテキストを入力してみてください。途中で入力ミスをしてもそのまま続けてください。

� �

Vi is a display oriented text editor based on ex. �� �� �

As you add text, �� �� �

the lines with tilde characters �� �� �

will scroll down toward�� �� �

the bottom of the screen.� �

最後まで入力し終わったら Escキーを押します。 Esc キーを押すことによって、入力モードからコマンドモードに戻ります。なお、 Esc キーを押すと、カーソルの位置が 1つ前の文字に移動します (この例では、ピリオド (.)に移動します)。

注意 \vi"はあまりに長すぎる行は扱えません (せいぜい 2行分程度)。カーソルが右端付近にきたら改行するようにしてください。

47

Page 58: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.1.3 カーソルの移動

カーソルの移動は、「コマンドモード」で行います。

� -

6

?

現在位置

k または "

j または #

h または l または !

注意 矢印キーが使えない端末もありますので注意してください。

6.1.4 ファイルの保存

入力したテキストをファイルに保存するには、コロンモードで行います。コマンドモードからコロンモードへの変更は、コマンドモードの時に \ : " (コロン) を入力することによって変更できます。コロンモードに変更したら \ w "(Writeの略)を入力し、�

� �� �キーを押します。

1. Escキーを押してコマンドモードにいることを確認します。

2. \ : "をタイプします (画面左下に : が表示されカーソルが移動します)。� �

:� �

3. \ w "をタイプし �� �� �キーを押します。

� �

:w �� �� �

� �

4. \ w "コマンドが正常に実行されてファイルが保存されると、\vi" は、ステータス行にファイル名、ファイル中の行数および文字数を表示します。� �

''vitest'' [New file] 4 lines, 99 characters� �

48

Page 59: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

ファイル名を指定しないで \vi"コマンドを起動した場合には、\ w "コマンド実行時に次のようなメッセージが表示されます。� �

No current filename� �

この場合、\ w "コマンドの後にファイル名を指定します。� �

:w vitest �� �� �

� �

コマンド実行時に次のようなメッセージが表示されます。� �

''vitest'' [New file] 4 lines, 99 characters� �

6.1.5 viの終了

\vi"を終了するには、コロンモードで \ q "(Quitの略)を入力します。

1. Escキーを押してコマンドモードにいることを確認します。

2. \ : "をタイプします (画面左下に : が表示されカーソルが移動します)

� �

:� �

3. \ q "をタイプし �� �� �キーを押します。

� �

:q �� �� �

sophia%� �

この他にも vi を終了するためのコマンドとして次のようなコマンドがあります。

� コロンモードから

:wq �� �� � 現在編集しているファイル名で保存し vi を終了する

:q! �� �� � ファイルを保存しないで viを終了する

� コマンドモードから

ZZ 現在編集しているファイル名で保存し vi を終了する

49

Page 60: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.1.6 文字の置換

ある文字を他の文字あるいは文字列に置換したいときは、\ s "(Substituteの略)コマンドを使います。

例 2行目の \A"を \As soon a"に変更する

1. カーソルを変更文字 \A"へ移動します。� �

Vi is a display oriented text editor based on ex.

A s you add text,

the lines with tilde characters� �

2. 置換コマンド \ s "を入力します (\A"が置換文字 \$"で表示されます)。� �

Vi is a display oriented text editor based on ex.

$ s you add text,

the lines with tilde characters� �

3. 置換したい文字列を入力します。� �

Vi is a display oriented text editor based on ex.

As soon a s you add text,

the lines with tilde characters� �

4. Escキーを押し、コマンドモードに戻ります (カーソルが左側に 1 つ移動します)。� �

Vi is a display oriented text editor based on ex.

As soon a s you add text,

the lines with tilde characters� �

6.1.7 文字 (列)の変更

文字 (列)の変更には、\ cw " (Change Wordの略)コマンドを使います。

例 2行目の \soon"を \slowly"に変更する

1. カーソルを変更するワード \soon"の 1文字目 \s"へ移動します。� �

Vi is a display oriented text editor based on ex.

As s oon as add text,

the lines with tilde characters� �

50

Page 61: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

2. 変更コマンド \ cw " を入力します (変更ワードの最終文字が置換文字 \$" で表示されます)。� �

Vi is a display oriented text editor based on ex.

As s oo$ as add text,

the lines with tilde characters� �

3. 変更したい文字列を入力します。� �

Vi is a display oriented text editor based on ex.

As slowly as add text,

the lines with tilde characters� �

4. Escキーを押し、コマンドモードに戻ります (カーソルが左側に 1 つ移動します)。� �

Vi is a display oriented text editor based on ex.

As slowl y as add text,

the lines with tilde characters� �

6.1.8 行全体の変更

カーソルのある行全体の文字列を、他の文字列へ変更したい時に使います。行全体の変更には、 \ cc " (Change to Changeの略)コマンドを使います。

例 3行目全体を \the subsequent text"と変更する

1. カーソルを 3行目の先頭文字に移動します。� �

Vi is a display oriented text editor based on ex.

As you add text,

t he lines with tilde characters

will scroll down toward

the bottom of the screen.� �

2. 変更コマンド \ cc " を入力します (3行目の文字列が消えます)。� �

Vi is a display oriented text editor based on ex.

As you add text,

will scroll down toward

the bottom of the screen.� �

51

Page 62: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. 置換したい文字列を入力します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down toward

the bottom of the screen.� �

4. Escキーを押し、コマンドモードに戻ります (カーソルが左側に 1 つ移動します)。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent tex t

will scroll down toward

the bottom of the screen.� �

6.1.9 テキストの挿入

カーソルのある位置から新しく文字あるいは文字列を挿入したい時に使います。文字列の挿入には \ i "(Insertの略)コマンドを使います。

例 4行目の \down"と \toward"の間に \quickly"と挿入する場合

1. 文字の挿入箇所へカーソルを移動します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down t oward

the bottom of the screen.� �

2. 文字挿入コマンド \ i " を入力します (画面には変化はありません)。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down t oward

the bottom of the screen.� �

52

Page 63: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. 入力したい文字列 (\quickly")を入力します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly t oward

the bottom of the screen.� �

4. Escキーを押し、コマンドモードに戻ります (カーソルが左側に 1 つ移動します)。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly toward

the bottom of the screen.� �

6.1.10 文字の削除

カーソル位置にある 1文字を削除したい時には、\ x "コマンドを使います。

例 4行目、\toward"という単語の \ward"という文字列を削除する場合

1. 削除する文字へカーソルを移動します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly to w ard

the bottom of the screen.� �

2. \ x "を 4回入力すると 4文字、文字が削除されます (\ 4x " と入力してもよい)。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly t o

the bottom of the screen.� �

53

Page 64: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.1.11 行の挿入

カーソルのある行の上下に新たに行を作成したい時には、コマンドモードにて \ o "(英小文字の \オー") または \ O " (英大文字の \オー") コマンドを使います。このコマンドを実行すると、モードはコマンドモードから入力モードに切り替わります。

6

?

現在位置

上の行に挿入Oキー

下の行に挿入oキー

例 1 3行目と 4行目の間に新しい行を挿入する場合

1. 3行目にカーソルを移動します。� �

Vi is a display oriented text editor based on ex.

As you add text,

t he subsequent text

will scroll down quickly to

the bottom of the screen.� �

2. \ o "を入力します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly to

the bottom of the screen.� �

3. 入力したい文字 (列)を入力し、入力し終ったら Esc キーを押します。

54

Page 65: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 2 3行目と 4行目の間に新しい行を挿入したい場合

1. 4行目にカーソルを移動します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

w ill scroll down quickly to

the bottom of the screen.� �

2. \ O "を入力します。� �

Vi is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly to

the bottom of the screen.� �

3. 入力したい文字 (列)を入力し、入力し終ったら Esc キーを押します。

6.1.12 行の削除

カーソルのある行全体を削除するには、コマンドモードにて \dd " コマンドを使います。

操作例 1 1行削除の場合

1. 削除したい行にカーソルを移動します。� �

V i is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly to

the bottom of the screen.� �

2. \ dd "を入力します。� �

A s you add text,

the subsequent text

will scroll down quickly to

the bottom of the screen.� �

連続する複数行を一度に削除したい場合、\ dd " と入力する前に何行削除するかを数字で入力します。入力した数字は画面に表示されません。

55

Page 66: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

操作例 2 複数行削除の場合 (ここでは 2行とします)

1. 削除したい行にカーソルを移動します。� �

V i is a display oriented text editor based on ex.

As you add text,

the subsequent text

will scroll down quickly to

the bottom of the screen.� �

2. \ 2dd "を入力します� �

t he subsequent text

will scroll down quickly to

the bottom of the screen.� �

6.1.13 viのコマンド

◎カーソル移動コマンド

1文字ずつの移動

or h or BS 左へ 1文字移動# or j 下へ 1文字移動" or k 上へ 1文字移動! or l or スペースキー 右へ 1文字移動

※ 矢印キーや BS キーは、端末によって使えない場合があります。

ワード単位の移動

b 前のワードに移動w 次のワードに移動

行単位の移動

^ or 0 行頭に移動$ 行末に移動�� �� � 次の行の先頭に移動

画面単位の移動

Ctrl +b 前のページに移動Ctrl +u 半ページ前方に移動Ctrl +f 次のページに移動Ctrl +d 半ページ後方に移動

56

Page 67: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

◎テキストの挿入・追加コマンド

a カーソルの後に文字列を追加A カーソル行の末尾に文字列を追加i カーソルの前に文字列を挿入I カーソル行の先頭に文字列を挿入o カーソル行の下に行を追加するO カーソル行の上に行を挿入する

※ これらのコマンドを入力すると入力モードになります。入力モードの解除は Esc キーです。

◎テキストの変更コマンド

s カーソル位置の 1文字を変更するcw カーソル位置の右にある 1ワードを変更するC カーソル位置から、その行の終りまでを変更するcc カーソル行全体を変更する

◎テキストの削除コマンド

x カーソル位置の 1文字を削除するdw カーソル位置の 1ワードを削除するdd カーソルがある行を削除する

◎テキストの検索コマンド

/文字列 指定文字列をカーソル位置から前方 (テキストの最終行)へ向かって検索する?文字列 指定文字列をカーソル位置から後方 (テキストの先頭行)へ向かって検索する

1. / または ? を入力します。

2. カーソルが画面左下に移動して / または ? が表示されるので、表示の後に検索したい文字列を入力し �

� �� �キーを押します。

3. 検索が実行され、最初に見つかった文字列の先頭にカーソルが移動します。

4. 繰り返し検索する場合は、\n"を入力します。

◎取り消しコマンド

u 直前のコマンドを取り消して、元の状態に戻します。

57

Page 68: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.2 Emacsエディタ

ここで紹介するEmacsは、RichardM.Stallman作成のGNU-Emacs (copyright c 1985,1986

Richard M.Stallman) です。Emacs は、UNIXシステムで利用できる画面エディタの 1つで、viと比べると非常に便利な機能を数多く備え、初心者のユーザにとっても使い易く工夫されています。Emacsでは、英数字はそのまま挿入され、各コマンド (カーソルの移動等)はすべてコント

ロール文字 ( Escキーおよび Ctrlキー+文字)に設定されています。また、ファイルを編集する際のバッファを複数持つことができるので、いくつかのファイルを参照しながら作業することができます。現在利用できる Emacs 1では、漢字 (JISコード )ファイルを編集することもできます。なお、ここでは Emacsで使われるコマンドを次のように省略して表すことにします。

省略名 意 味C-x Ctrlキーを押しながら \x"を入力M-a Esc キーを 1回押し、次に \a"を入力

6.2.1 Emacsの起動

Emacsのコマンド形式は次のとおりです。

コマンド形式� �

sophia% emacs ファイル名� �

ファイル名を省略すると図 6.2のような初期画面が表示されます。ファイル名の指定を省略してもコマンドの起動はできます。この状態で \ C-l "( Ctrlキーを押しながら \ l "(エル)キーを押す)を入力するとメッセー

ジは消えます。

Emacs初期画面の説明

C-h Emacsのヘルプ機能を呼び出すC-x u 1回分の変更 (通常は 1つのコマンド )を取り消すC-h C-d Emacsの最新バージョンについての情報を表示するC-h t 英文による Emacs自習用の手引が表示されるC-h T 日本語による Emacs自習用の手引が表示される

作成、編集したいファイル名を入力し、Emacsを起動すると図 6.2のようなメッセージは表示されず、図 6.3 のような画面が表示されます。なお、編集するファイルに文字等のデータが入っている (すでに存在しているファイル名を指定する) 場合には、その内容が画面に表示されます。

操作例� �

sophia% emacs �le �� �� �

� �

1この Emacsを日本語をはじめとする多言語対応にした物が \mule" です。

58

Page 69: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

図 6.2: emacs起動時の画面 (ファイル名指定しない場合)

白抜き文字部分は「モード行」と呼ばれる部分で、\(New file)"と表示されている部分は「ミニバッファ」と呼ばれる部分です。また、現在の入力モードは、\英数字入力モード"になっています。「ヘルプ機能 (C-h)」または「自習用の手引き機能 (C-h t または C-h T)」を実行した場合の終了方法は次の通りです。

1. 「ヘルプ機能」または「自習用の手引き機能」の内容が表示されている状態で、\ M-x

"( Esc キーを押し、次に \ x "を押す)と入力します。ミニバッファに \M-x"と表示されます。

2. この状態にて \kill-bu�er"と入力し、�� �� �キーを押します。

3. ミニバッファに \Kill-buffer: (default xxxx)"と表示されますので、そのまま �� �� �

キーを押します。(xxxx には、モード行にある NEmacs:の後に表示されている文字列が表示されます)

以上で、「ヘルプ機能」または「自習用の手引き機能」を起動させる前の状態に戻ります。

6.2.2 テキストの入力

Emacsは、起動された時から挿入モードになっているため、カーソルの表示されている位置から文字を入力することができます。実際に次のようにテキストを入力してみて下さい。

59

Page 70: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

入力モード作成・編集ファイル名

テキスト入力待ち状態

新規作成時に表示される

モード行

ミニバッファ

図 6.3: emacs起動時の画面 (ファイル名指定した場合)

� �

Type C-h t for a tutorial on using Emacs. �� �� �

'C-' means use Ctrl key. �� �� �

C-x u to undo changes. �� �� �

� �

6.2.3 カーソルの移動

次のコマンドを入力することによって、カーソルを現在の位置から上下左右に移動することができます。

� -

6

?

現在位置

C-p または "

C-n または #

C-b または C-f または !

注意 矢印キーが使えない場合もありますので、注意して下さい。

60

Page 71: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.2.4 文字の消去

次のコマンドを入力することによって、文字を消去することができます。

C-d カーソル上の文字を消去 (カーソルは移動しない)

DELキー カーソルの前にある文字を消去 (カーソルは左に移動)

注意 誤って文字を消去した時は、\C-x u"(undo)コマンドを使えば元に戻せます。

操作例 1 \C-d"の使い方次のようなテキストがあり、カーソルが \C-h"の \C"の位置にあるとします。� �

Type C -h t for a tutorial on using Emacs.

'C-' means use Ctrl key.

C-x u to undo changes.� �

この状態で \C-d"を押すと、� �

Type - h t for a tutorial on using Emacs.

'C-' means use Ctrl key.

C-x u to undo changes.� �

というように、カーソル上にある文字が 1文字削除されます。

操作例 2 DELキーの使い方次のようなテキストがあり、カーソルが \-h"の \-"の位置にあるとします。� �

Type - h t for a tutorial on using Emacs.

'C-' means use Ctrl key.

C-x u to undo changes.� �

この状態で DELキーを押すと、� �

Type - h t for a tutorial on using Emacs.

'C-' means use Ctrl key.

C-x u to undo changes.� �

というように、カーソルの前にある文字 (この場合、空白)が 1文字削除されます。

61

Page 72: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.2.5 ファイルの保存

入力したテキストを保存するには、\ C-x C-w "と入力すると保存するファイル名の入力を促してきますので、保存ファイル名を入力して �

� �� �キーを押すことによってテキストが保存

されます。

1. \C-x C-w"を入力します。� �

Write file: ~/� �

2. ファイル名を入力します。� �

Write file: ~/�le1� �

保存ファイル名 ~/file1 の \~(チルダ)" は、ホームディレクトリ (ログイン後に \pwd"

コマンドで表示されるディレクトリ) を意味します。

3. ファイルの保存処理が正常に終了すると、画面最終行に次のような表示がされます。� �

Wrote /shome/succ/t-jouchi/file1

� �

6.2.6 Emacsの終了

Emacsを終了するには、\ C-x C-c "と入力します。作成、編集中のテキストがまだファイルに保存されていなければ、次のように保存するかどうかをシステムが聞いてきます。� �

Save file /shome/succ/j-jouchi/file1? (y or n)

� �

ここで、\y"と入力すると作成、編集中のテキストをファイルに保存し、Emacsを終了します。\n"と入力すると次のように再確認のメッセージが表示されます。� �

1 modified buffer exists, do you really want to exit? (yes or no)

� �

ここで、\yes"と入力すると作成、編集中のテキストをファイルに保存せずに Emacsを終了します。\no"と入力すると Emacsは、終了しないでカーソルがテキスト入力位置に戻り、テキスト挿入状態になります。

62

Page 73: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.2.7 日本語入力

センターがサポートしている Emacsは日本語入力 2ができるようになっています。漢字コードは JIS コードで、入力方法はローマ字入力です。日本語を入力したい場合は、以下の操作にしたがってモード行を日本語入力モードに変更す

る必要があります。

1. モード行の表示が次のように (英数字入力モード )なっていることを確認します。

モード行が、英数字入力モード

2. この状態で、C-n ( Ctrlキーを押しながら nキーあるいは =Yキー)を押すと、次のようにモード行が [----] から [ aあ] に変わり、日本語入力モードになります。

モード行が、日本語入力モード

それでは実際に入力してみましょう。ここでは例として次のような文章を入力してみることにします。

わたしはじょうちたろうです。

ローマ字で次のようにタイプします。

watasihajouchitaroudesu.

入力ミスした場合、C-fまたは C-bで間違えた文字までカーソル移動し、C-dまたは DEL

キーを押して間違えた文字を削除してから正しい文字を入力します。入力したローマ字が次々とかなに変換され、最後まで入力し終わると次のようになります。

|わたしはじょうちたろうです。|

\|"はフェンスと呼び、この状態をフェンスモードといいます。フェンスモードでは通常のコマンドは使えず、フェンス内 (|と|で囲まれた部分)を編集するコマンドしか使えません。カーソル移動コマンドおよび文字削除コマンドが使えます。それでは、実際に編集してみます。上の文章のうち、「たろう」を「はなこ」に替えてみます。2センターでは、かな漢字変換サーバとしてwnn および canna をサービスしています。本冊子のの説明は、か

な漢字変換サーバとして wnn を使用した場合です。

63

Page 74: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

1. C-b で、カーソルを「た」に移動させます。� �

|わたしはじょうちたろうです。|� �

2. 文字削除コマンド C-d を使って、「たろう」の 3文字を削除します。� �

|わたしはじょうちです。|� �

3. ローマ字で \hanako" と入力します。� �

|わたしはじょうちはなこです。|� �

4. 修正が終了したら、�� �� �キーを押します。

� �

わたしはじょうちはなこです。� �

�� �� �キーを押すと、フェンスがとれて文字が確定されます。この状態で、「はなこ」を「たろ

う」に修正してみてください。それでは次に、かな漢字変換をおこなってみましょう。入力文字は先と同じとします。

1. ローマ字で \watasihajouchitaroudesu."と入力します。� �

|わたしはじょうちたろうです。|� �

2. SPCキー、C-w のいずれかを入力します。ミニバッファに次のようなメッセージが表示されます。� �

ホスト sagami の WNN を起動しました。� �

漢字変換システムをはじめて使うときは辞書ファイル (頻度ファイルとも言う)が未登録なため、「辞書ファイルを作りますか?」という問いかけがミニバッファに表示されます。全てに \yes"と入力して �

� �� �キーを押して下さい。\yes"と答えるのは、全部で 11 回あり

ます。登録される辞書名は、以下の 10個です。

� kihon.frq � setsuji.frq

� koyuu.frq � special.frq

� chimei.frq � symbol.frq

� computer.frq � tankan.frq

� jinmei.frq � private

64

Page 75: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. ミニバッファに次のようなメッセージが表示されます。� �

Loading /usr/local/lib/gnu18.55/lisp/eggrc-v4...� �

4. 更にミニバッファに次のようなメッセージが表示されます。� �

LOADING eggrc-v4...� �

5. 再度ミニバッファに次のようなメッセージが表示されて、モード行が [漢字]に変わります。� �

Loading /usr/local/lib/gnu18.55/lisp/eggrc-v4...done

� �

6. 次のように、文章の一部が漢字に変換されます (頻度の違いで表示が異なることがあります)。� �

|私は 常置 太郎です。|� �

7. 「上智」が「常置」になっているので、C-f でカーソルを「常」に移動させます。� �

|私は 常置 太郎です。|� �

8. ここでもう一度 SPCキーまたは、C-w を入力し、再変換します。� �

|私は 上智 太郎です。|� �

「上智」にならない時は、再度、 SPCキーまたは、C-w を入力し、再変換します。

9. 「上智」になったら、�� �� �キーを押して文章を確定します。確定が終了すると、モード行

が [ aあ] に変わります。

以上で、漢字変換終了です。次に、かな漢字変換途中での文字列の訂正を行なってみます。

65

Page 76: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

モード行が変わる

1. 次のようなフェンスモードになっている状態を確認します。� �

|私は 常置 太郎です。|� �

2. 「太郎」を「花子」に変えたいとします。DELキーを押し、漢字変換前の状態にします。� �

|わたしはじょうちたろうです。|� �

モード行が [ aあ] に変わります。

モード行が変わる

3. C-b で「た」にカーソルを移動させます。� �

|わたしはじょうちたろうです。|� �

4. C-d を 3回入力して「たろう」の 3文字を削除します。� �

|わたしはじょうちです。|� �

5. \hanako"と入力します。� �

|わたしはじょうちはなこです。|� �

6. SPCキーまたは、C-w を入力します。� �

|私は 上智 花子です。|� �

66

Page 77: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

モード行が [漢字] に変わります。

再度変換することにより、漢字モードに変わる

7. 変換できたら �� �� �キーを押し、確定します。

� �

私は上智花子です。� �

以上で、訂正作業終了です。

67

Page 78: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

6.2.8 Emacsのコマンド

ここでは、いままで紹介してきたコマンドを含め、代表的な Emacsコマンドを紹介します。コマンド操作の記述方法とその操作方法は、次のようになります。

記述方法 操 作 方 法

C-h Ctrlキーを押しながら h を入力する

C-h t Ctrlキーを押しながら h を入力した後に、t を入力する

M-f Esc キーを押した後に f を入力する

1. help機能

C-h t 基本機能を学習する為の手引を表示するC-h c コマンド名 コマンドの簡単な説明が一行表示するC-h k コマンド名 コマンドの詳細な説明が表示するC-h f 機能名 機能に関する説明が表示するC-h a キーワード キーワードに関係する説明が表示するC-h g ヘルプ機能を終了する

2. カーソル制御

C-f 右へ 1文字分移動する (forward-character)

C-b 左へ 1文字分移動する (backward-character)

C-n 下の行へ移動する (next-line)

C-p 上の行へ移動する (previous-line)

M-f 右側の単語の最後尾の次に移動する (forward-word)

M-b 左側の単語の先頭に移動する (backward-word)

C-a 行頭へ移動する (beginning-of-line)

C-e 行末へ移動する (end-of-line)

M-a 文章の頭に移動する (forward-sentence)

M-e 文章の終りに移動する (backward-sentence)

M-< テキストバッファの先頭へ移動する (beginning-of bu�er)

M-> テキストバッファの最後尾へ移動する (end-of-bu�er)

C-v 次の表示ページの先頭へ移動する (scrool-up)

M-v 前の表示ページの最下行へ移動する (scroll-down)

68

Page 79: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. 文字変換

SPC , C-w かな漢字変換M-k カタカナ変換M-h ひらがな変換M-s 変換の候補一覧を表示する。

(候補一覧が 1行に収まらないときは C-n で次の候補一覧を見ることができます。前の候補に戻るには、C-p を入力します。候補の中から変換したい文字を選ぶ時は、各候補の先頭の数字を入力するか、C-f や C-b

でカーソルを移動した後、�� �� �キーを押します。)

4. 文節区切りの変更

C-o 区切りを長くするC-i 区切りを短くする

5. 繰り返し指定

C-u コマンドの繰り返し回数を指定する

[例] C-u 8 C-f カーソルを 8文字分前進させる。

6. 途中終了指定

C-g 実行中および入力中のコマンドの取り消しを行う

[例] C-u 100 C-g C-f コマンドの繰り返し指定が取り消され、カーソルが右へ 1文字だけ移動する

7. 挿入と削除

DEL カーソルの直前にある 1文字を削除するC-d カーソル上の 1文字を削除するM- DEL カーソルの直前にある単語を削除するM-d カーソルの右の 1単語を削除するC-k カーソルから行の終りまで削除するM-k カーソルからセンテンスの終りまで削除するC-y 直前に削除した内容を再表示するM-y 以前に削除した内容を再表示するC-x i 指定したファイルの挿入

69

Page 80: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8. 操作の取り消し (Undo)

C-x u 直前に実行したコマンドの処理を取り消し、実行前の状態に戻す

9. ファイルの呼び出し

C-x C-v ファイル名 指定したファイルを画面上に表示する。また、ファイル名を省略して入力すると、ファイル名の入力を促すので、読み込むファイル名を入力し、�

� �� �キーを押す。

10. ファイルの保存新しいテキストを作成、編集した時は、テキストの内容をファイルに保存する必要があります。

C-x C-s 画面上のテキストを呼び出した時のファイル名で保存する。

C-x C-w ファイル名 指定したファイル名で画面上のテキストを保存する。また、ファイル名を省略して入力すると \Write File"と聞いてくるので、保存するファイル名を入力し、�

� �� �キー

を押す。C-x C-c テキストを保存せずにエディタを終了する。

11. 文字列の検索

C-s 文字列 入力された文字列をカーソル位置からテキスト末尾に向かって検索し、カーソルは最初に現われた文字列の位置に移動する。文字列を入力しないと、\I-searchと聞いてくるので、検索したい文字列を入力する。文字列が入力されると検索が開始される。また前回検索した文字列を再度検索するときは、\C-s"を入力すると再び検索が開始される。 Esc キーを押すと検索処理が終了する。

C-r 文字列 入力された文字列をカーソル位置からテキストの先頭に向かって検索する。

70

Page 81: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

12. ウィンドウ操作Emacsでは、画面を 2つ以上のウィンドウに分けることができます。分けられたウィンドウには、異なるバッファの 1部分、もしくは 1つのバッファの異なる部分を表示することができます。

C-x 0(ゼロ) 選択されたウィンドウを消去するC-x 1 選択されたウィンドウ以外を全て消去するC-x 2 選択されたウィンドウを上下 2つに分けるC-x o(オー) 他のウィンドウを選択するC-l(エル) 全表示画面を再表示する。画面が何らかの原因で乱れた

時に使用する。

13. バッファ操作

C-x C-b 現在あるバッファのリストを表示するC-x b バッファ名 指定バッファを選択又は作成するC-x k バッファ名 指定バッファ名を削除する

バッファ名

ファイルの大きさ

バッファのモード ファイル名

GNU-Emacsの機能は非常に多く、全ての機能を紹介することはできません。ここで説明した基本的な使い方の他にも便利な機能が数多くあります。それらの機能の詳細については、前述したヘルプ画面 (英文表示)を参照するか、

� 『 Emacs入門』(電子計算機センター発行)

� 『初めて使うGNU Emacs』(宮城史朗著、矢吹道郎監修 啓学出版)

� 『 GNUEmacs マニュアル』(Stallman著 共立出版)

� 『 GNU Emacs』(Cameron & Rosenblatt著 ソフトバンク)

などを参考にしてください。

71

Page 82: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 7章

Cシェル

7.1 Cシェルとは?

UNIXシステムのユーザインターフェースを構成しているプログラムをシェル と呼んでいます。代表的なシェルには、Bシェル (Bourne shell)と Cシェルがあります。Cシェルは、カリフォルニア大学バークレー校でビル・ジョイ (Bill Joy)が作成したシェル

で、シェルスクリプトの構文を C言語に類似した形にしたため、Cシェルと呼ばれています。Cシェルには、履歴機能, 別名 (alias)機能, ジョブ制御などの便利な機能が多数用意されています。

7.2 履歴機能

Cシェルの組み込み変数の 1つである履歴機能 (History機能)によって、入力したコマンドを記憶させることができます。この機能を使うと、少しのキー操作で、コマンドの繰り返し実行コマンドのタイプミスを修正して再実行といったことができます。

7.2.1 入力コマンド記憶回数のセット

シェルに対して、最新の入力コマンドをバッファに記憶させるには次のように入力します。

操作例� �

sophia% set history=10 �� �� �

� �

上記の例では、最新の 10件分の入力コマンドがバッファに記憶されます。

72

Page 83: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.2.2 履歴リスト

ヒストリ・バッファの内容 (コマンド番号とコマンド文字列)を表示するには、次のように入力します。

操作例� �

sophia% history �� �� �

1 set history=10

2 ls -l

3 cat > myfile

4 cc myfile.c

5 history

� �

7.2.3 コマンド番号の表示

現在のコマンド番号をシェルのプロンプトの一部として、画面上に表示させるには、次のように入力します。

操作例� �

sophia% set prompt='sophia[n!]% ' �� �� �

sophia[6]%

� �

7.2.4 コマンドの繰り返し入力

コマンドの繰り返し入力機能によって、すでに入力した複数のコマンド行やその 1部を繰り返し実行する事ができます。コマンドの繰り返し実行に良く使うコマンドは、\ !! "と \ !$ "

です。

!! 直前に入力したコマンド行の再実行

操作例� �

sophia[7]% cat my�le �� �� �

my�leの内容

sophia[8]% !! �� �� �

cat myfile

my�leの内容

sophia[9]%

� �

システムは、\ !! "で繰り返されたコマンド行を画面に表示するので、期待したコマンド行かどうかを確認することができます。

73

Page 84: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

!$ 直前に入力したコマンド行の最後の単語の再入力 (例えば、cat コマンドで画面表示したファイルをプリンタに出力する場合)

操作例� �

sophia[9]% cat my�le �� �� � ( この場合、最後の単語は my�le

my�leの内容

sophia[10]% LPR !$ �� �� � ( この場合 my�le が最後の単語になっている

LPR myfile

� �

7.2.5 コマンドの置き換え

ミスタイプなどした時、直前に入力したコマンドの 1部を修正し、再度実行するような場合は、コマンド置換記号 \ ^ " (^変えたい文字,^変える文字)を使って間違いを修正できます。

操作例� �

sophia[11]% mdkir prog �� �� � ( 本当は mkdir と入力したかった

mdkir: Command not found

sophia[12]%^dk^kd �

� �� �

mkdir prog

� �

7.2.6 以前のコマンド入力をもう 1度実行

例えば、\vi"を使ってプログラムを作成し、コンパイル後のエラー箇所を修正するような時は、次のように操作すると非常に便利です。

1. 文字列の一致によるコマンドの実行

!文字列 ! の後の文字列が historyバッファ内のコマンド文字列と比較され一致したコマンドが実行される。

操作例� �

sophia[13]% cd prog �� �� �

sophia[14]% vi main.c �� �� �

viを利用して main.cの作成

sophia[15]% cc main.c �� �� �

sophia[16]% !v �� �� �

vi main.c� �

この例では、\!v"でも \!vi"でも同じ結果になります。

74

Page 85: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

2. コマンド番号入力によるコマンドの実行

!コマンド番号 !の後に historyバッファ内のコマンド番号を入力するとその番号のコマンドが実行される。

操作例� �

sophia[16]% !14 �� �� �

vi manin.c� �

history 内に同じ文字列で異なるものが含まれている場合に有効です。� �

[例]

1 vi test

2 vi shiken� �

7.3 別名機能

別名機能を使うには \alias"コマンドを使います。このコマンドは、頻繁に使うコマンドやコマンド列の省略形を作成することができます。コマンドの別名を作成するには、\alias"と入力した後に、\コマンドの別名" と \正式なコマンド文字列" を入力します。

コマンド形式� �

sophia% alias コマンドの別名 正式なコマンド文字列 �� �� �

� �

例 1 \logout"コマンドを \lo"に省略したい場合� �

sophia% alias lo logout �� �� �

sophia% lo �� �� �

(x) host >� �

また、alias機能を使うと任意の文字列をコマンドに置き換えることもできます。

例 2 自分で使用する \ls"コマンドには、常に \-l (エル)" オプションを付けて使いたい場合� �

sophia% alias ls 'ls -l' �� �� �

sophia% ls �� �� �

total 40

-rw-r----- 1 t-jouchi stud 29 Aug 3 18:13 file1

-rw-r--r-- 1 t-jouchi stud 59 Aug 3 18:16 file2� �

75

Page 86: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 3 \rm"コマンドを \-i"オプション (削除してもよいかの問い合わせする)を付けて使用する場合� �

sophia% alias rm 'rm -i' �� �� �

sophia% rm del�le �� �� �

rm: remove delfile? ( このファイルを削除して良ければ \y" と入力する� �

7.4 コマンドの入力とシェル変数

7.4.1 ワイルドカード文字の利用

ワイルドカード文字には以下のようなものがあり、これらを使用すると入力を簡素化することができます。

? 任意の 1文字とマッチする[list] list中の 1文字とマッチする[low-high] low と high の範囲にある文字とマッチする* 任意のパターンとマッチする~(チルダ) ホームディレクトリを示すstr{str1, str2,…} str を共通部として持つものを展開する

例 1 ワイルドカード文字 \ ? "の使用例� �

sophia% ls �� �� �

a.out bin new test.o test.s

abc mbox test.c test.org

sophia% rm test.? �� �� � ( \test."に任意の 1文字が付くファイルを削除する

sophia% ls �� �� �

a.out bin new

abc mbox test.org

sophia%� �

例 2 ワイルドカード文字 \ * "の使用例� �

sophia% ls a* �� �� � ( \a"で始まるファイルを表示する

a.out abc

sophia%� �

76

Page 87: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 3 \ * "と [list] を組み合わせた使用例� �

sophia% ls �� �� �

test.c test.o test.s

sophia% rm *.[cs] �� �� � ( \.c"か \.s"で終るファイルを削除する

sophia% ls �� �� �

test.o

sophia%� �

例 4 [low-high] の使用例� �

sophia% ls �� �� �

file1 file2 file3

sophia% cat �le[1-3] > �le �� �� �( file1, file2, file3 を

1つのファイル file にまとめるsophia% ls �

� �� �

file file1 file2 file3

sophia%

� �

例 5 � の使用例� �

sophia% ls � �� �� �

� �

自分のホームディレクトリ下のファイル一覧が表示されます。

例 6 str{str1,str2,…} の使用例� �

sophia% ls �� �� �

c test file1 file2 file3

sophia% ls c �� �� �

test* test1 test2

sophia% cp c/ftest1,test2g test �� �� � ( c/test1, c/test2 を test という

ディレクトリにコピーするsophia% ls test �

� �� �

test1      test2

sophia%� �

77

Page 88: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.4.2 シェル変数

\set"コマンドを使ってシェル変数を定義することができます。シェル変数は、予約語が決められています (予約語を調べるには、\set" と入力してください)。� �

sophia% set erc=/etc/rc �� �� �

� �

これで、シェル変数 \erc"に \/etc/rc"がセットされました。定義したシェル変数の内容は、そのシェル変数に \$"を付けて参照することができます。� �

sophia% more $erc �� �� �

� �

定数の中の単語の数を調べるには、\$#変数名"とします。� �

sophia% set ml=(fujiwara k sasaki yabuki) �� �� �

sophia% echo $#ml �� �� �

3� �

次のようにすると、パス名の異なる部分も参照することができます。

例 echo $cf ! /usr/u/guest/gomi.c

基本部分 r

echo $cf:r ! /usr/u/guest/gomi

先頭部分 h

echo $cf:h ! /usr/u/guest

末尾部分 t

echo $cf:t ! gomi.c

拡張子 e

echo $cf:e ! c

修飾子 g (global:全体)

set hd=(/usr/*)

set ml=($hd:gt)

hdに /usr の下のすべてのファイル名およびディレクトリ名が入り ml にその末尾部分のみ出力し、新たに ml

とします。変数 hdの中の 1つの単語を見るには、echo $hd[2]:t

などと指定します。

78

Page 89: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.4.3 コマンドの置換

\ ^ " (ハット) を使うとコマンドの置換ができます。� �

sophia% set d=`date` �� �� �

sophia%^d= ^e= �

� �� � ( \e"という変数にも \date"の実行結果をセットする

set e=`date`

sophia% echo $d �� �� � ( \date"の実行結果の出力が \echo"への引数となる

Wed Aug 6 14:22:18 JST 1993

sophia% echo $e �� �� �

Wed Aug 6 14:22:22 JST 1993

� �

7.4.4 クォーティング

クォーティングには、次のような規則があります。

`cmd` cmdを実行し、その出力で置き換えるnc 文字 cをエスケープする (文字として扱う)

'str' 文字列 (str)をそのまま文字列として扱う

"str" 文字列 (str)をコマンド置換および変数置換する

例 1 シングルクォーテーションの場合� �

sophia% echo '$USER' �� �� �

$USER ( $USERと言う文字列が echo への引数となる� �

例 2 ダブルクォテーションの場合� �

sophia% echo "$USER" �� �� �

t-jouchi ( USERという環境変数の内容が echo される。� �

79

Page 90: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.5 ジョブ制御

ここでは、具体的に簡単なシェルプログラムを作成し、それを実行することによりジョブ制御コマンドの説明を進めて行きます。

次のように自分の使えるエディタ (ここでは emacs) を使用して、ホームディレクトリの下に \loop"と \work"というファイルを作成します。

ファイル \loop"の作成 スクリーンエディタを使用してファイル \loop" を作成します。

1. エディタ (emacs)を起動します。� �

sophia% emacs loop �� �� �

� �

2. ファイルの内容を以下のようにします。� �

while true

do

sleep 10

done� �

3. ファイルを保存して、エディタ (emacs)を終了します。

ファイル \work"の作成 スクリーンエディタを使用してファイル \work" を作成します。

1. エディタ (emacs)を起動します。� �

sophia% emacs work �� �� �

� �

2. ファイルの内容を以下のようにします。� �

sleep 10

� �

3. ファイルを保存して、エディタ (emacs)を終了します。

次の例のように入力して1、\loop" と \work" を実行形式にします。� �

sophia% chmod +x loop work �� �� �

� �

1入力した内容については、5.4.4節 (41ページ) を参照のこと。

80

Page 91: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

ジョブ制御に関連したコマンドには、以下のものがあります。

ジョブ制御コマンド ジョブ制御コマンドcommand& コマンドをバックグラウンドジョブとして実行するps プロセス状態を表示するjobs (-l) バックグラウンドジョブの状態を表示するnohup command& ログアウト後もコマンドを実行するfg %n ジョブ n をフォアグラウンドにするbg %n ジョブ n をバックグラウンドにする^z フォアグラウンドジョブの実行を一時停止するstop %n バックグラウンドジョブ n の実行を一時停止するnotify %n ジョブ n の状態変化を通知するset notify 任意のジョブの状態変化を通知するようにするkill %n ジョブ nを終了させる^c フォアグラウンドジョブの途中終了 ( Ctrl +c)

先ほど作成したシェルプログラム (\loop")を実行しながら、ジョブ制御コマンドの使用例を示します。

1. \loop"プログラムをバックグラウンドで実行します。� �

sophia% loop & �� �� �

� �

2. ジョブ [1]がプロセス番号 xxxxで実行されたことが表示されます。� �

[1] xxxx� �

3. 再度 \loop"プログラムをバックグラウンドで実行します。� �

sophia% loop & �� �� �

� �

4. ジョブ [2]がプロセス番号 yyyyで実行されたことが表示されます。� �

[2] yyyy� �

81

Page 92: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

[1] + Running loop ( ジョブ [1]が loopプログラムを実行している[2] - Running loop ( ジョブ [2]が loopプログラムを実行している

sophia% jobs -l �� �� � ( オプション -l (エル) をつけるとプロセス番号も表示

[1] + xxxx Running loop

[2] - yyyy Running loop� �

6. プロセスの状態を表示します。� �

sophia% ps �� �� �

PID TTY S TIME CMD

xxxx ttyxx S 0:00 /bin/sh loop

yyyy ttyxx S 0:00 sleep 10

zzzz ttyxx R 0:00 ps

� �

表 示 意 味PID プロセス ID番号TTY 使用端末番号S 状態 (S:待ち R:実行)

CMD 実行コマンド名称

7. ジョブ [1]を一時停止します。� �

sophia% stop %1 �� �� �

[1] +Stopped (signal) loop ( ジョブ [1]を停止したことを表示� �

8. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

[1] +Stopped (signal) loop ( ジョブ [1]が停止しているのがわかる[2] -Running loop

� �

9. ジョブ [1]の実行を再開します。� �

sophia% bg %1 �� �� �

[1] loop &� �

82

Page 93: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

[1] Running loop ( ジョブ [1]の実行が再開されている[2] +Running loop� �

11. ジョブ [1]を終了させます。� �

sophia% kill %1 �� �� �

� �

12. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

[1] Terminated loop ( ジョブ [1]が終了したことを表示[2] +Running loop� �

13. ジョブ [2]を終了させます。� �

sophia% kill %2 �� �� �

� �

14. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

[2] Terminated loop ( ジョブ [2]が終了したことを表示

� �

15. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

sophia% ( ジョブが何も実行されていないことがわかる� �

83

Page 94: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

次に動作中のジョブを一時停止する方法を説明します。

1. \/etc/rc"ファイルを \more"コマンドで見ます。� �

sophia% more /etc/rc �� �� �

:

# @(#) /etc/rc $Revision:

:

:

echo "Automatic reboot in progress..." >/dev/console� �

2. ^z ( Ctrlキーを押しながら \z"を押す)を実行します。� �

:

# @(#) /etc/rc $Revision:

:

:

echo "Automatic reboot in progress..." >/dev/console

Stopped

sophia%� �

画面左下側に \Stopped"というメッセージが表示され、コマンドプロンプト状態になります。

3. バックグラウンドジョブの状態を表示します。� �

sophia% jobs �� �� �

[1] +Stopped more /etc/rc ( \more /etc/rc"が一時停止している� �

4. ジョブ [1]の実行を再開します。� �

sophia% fg %1 �� �� �

:

# @(#) /etc/rc $Revision:

:

:

echo "Automatic reboot in progress..." >/dev/console� �

停止していた \more /etc/rc"の続きが画面に表示されます。

84

Page 95: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

バックグラウンド実行したジョブが終了したか否を判断するには �� �� �キーを押すか、次のよ

うに \notify"を設定することで容易にできるようになります。

1. \work"をバックグラウンドで実行します。� �

sophia% work & �� �� �

[1] +Running work� �

2. 10秒以上待ってから �� �� �キーを押します。

� �

sophia% �� �� �

[2] Done work� �

3. \notify"を設定します。� �

sophia% set notify �� �� �

� �

4. \work"をバックグラウンドで実行します。� �

sophia% work & �� �� �

[1] +Running work� �

5. 10秒以上経つと、�� �� �キーを押さなくてもジョブが終了するとその状態を表示します。

� �

[2] Done work� �

85

Page 96: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.6 ディレクトリスタック機構

C シェルでは、スタック (最も最近に格納したものが先頭にあるような構造)を使って、複数のディレクトリを取り扱うことができます。このための組み込みコマンドとして、\pushd"、\popd"、\dirs"があります。

コマンド名 概要pushd dir dirをディレクトリスタックに入れ、そこに移動する。pushd +n n番目のディレクトリを先頭にし、そこに移動する。

(Cシェルは、スタックの要素を 0から教えます)

pushd 先頭の 2 つのディレクトリを入れ替え、新たに先頭になったディレクトリに移動する。

dirs ディレクトリスタックを表示する。popd ディレクトリスタックの先頭のディレクトリを取り除き、

新たに先頭になったディレクトリに移動する。popd +n ディレクトリスタックから n番目のディレクトリを取り

除く (0から始まります)

操作例� �

sophia% pushd /etc �� �� �

/etc ~ (ディレクトリ・スタックの内容が表示されるsophia% pwd �

� �� �

/etc

sophia% pushd /usr �� �� �

/usr /etc ~

sophia% popd �� �� �

/etc ~

sophia% pwd �� �� �

/etc

sophia% popd �� �� �

~

sophia% pwd �� �� �

/shome/succ/t-jouchi ( 自分のホームディレクトリが表示されるsophia%

� �

86

Page 97: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.7 Cシェルの環境設定ファイル

Cシェルには、作業環境を定義するのに使う特別なファイルが 3つあります。

ファイル名 意 味.login ログインした時に使われるファイル.logout ログアウトした時に使われるファイル.cshrc シェルが起動されたときに使われるファイル

これら 3つのファイルを自分のホームディレクトリの直下に作成 ( .login と .cshrc は登録時に作成されています)し、それらのファイルに作業環境を定義するコマンド、変数等を設定しておくことによって、端末の属性,コマンドプロンプト,コマンドのサーチパス名やファイルパーミッション等を制御することができます。また、自分専用のコマンド等を自動的に使用できるようにしたり、特別なログアウト方法を用いてログアウトしたり、その他、自分の好きなようにコマンド等の実行を行うことができます2。

7.7.1 .cshrc ファイル

ログイン後、プロンプトを表示する前に .cshrcファイルをホームディレクトリから探して、実行します3。

例 .cshrc ファイルの例� �

#.cshrc file sample

#setup shell variables

set path=(/usr/local/bin /usr/ucb /usr/bin /bin /usr/hosts \

/usr/local/mh /usr/local/im .)

set history=20 #set up history list

set savehist=20 #save for next login

set prompt='!%' #put even number in prompt

set ignoreeof #logout protection

set noclobber #redirection protection

#set up alias

alias al alias

al bye logout

al h history

al ldir 'ls -l !* | grep "^d"'

al cx 'chmod +x'� �

2.cshrc, .login 等のファイルを編集するときは、\cp"コマンドで、別名のファイルを作っておいてから行なってください。編集に失敗して、元の状態に戻したい場合、編集前に作っておいた別名のファイルから復元することができます。

3画面に何かを出力するようなコマンドは入れるべきではありません

87

Page 98: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

7.7.2 .login ファイル

ログイン後、.loginファイルをホームディレクトリから探して、実行します。

例 .login ファイルの例� �

#.login file sample

echo Hellow $user !

echo -n "Last logout: ";cat ~/.lastlog

stty intr ^c

stty erase ^h

stty kill ^u

biff y

from� �

7.7.3 .logout ファイル

ログアウト時に、ホームディレクトリに .logout があれば、C シェルはこれを実行します。

例 .logout ファイルの例� �

#.logout file sample

nohup

echo -n "Logging out at: "

date | tee ~/.lastlog

echo BYE BYE� �

7.8 端末設定コマンド

自分が使っている端末の設定を行う時、あるいは、設定を変更するときには、\stty"コマンドを使います。\stty"コマンドには、特定のキー入力に何らかの機能を持たせるものと、端末自体に何らかの機能を持たせるものの 2つの使い方があります。いま自分の端末の設定がどの様になっているかを知るには、\stty all"と入力します。

操作例� �

sophia% stty all �� �� �

#2 disc;speed 9600 baud; 24 rows; 80 columns

erase = ^H; werase = ^W; kill = ^U; intr = ^C; quit = ^\; susp = ^Z

……………………………………………………………………………………………………………………………………………………………………� �

この例は、Compaq AlphaServer ES40(sagami)で実行した場合です。SUNのマシン等で実行すると表示形式が異なります。また、表示されている内容についてもユーザ毎に異なる場合があります。

88

Page 99: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

上記の例において、1 画面に表示できる行数は 24 行、1 行 80 桁で、文字の削除は \^H"

( Ctrl +h)、コマンドラインにおける入力文字列の一括削除は \^U" ( Ctrl +u) にそれぞれ割当てられていることがわかります。これらの機能は \stty" コマンドを使って、自分用に設定を変更することができます。

コマンド形式� �

sophia% stty 機能名 割当てキー� �

それでは、現在「文字の削除」に割り当てられているキー設定を \^E"に変えてみましょう。

操作例� �

sophia% stty erase ^e �� �� � ( キー設定の変更

sophia% stty all �� �� � ( 端末設定の確認

#2 disc;speed 9600 baud; 24 rows; 80 columns

erase = ^E; werase = ^W; kill = ^U; intr = ^C; quit = ^\; susp = ^Z

……………………………………………………………………………………………………………………………………………………………………� �

これで文字の削除は \^E"に割り当てられました。次に、端末自体に何らかの機能を持たせる場合の説明をします。コマンド形式は次のとおりです。

コマンド形式� �

sophia% stty 機能名� �

例として、プロンプト、入力した文字等を画面に反映させない設定を行います。

操作例� �

sophia% stty -echo �� �� � ( 画面に反映させないように設定

� �

この状態で何か文字を入力しても画面には何も表示されません。例えば、この状態で \stty

all"と入力してみて下さい。

操作例� �

sophia% ( \stty all"と入力します

#2 disc;speed 9600 baud; 24 rows; 80 columns

erase = ^E; werase = ^W; kill = ^U; intr = ^C; quit = ^\; susp = ^Z

……………………………………………………………………………………………………………………………………………………………………

sophia%

� �

89

Page 100: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

再び画面に表示させるようにするには、次のように入力します。

操作例� �

sophia% stty echo �� �� � ( 画面に表示させるように設定

� �

これらの設定は、ログアウトすると解除されてしまいます。常時設定しておきたい時には、\.login" もしくは、\.cshrc"ファイルに記述しておく必要があります。また、設定できる機能名は数多くありますので、詳しくはオンラインマニュアルを参照してください。

7.9 環境設定

ここでいう「環境」とは、UNIXマシンにインストールされているアプリケーション等を使う上で必要な環境の事を言います。環境設定を行う代表的なコマンドとして、\setenv",\unsetenv",\printenv"があります。現在

の自分の環境状況をすべて知りたい場合は \printenv"コマンドを実行します。

操作例� �

sophia% printenv �� �� �

TERM=vt100 ( 使っている端末のタイプGWSOURCE=telnet

HOME=/shome/succ/t-jouchi ( ユーザホームディレクトリSHELL=/usr/local/bin/tcsh ( 使っているシェルUSER=t-jouchi ( ユーザ名 (ログイン名)

LOGNAME=t-jouchi

PATH=/usr/local/bin:/usr/ucb:/usr/bin:/bin:/usr/hosts:/usr/local/mh:.

:/usr/bin/X11 ( コマンド検索パスHOSTTYPE=alpha

VENDOR=dec

OSTYPE=osf1

MACHTYPE=alpha

PWD=/shome/succ/t-jouchi

HOST=sagami

I18NPATH=/usr/i18n

JSERVER=sagami ( 日本語変換する際のサーバマシン名EDITOR=/usr/local/bin/emacs ( アプリケーションを使う際のエディタ名LESSCHARSET=ujis-jis

PAGER=/usr/local/bin/less -is ( \man"コマンドでのページャー……………………………………………………………………………………………………………………………………………………………………� �

この例は、Compaq AlphaServer ES40 (sagami)で実行した場合の例です。他のマシンで実行すると表示形式が異なります。また、表示されている内容についてもユーザによって異なる場合があります。

90

Page 101: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

また、ある環境変数だけを表示させたい場合は、

操作例� �

sophia% printenv EDITOR �� �� �

/usr/local/bin/emacs� �

環境変数を設定するには \setenv"を使います。

コマンド形式� �

sophia% setenv 環境名 設定内容� �

例 1 \EDITOR"環境を \/usr/ucb/vi"に変更したい場合� �

sophia% setenv EDITOR /usr/ucb/vi �� �� �

sophia% printenv EDITOR �� �� �

/usr/ucb/vi� �

例 2 \manコマンドでのページャーに \less"コマンドを設定する場合� �

sophia% setenv PAGER /usr/local/bin/less �� �� �

sophia% printenv PAGER �� �� �

/usr/local/bin/less� �

これらの設定は、ログアウトすると解除されてしまいます。常時設定しておきたい時には、\.cshrc"ファイルに記述しておく必要があります。また、設定できる環境変数は数多くありますので、詳しくはオンラインマニュアルを参照してください。設定されている環境変数を解除するには \unsetenv" コマンドを使います。

コマンド形式� �

sophia% unsetenv 環境名� �

例 環境変数 EDITOR を解除したい場合。� �

sophia% unsetenv EDITOR �� �� �

sophia% printenv EDITOR �� �� �

sophia%� �

91

Page 102: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 8章

いろいろなコマンド

UNIXには数多くのコマンドが用意されています。大抵のコマンドは、

� /bin

� /usr/bin

� /usr/ucb

� /usr/local/bin

� /usr/local/bin/gnu

というディレクトリの下にあります。ただし、これらのディレクトリ名は利用するシステムによって異なりますので、各自でコマンドが格納されているディレクトリに移動 (\cd"コマンド等を使って)して確認してください。ここでは、UNIXを使う上で便利と思われるコマンドをいくつか紹介します。

文字列の検索 grep (8.1節 : p.93)

文字数・行数の検索 wc (8.2節 : p.95)

文字列の並び変え sort (8.3節 : p.96)

重複行の削除 uniq (8.4節 : p.97)

文字変換 tr (8.5節 : p.99)

ファイルの比較 di� (8.6節 : p.100)

ファイルの圧縮・伸長 compress, uncompress, (8.7節 : p.101)

gzip, gunzip

ファイルの探索 �nd (8.8節 : p.103)

他ユーザとの会話 phone, talk (8.9節 : p.104)

正規表現を使ったファイルの編集 sed, awk (8.11節 : p.110)

他のコマンドについては、オンラインマニュアルを利用してください。

92

Page 103: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.1 文字列の検索

ファイルの中のある文字列を検索するための代表的なコマンドとして \grep"コマンドがあります。

コマンド形式� �

sophia% grep オプション 検索パターン 検索対象となるファイル名…� �

\grep"コマンドは、指定したファイルから読み込み、指定した検索パターンと一致する行だけを出力するコマンドです (Global Regular Expression Print の略) 。オプションについては数が多いので、オンラインマニュアルを参照してください。

例 1 \sophia"というファイルの中から、\abc"という文字列を含む行だけを出力� �

sophia% grep abc sophia �� �� �

� �

例 2 \sophia"というファイルの中から、行頭に \abc"という文字列を含む行だけを出力� �

sophia% grep '^abc' sophia �� �� �

� �

例 3 \sophia" というファイルの中から、\a" あるいは \b" あるいは \c" で始まる行だけを出力� �

sophia% grep '^[abc]' sophia �� �� �

� �

例 4 \ls"コマンドの出力結果からサブディレクトリ名を出力� �

sophia% ls -l | grep '^d' �� �� �

� �

これらの例において、シングルクォテーション ( ' ' )で囲まれた部分 (検索パターン)および検索パターンは正規表現と呼ばれ、検索する文字列を表現するのによく使われます。正規表現については、8.10節 (p.108)を参照してください。

93

Page 104: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

\grep"以外にも、\fgrep", \egrep"というコマンドがあります。コマンド形式は、\grep"コマンドと同じです。\grep"コマンドとの主な違いは次のとおりです。

fgrep 正規表現を利用することができない。つまり、あらかじめわかっている文字列だけを検索する。\grep"コマンドより処理が速い。

egrep \grep"コマンドより正規表現が豊か。

\grep", \egrep"コマンドにおける正規表現には表 8.1に示すようなものがあります (優先度の低い順番)。

表 8.1: 主な正規表現パターン表

正規表現 意味c 特殊な意味をもたない任意の文字 cは、その文字自身を

意味するnc 文字 cの特殊な意味をなくす^ 行の先頭$ 行の終わり. 任意の 1文字[...] ...のうちの任意の 1文字, [a-z] のような範囲の指定も

有効[^...] ...のどれでもない任意の 1文字nn n番目の n(...n)がマッチしたものを指す (\grep"のみ)

r* ゼロ回以上の rの繰り返しr+ 1回以上の rの繰り返し (\egrep"のみ)

r? ゼロ回または 1回の r (\egrep"のみ)

r1r2 r1r2という並びr1 | r2 r1 あるいは r2

n(rn) タグ付きの正規表現 r (\grep"のみ)

(r) 正規表現 r (\egrep"のみ)

94

Page 105: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.2 文字数・行数を調べる

ファイルに書かれている単語数,文字数,行数を調べるには、\wc"コマンドを使います。

コマンド形式� �

sophia% wc オプション ファイル名…� �

オプション 説明-l(エル) 行を数える

-w 単語数を数える-c 文字数を数える

\wc"は指定したファイルから読み込み、必要に応じて、単語数,行数,文字数を出力します (Word Count の略)。

例 1 \file"というファイルを読み込み、行数,単語数,文字数を出力� �

sophia% wc �le �� �� �

8 10 66 file ファイル名� �

最初の \8"は行数、次の \10"は単語数、最後の \66"は文字数をそれぞれ意味します。

例 2 \file"というファイルを読み込み、行数だけを出力� �

sophia% wc -l �le �� �� �

� �

例 3 \file"というファイルを読み込み、行数と単語数を出力� �

sophia% wc -lw �le �� �� �

� �

例 4 \file1"と \file2"という 2つのファイルを読み込み、行数と単語数を出力� �

sophia% wc -lw �le1 �le2 �� �� �

� �

例 5 \ls"コマンド実行結果における行数,単語数,文字数を出力� �

sophia% ls -l | wc �� �� �

� �

95

Page 106: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.3 文字列の並び変え

ファイルに書かれている文字列を昇順,降順に並び変えるには、\sort"コマンドを使います。

コマンド形式� �

sophia% sort オプション ファイル名…� �

オプション 説明-f 大文字小文字を区別しない-n 数字を数値として扱う-r 降順に出力する-u 出力に同じ行が続く時、2行目以降を出力しない+数字 ソートするフィールドを指定する-o �le 結果を �le に出力する (入力ファイルと同じで構わない)

\sort"は指定したファイルから読み込み、文字列のソートを出力します。

注 意� �

\+数字" のオプションは、ソートしたいフィールドが先頭のフィールドからいくつ先(右)にあるか、という指定をします。したがって、2番目のフィールドを指定したいときは、先頭のフィールドから 1つ先 (右)にあるので、\+1" と指定します。第 3フィールドであれば \+2" となります。� �

96

Page 107: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

sophia% cat �le �� �� �

111 cc 999

22 bbb 888

333 aaa 777

111 cc 999

sophia% sort �le �� �� �

111 cc 999

111 cc 999

22 bbb 888

333 aaa 777

sophia% sort -n �le �� �� �

22 bbb 888

111 cc 999

111 cc 999

333 aaa 777

sophia% sort +1 �le �� �� �

333 aaa 777

22 bbb 888

111 cc 999

111 cc 999

sophia% sort -u �le �� �� �

111 cc 999

22 bbb 888

333 aaa 777� �

8.4 重複行の削除

ファイルの中の同じ文字列の行を削除したい時には、\uniq"コマンドを使います。

8.3節の \sort"コマンドで \-u"オプションを使った場合と同じ様な動作をします。ただし、同じ内容の行があっても、連続していなければ重複しているとは見なされません。したがって、重複している行を完全に取り除きたい時は、対象となるファイルをあらかじめソートしておく必要があります。

コマンド形式� �

sophia% uniq オプション ファイル名…� �

97

Page 108: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

オプション 説明-c 行の先頭に、重複の回数を付ける

(同内容の行があっても、連続していなければ重複とは見なされない)

-d 連続している同内容の行のみを、1つの行にまとめて出力する(同内容の行があっても、連続していなければ出力されない)

-u 連続している同内容の行は出力しない(同内容の行があっても、連続していなければ出力される)

� �

sophia% cat �le �� �� �

abc

abc

abc

def

ghi

ghi

jkl

def

sophia% uniq �le �� �� �

abc

def

ghi

jkl

def

sophia% uniq -c �le �� �� �

3 abc

1 def

2 ghi

1 jkl

1 def

sophia% uniq -d �le �� �� �

abc

ghi

sophia% uniq -u �le �� �� �

def

jkl

def

sophia% sort �le | uniq �� �� �

abc

def

ghi

jkl� �

98

Page 109: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.5 文字変換

小文字を大文字に、あるいは大文字を小文字に変換したい時は、\tr"(TRanslate charactersの略)コマンドを使います。

コマンド形式� �

sophia% tr オプション 文字列 1 文字列 2� �

オプション 説明-c 文字列 1に含まれない文字を処理の対象とする-d 文字列 1に含まれる文字を消去する-s 置き換えられた文字が連続する場合、1つだけにする

例 1 \sophia"というファイルを読み込み、\a"という文字全てを \A"に変換� �

sophia% tr a A < sophia �� �� �

またはsophia% cat sophia | tr a A �

� �� �

� �

例 2 \sophia"というファイルを読み込み、小文字を全てスペースに変換� �

sophia% tr a-z ' ' < sophia �� �� �

またはsophia% cat sophia | tr a-z ' ' �

� �� �

� �

例 3 \sophia"というファイルを読み込み、\a"は \A", \b"は \B", \c"は \C"にそれぞれ変換� �

sophia% tr abc ABC < sophia �� �� �

またはsophia% cat sophia | tr abc ABC �

� �� �

� �

例 4 \sophia"というファイルを読み込み、\a"を改行に変換� �

sophia% tr a 'n012' < sophia �� �� �

またはsophia% cat sophia | tr a 'n012' �

� �� �

(n012 は ASCII コードで改行を意味します)� �

99

Page 110: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.6 ファイルの比較

2つのファイルを比較し、相違点を調べる代表的なコマンドとして、\di�"コマンドがあります。

コマンド形式� �

sophia% di� オプション ファイル 1 ファイル 2� �

\di�"コマンドは、指定した 2つのファイルを読み込み、異なる行とその行番号および内容を出力します。オプションについては数が多いのでオンラインマニュアルを参照してください。

� �

sophia% cat �le1 �� �� �

abc def ghi jkl mno

abc ghi def mno jkl

def abc mno jkl ghi

ghi def mno jkl abc

sophia% cat �le2 �� �� �

abc def ghi jkl mno

abc ghi def mno jkl

def mno jkl abc ghi

ghi def mno jkl abc

sophia% di� �le1 �le2 �� �� �

3c3 ( 何行目に相違があるかを表示< def abc mno jkl ghi ( �le1 の 3行目の内容---

> def mno jkl abc ghi ( �le2 の 3行目の内容� �

ファイルの比較には、\di�"コマンドの他に、\di�3",\comm",\cmp" コマンドがあります。詳細はオンラインマニュアルを参照してください。

100

Page 111: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.7 ファイルの圧縮・復元

ファイルの圧縮を行う代表的なコマンドとして、\compress"コマンドがあります。

コマンド形式� �

sophia% compress オプション ファイル…� �

オプション 説明-c 結果を標準出力する。ファイルは変更されない-f 結果を書き込むファイルがすでに存在していてもコマン

ドを実行する-v 圧縮されるファイルの縮小率を表示

\compress"コマンドは、適応 Lempel-Ziv法を使って指定したファイルのサイズを縮小します。実行結果は、指定したファイル名に \.Z"という拡張子を付けて置き換えられます。なお、元のファイルは削除されます。� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 215658 Jun 3 12:01 file1

sophia% compress �le1 �� �� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 119583 Jun 3 12:03 file1.Z

� �

最近の傾向として、GNU Product の \gzip"コマンドが使われるようになってきています。このコマンドは \compress"コマンドより圧縮率が高くなっています1。実行結果は、指定したファイル名に \.gz"という拡張子を付けて置き換えられます。(元のファイルは削除されます。)

コマンド形式� �

sophia% gzip オプション ファイル…� �

オプション 説明-c 結果を標準出力する。ファイルは変更されない-d 圧縮されたファイルを解凍する-f 結果を書き込むファイルがすでに存在していてもコマン

ドを実行する-v 圧縮されるファイルの縮小率を表示

1その分、実行時間がややかかります。

101

Page 112: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 215658 Jun 3 12:01 file1

sophia% gzip �le1 �� �� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 63229 Jun 3 12:03 file1.gz� �

どちらのコマンドで圧縮されたかはファイルの拡張子で判断します。

コマンド名 ファイルの拡張子compress .Z

gzip .gz

\compress"コマンドで圧縮されたファイルを復元したい場合は、\uncompress"コマンドを使います。

コマンド形式� �

sophia% uncompress オプション ファイル…� �

オプション 説明-c 結果を標準出力する。ファイルは変更されない-v メッセージを表示

� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 119583 Jun 3 12:03 file.Z

sophia% uncompress �le1.Z �� �� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 215658 Jun 3 12:06 file1� �

\gzip"コマンドで圧縮されたファイルは、\uncompress"コマンドでは復元できませんので注意してください。

\gzip"コマンドで圧縮されたファイルを復元する場合には、\gzip"コマンドに復元するためのオプション \-d"を指定するか、あるいは、\gunzip"コマンドを使用します。なお、\compress"

で圧縮されたファイルを \gzip"コマンドで復元することは可能です。

102

Page 113: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 63229 Jun 3 12:03 file.gz

sophia% gzip -d �le1.gz �� �� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 215658 Jun 3 12:07 file1� �

あるいは� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 63229 Jun 3 12:03 file.gz

sophia% gunzip �le1.gz �� �� �

sophia% ls -l �� �� �

-rw-r--r-- 1 t-jouchi 215658 Jun 3 12:07 file1� �

圧縮されたファイルの内容を見る時は、\zcat",\zmore"コマンドを使います。� �

sophia% ls -l �le1.Z �� �� �

-rw-r--r-- 1 t-jouchi 119583 Jun 3 12:03 file.Z

sophia% zmore �le1 �� �� �

� �

詳細は、オンラインマニュアルを参照してください。

8.8 ファイルの探索

ファイルを探索するには \�nd"コマンドを使います。

コマンド形式� �

sophia% �nd 探索ディレクトリ名 オプション� �

オプションは数多くあり、すべてを紹介する事はできませんので、代表的なものだけを紹介します。

オプション 説明

-name パターン \パターン"でファイル名を指定-print ファイルのパス名を表示

-perm モード \モード"でファイルの許可モードを指定

-size サイズ \サイズ"でファイルのサイズ (ブロック単位)を指定

-atime 数字 \数字"で、何日以内にアクセスされたファイルかを指定-ctime 数字 \数字"で、何日以内にステータス変更されたファイルかを指定-mtime 数字 \数字"で、何日以内にデータが変更されたファイルかを指定

103

Page 114: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 1 カレントディレクトリ下に \jouchi"というファイルの存在を探索� �

sophia% �nd . -name jouchi -print �� �� �

� �

例 2 ホームディレクトリ下の、2日以内にアクセスされたファイルを探索� �

sophia% �nd �/ -atime 2 -print �� �� �

� �

例 3 カレントディレクトリ下に、ファイルの大きさがゼロで、ファイルのステータスが 4日以内に変更されたファイルを探索� �

sophia% �nd . -size 0c -ctime 4 -print �� �� �

� �

例 4 カレントディレクトリ下の、ファイルの許可モードが 8進数で \0400"(所有者のみがファイルの内容を見ることができる)のファイルを探索� �

sophia% �nd . -perm 0400 -print �� �� �

� �

注 意� �

このコマンドで、探索ディレクトリ名に \/", \/usr", \/usr/local",\/usr/spool"等自分のホームディレクトリ以下以外のディレクトリは絶対に指定しないでください。指定すると結果を得るのに時間がかかり、また、システムパフォーマンスが極端に落ち、他の利用者に迷惑をかけます。� �

8.9 他ユーザとの会話

他のユーザとのコミュニケーションの手段として E-mail(電子メール)がありますが、この他にも \talk"あるいは \phone"コマンドがあります。 \talk"あるいは \phone"コマンドを利用すると、画面上で他ユーザとリアルタイムで会話をすることができます。

コマンド形式� �

sophia% talk ユーザ名 [端末名] *端末名の指定は特に必要ありません。� �

コマンド形式� �

sophia% phone オプション ユーザ名 [端末名] *端末名の指定は特に必要ありません。� �

ここでは、よく使われる \phone" コマンドについて説明します。ただし、\phone"コマンドは、相手のシステムによっては利用できないことがありますので注意してください。

104

Page 115: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

\phone"コマンドと \talk"コマンドの大きな違いは、「 \phone"コマンドでは、コマンドオプションを指定することにより、ひらがな,カタカナが使える」ことです。

\phone"および \talk"コマンドは、相手がシステムにログインしてる事が前提条件になります。ログインしているかどうかは \who"コマンド (4.4.1節参照) で調べます。

� �

sophia% who �� �� �

fujiwara ttyp0 Dec 5 12:32

obinata ttyp1 Dec 5 09:01

yabuki ttyp4 Dec 5 11:04

jouchi-h ttypc Dec 5 13:55

t-jouchi ttype Dec 5 10:13� �

ログインしていないユーザ名を指定するとエラーになります。� �

sophia% phone tarou �� �� �

tarou@dahlman is not logged in

Connection closed. Exiting ...

� �

\phone"コマンドを実行すると、自分側の画面は図 8.1のようになります。

図 8.1: phoneコマンド実行時の自分側の画面表示例

105

Page 116: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

\phone" コマンドを受け取った相手側の画面には、次のようなメッセージが表示されます(dahlman にログインしている場合です)。

Message from the Telephone_Operator@dahlman at ...

phone: connection requested by From-USER-ID@dahlman.

phone: respond with "phone From-USER-ID"

\From-USER-ID"の部分には、\phone"コマンドを実行したユーザのログイン名が表示されます。この状態で、\phone"コマンドを受け取ったユーザは、� �

sophia% phone �� �� �

� �

と入力します。画面が図 8.2のように変わります。

図 8.2: phoneコマンド完了時の自分側の画面表示例

ここで何か文字を入力すると画面に反映されます (表示される文字は基本的にはアルファベットです)。画面の上半分には、自分が入力した文字が反映され、下半分には、相手が入力した文字が反映されます。

例 ログイン名 \t-jouchi"さんが、ログイン名 \jouchi-h"さんに \phone"コマンドを実行した場合

1. \phone"コマンドを実行します。� �

sophia% phone jouchi-h �� �� �

� �

2. 画面が図 8.1のようになります。

3. 相手側 (\jouchi-h"さん)の画面には次のように表示されます。

106

Page 117: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

Message from the Telephone_Operator@dahlman at ...

phone: connection requested by t-jouchi@dahlman.

phone: respond with "phone t-jouchi"� �

4. \jouchi-h"さんが、\phone"コマンドを実行します。� �

sophia% phone �� �� �

� �

5. お互いの画面が図 8.2のようになります。

上智の UNIXマシンにインストールされている \phone"コマンドは、ローマ字入力した文字をひらがな、カタカナ変換させて表示する事ができます。そのような場合には、次のようにコマンドオプション (\-cj")を指定します。� �

sophia% phone -cj jouchi-h �� �� �

� �

\-cj"とは、「日本語変換は JISコードを使う」という意味で、他にも、\Shift-JIS",\EUC"コードを指定する事ができます。ただし、上智では JISコードしかサポートしていませんので、このオプション以外の指定は出来ません。

図 8.3: \-cj"オプションを指定した場合の画面表示例

注 意� �

このコマンドは、自分と面識のあるユーザ同士で行ってください。面識のないユーザに対しては、相手の方に多大な迷惑をかけますので、絶対にコマンドを実行しないでください。� �

107

Page 118: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.10 正規表現

\ed", \sed", \grep"コマンド等を使って検索したい文字列や、変更したい文字列など、文字列表現の一般形のことを「正規表現」という言い方をします。正規表現では、検索パターンにおいて、必ずしも文字をその文字のとおりに指定する必要は

ありません (8.1節の \grep"コマンドの使用例では文字列が指定されていました)。� �

sophia% grep abc �le �� �� �

sophia% grep '^abc' �le �� �� �

� �

この例は、8.1節でも説明しました。上記の例において検索パターンをシングルクォーテーションで囲っていますが、これは、\ ^ "という特殊文字の本来の意味を打ち消すために使われます。\ ^ "文字の他にも次のような特殊文字も正規表現で使うことができます。

特殊文字 概要^ 行の先頭$ 行の終わり. 任意の 1文字* 0文字以上の文字の連続[文字列] \文字列"に含まれる文字 (1文字)

[^文字列] \文字列"に含まれない文字 (1文字)

n 特殊文字の持つ特別な意味を打ち消す

例えば、\grep"コマンドを使って次のように入力するとどういう意味になるか、考えてみてください。� �

sophia% grep '^ .*' �le �� �� � (

^と. の間には 1つのスペースが入っています。� �

これは、先頭に 1つ以上の空白のある行を検索するという意味になります ( ^ と . の間には1つのスペースが入っているためです)。また、次のように入力すると、スペースだけ、TAB

だけ、あるいはその組み合わせによる空白の行を検索するという意味になります。� �

sophia% grep '^[ ] *$' �le �� �� �

� �

ここで、\["と \]"の間には、スペースキー 1回と TABキー 1回が入ります。このように、検索パターンに特殊文字を使うことにより、テキスト処理等をスムーズに行うことができます。それではもう少し例を挙げながら説明します。

例 1 \aac", \abc", \acc", \adc", \axc", \a+c"等に一致する行を検索� �

sophia% grep 'a. c' �le �� �� �

� �

108

Page 119: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 2 \aac", \abc", \acc"に一致する行を検索� �

sophia% grep 'a[abc]c' �le �� �� �

� �

例 3 \aac", \aec", \afc", \agc"等に一致する行を検索 (\abc", \acc", \adc"は検索対象外となります。)

� �

sophia% grep 'a[^bcd]c' �le �� �� �

� �

例 4 \ab0", \ab1", \ab2", \ab3" ,\ab4" .... \ab9"に一致する行を検索� �

sophia% grep 'ab[0-9]' �le �� �� �

� �

例 5 \abc"で終わる行を検索� �

sophia% grep 'abc$' �le �� �� �

� �

例 6 \abc"だけある行を検索� �

sophia% grep '^abc$' �le �� �� �

� �

例 7 0文字以上の \a"の連続 (文字なし, \a", \aa", \aaa", \aaaa"等)の行を検索� �

sophia% grep 'a*' �le �� �� �

� �

例 8 1文字以上の \a"の連続 (\a",\aa",\aaa",\aaaa"等)の行を検索� �

sophia% grep 'aa*' �le �� �� �

� �

例 9 \.nf"と一致する行を検索 (n を使って \."を正規表現における特殊文字ではなく、文字として解釈させる)

� �

sophia% grep 'n.nf' �le �� �� �

� �

109

Page 120: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

8.11 正規表現を使ったファイルの編集

正規表現を解釈できるコマンドは数多くありますが、ここでは、\sed", \awk"コマンドを使ったファイルの編集方法について簡単に説明します。

8.11.1 sed コマンド

\sed"とは \Stream EDitor"の略で、UNIXにおける最初のラインエディタである\ed"(EDitor)

コマンドが起源となっています。通常、エディタコマンドによる編集はファイルを対象としますが、\sed"コマンドは、ファイ

ルのみならず、あるコマンドの実行結果を入力対象として編集作業を行ったり、標準入力 (キーボードからの入力)を対象として編集作業を行い、いずれの場合も結果を標準出力します (シェルの機能を使ってファイルに保存することもできます)。従って、編集対象となるファイルの内容を直接書き換える事はできません。ここで言う「編集作業」とは、「ある文字 (列)を他の文字 (列)に変更する」事を意味しま

す。コマンド形式は次のとおりです。

コマンド形式� �

sophia% sed -e '実行したい命令' ファイル名sophia% sed -f コマンドファイル名 ファイル名� �

オプション 説明-e コマンド 指定された \コマンド"を解釈し、編集を行う-f ファイル名 指定した'ファイル名'に記述された命令を読み込み、

解釈し、実行する-n 入力行の自動出力をしない

コマンド形式の中で、\実行したい命令"とは、\ed"コマンドにおけるファイル編集の際のコマンドを意味し、数多くのコマンドが用意されています (詳細はオンラインマニュアルを参照してください)。

それではいくつかの使い方について簡単に説明します。ここでは、次のような内容のファイルがある事を前提にします。� �

sophia% cat �le �� �� �

aaa bbb aaa ddd

bbb ccc ddd eee

ccc ddd eee eee

aaa ggg aaa iii� �

110

Page 121: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

まず、\ggg"を \hhh"に変更するには、次のように入力します。� �

sophia% sed -e 's/ggg/hhh/' �le �� �� �

aaa bbb aaa ddd

bbb ccc ddd eee

ccc ddd eee eee

aaa hhh aaa iii� �

実行結果は、変更対象の有無にかかわらず、全て標準出力として画面に出力されます。実行結果を、変更対象となる行のみを出力したい場合は、\sed"コマンドのオプション \-n"とコマンド \p"使います。� �

sophia% sed -n -e 's/ggg/hhh/p' �le �� �� �

aaa hhh aaa iii� �

次に、1行目と 4行目にある \aaa"という文字列を \AAA"に変更してみます� �

sophia% sed -e 's/aaa/AAA/' �le �� �� �

AAA bbb aaa ddd

bbb ccc ddd eee

ccc ddd eee eee

AAA ggg aaa iii� �

1行目、4行目とも、その行の先頭にある \aaa"は変更はされましたが、同じ行にある次の\aaa" は変更されていません。これは、上記の命令方法では、「ファイルの内容を 1行目から順番に読み込み、その行で最初に見つけた文字 (列)を別の文字 (列)に変換したら、次の行の処理に進む」という意味になってしまっているためです。すべての文字 (列)も変更の対象にしたい場合は、最後の \/"の後に \g"を指定します。� �

sophia% sed -e 's/aaa/AAA/g' �le �� �� �

AAA bbb AAA ddd

bbb ccc ddd eee

ccc ddd eee eee

AAA ggg AAA iii� �

これで全部変更できました。\g"は \Global"の略で、ファイル全体を対象とする事を意味します。

111

Page 122: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

今度は、3行目にある \eee"という文字列を大文字 \EEE"に変更してみましょう。先の例のとおりに行うと次のようになります。� �

sophia% sed -e 's/eee/EEE/g' �le �� �� �

aaa bbb aaa ddd

bbb ccc ddd EEE

ccc ddd EEE EEE

aaa ggg aaa iii� �

2行目の \eeeという文字列も \EEE"に変更されてしまいました。ある行だけを編集対象としたい場合、\s"コマンドの前に行を指定する事により実行できます。� �

sophia% sed -e '3s/eee/EEE/g' �le �� �� �

aaa bbb aaa ddd

bbb ccc ddd eee

ccc ddd EEE EEE

aaa ggg aaa iii

� �

行の指定においても範囲を指定できます。例えば、1行目と 2行目にある \bbb"という文字列を \BBB"に変更したい場合、次のように入力します。� �

sophia% sed -e '1,2s/bbb/BBB/g' �le �� �� �

aaa BBB aaa ddd

BBB ccc ddd eee

ccc ddd eee eee

aaa ggg aaa iii� �

このように、行の範囲の指定をする場合は、\s"コマンドの前に何行目から何行目かをカンマ (,)で区切って指定します。

今までの例は、実行結果を全て画面に表示していましたが、これらをファイルに保存することもできます。

例 1 シェルの出力リダイレクション機能を使った場合。� �

sophia% sed -e 's/bbb/BBB/g' �le > �le1 �� �� �

sophia% cat �le1 �� �� �

aaa BBB aaa ddd

BBB ccc ddd eee

ccc ddd eee eee

aaa ggg aaa iii� �

112

Page 123: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 2 \sed"コマンドにおける \w"コマンドを使った場合。� �

sophia% sed -e 's/bbb/BBB/gw �le2' �le �� �� �

aaa BBB aaa ddd

BBB ccc ddd eee

ccc ddd eee eee

aaa ggg aaa iii

sophia% cat �le2 �� �� �

aaa BBB aaa ddd

BBB ccc ddd eee

sophia% sed -n -e 's/bbb/BBB/gw �le3' �le �� �� �

sophia% cat �le3 �� �� �

aaa BBB aaa ddd

BBB ccc ddd eee� �

例 1は、シェルの機能を使った方法で、標準出力を \file1"というファイルに保存する場合です。例 2は、実行結果すべてをファイルに保存するのではなく、変更対象となった行のみを \file2"および \file3" というファイルに保存する場合です。

\sed"コマンドは、変更したい文字列の部分に正規表現を使って変更作業を行う事ができます。例えば、行の先頭が \ccc"で始まる文字列のみ \CCC"に変更したい場合には、次のように入力します。� �

sophia% sed -e 's/^ccc/CCC/g' �le �� �� �

aaa bbb aaa ddd

bbb ccc ddd eee

CCC ddd eee eee

aaa ggg aaa iii� �

このように正規表現を使う事によって、いろいろな編集が自分の思うままにできます。

今までの例では変更命令 (シングルクォテーションで囲まれた部分)をコマンドラインから入力してきましたが、これらの命令 (スクリプトと言う)をあるファイル (スクリプトファイルと言う)に書き込んでおき、実行時には、スクリプトファイルからスクリプトを読み込み、実行することができます。例えば、\sedfile"というスクリプトファイルに次のようなスクリプトを書いておいたとし

ます。� �

sophia% cat sed�le �� �� �

1,$s/eee/EEE/g

1,$s/^ccc/CCC/g

� �

113

Page 124: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

このスクリプトファイルを元にコマンドを実行するには、\sed"コマンドのオプション \-f"

を使います。� �

sophia% sed -f sed�le �le �� �� �

aaa bbb aaa ddd

bbb ccc ddd EEE

CCC ddd EEE EEE

aaa ggg aaa iii� �

この様に実行したいスクリプトをファイルに格納しておき、\sed"コマンドの実行をファイルからという形にしておくと、同じスクリプトを必要なときに実行でき、作業効率が上がります。この他にもいろいろな使い方ができますので、詳細についてはオンラインマニュアルを参照

するか、市販されている図書を参照してください。

8.11.2 awk コマンド

\sed"コマンドと同様に、 \awk"コマンドも入力の各行に対してスクリプトのセットを実行します。\awk"コマンドは、\sed"コマンドにある幾つかの制限を補ってくれます。コマンドの利用

形態は \sed"コマンドとよく似ています。

コマンド形式� �

sophia% awk オプション 'fプログラム g' ファイル名� �

オプション 説明-f ファイル名 \ファイル名"に記述された命令を読み込み、解釈し、

実行する-Fc cの文字をフィールドセパレータとする (既定値はス

ペース)

val=value プログラムで使われる変数 valに変数値 valueをセットする

また、\awk"コマンドにおける変数として以下のものがあります。

変数名 説明$数値 (数値)番目のフィールドを示す。ただし、$0 という指

定は特別で、行全体を示します。NR 行番号を示します。NF フィールドがいくつあるかを示します。

114

Page 125: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

それではいくつかの使い方について簡単に説明します。ここでは、次のような内容のファイルがある事を前提にします。� �

sophia% cat �le �� �� �

10 100 1000

1 5 7� �

はじめに、コマンドで \cat �le"と実行した場合と同じ動作をさせるには次のように入力します。� �

sophia% awk 'fprintg' �le �� �� �

10 100 1000

1 5 7� �

次に、\print"の後に \$0"を指定してみます。� �

sophia% awk 'fprint $0g' �le �� �� �

10 100 1000

1 5 7� �

結果は同じです。それでは、\$0"の変わりに \$2"を指定してみます。� �

sophia% awk 'fprint $2g' �le �� �� �

100

5� �

今度は、各行の 2番目の要素が取り出され、表示されました。それでは、この指定方法を使って各行の全部の要素を取り出してみます。� �

sophia% awk 'fprint $1,$2,$3g' �le �� �� �

10 100 1000

1 5 7� �

取り出しはできましたが、2行目の出力が今までと異なります。これは、\awk"コマンドの既定値で、要素間の区切りは \スペース" であると認識しているからです。このような出力形式が気に入らない場合は \printf"を使って指定します。方法は後述します。

115

Page 126: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

次に、行番号だけを表示してみます。� �

sophia% awk 'fprint NRg' �le �� �� �

1

2� �

さらに、行番号を付けてファイルの中の要素を取り出してみます。� �

sophia% awk 'fprint NR, $0g' �le �� �� �

1 10 100 1000

2 1 5 7� �

今度は、各行にいくつの要素があるかを調べます。� �

sophia% awk 'fprint NFg' �le �� �� �

3

3� �

今までの例を元に、次のような事が簡単に出来ます。� �

sophia% awk 'fprint "line", NR, "is", $0g' �le �� �� �

line 1 is 10 100 1000

line 2 is 1 5 7� �

このように、途中に文字列を挿入したい場合は、ダブルクォテーション (" ") でその文字列を囲みます。

また、C言語と同じように条件文の記述が可能で、変数の値が数値の場合は、自動的に数値の比較になります。

条件文 意味a>b a は b より大きいa<b a は b より小さいa>=b a は b 以上a<=b a は b 以下a==b a と b は等しいa!=b a と b は等しくないa&&b a かつ b (論理積)

a||b a または b (論理和)

例 1 2番目の要素が 50より大きい行を出力� �

sophia% awk '$2>50 fprintg' �le �� �� �

10 100 1000� �

116

Page 127: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 2 2番目の要素が 50より大きく、3番目の要素が 4000より小さい行を出力� �

sophia% awk '$2>50 && $3<4000 fprintg' �le �� �� �

10 100 1000� �

例 3 行番号が 2にある全ての要素を出力� �

sophia% awk 'NR==2 fprintg' �le �� �� �

1 5 7� �

正規表現を使って、\7" という文字を検索し、その行の 2番目の要素を取り出すには次のように指定します。� �

sophia% awk '/7/ fprint $2g' �le �� �� �

5� �

C言語の printf と同様な書式付き出力もできます。� �

sophia% awk 'fprintf("line is %d, %s %s %snn",NR, $1, $2, $3)g' �le �� �� �

line 1 is, 10 100 1000

line 2 is, 1 5 7� �

書式 意味%s 文字列として扱う%d 整数として扱う%f 小数点として扱うnt タブnn 改行

\%s", \%d" 等の説明については、C言語関連の図書を参照してください。

117

Page 128: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

少し慣れた所で、ちょっと高度な使い方をしてみましょう。データファイルの内容を次のようなものとします。

� �

sophia% cat �le �� �� �

name syozoku bunrui shinchou taijuu deposit

---------------------------------------------------------

tanaka denki student 175 65 5000

sasaki center shokuin 170 60 4000

yabuki denki teacher 175 63 7000

fujiwara center shokuin 180 70 3000

miki sugaku student 170 60 1000

kuroe kagaku student 175 80 1000� �

また、別のファイルに次のような内容の記述があるとします。� �

sophia% cat �le1 �� �� �

BEGIN {

printf("%10s %7s[cm]<n", "NAME", "SHINCHOU")

print "-----------------------"

}

NR > 2 {printf("%10s %7d[cm]<n", $1, $4)}

END {print "-----------------------"}� �

ここで次のようにコマンドを実行します。� �

sophia% awk -f �le1 �le �� �� �

NAME SHINCHOU[cm]

-----------------------

tanaka 175[cm]

sasaki 170[cm]

yabuki 175[cm]

fujiwara 180[cm]

miki 170[cm]

kuroe 175[cm]

-----------------------� �

これは、\file1"という、スクリプトで書かれたファイルを読み込み、コマンドを実行します。\file1"の内容において、条件の部分に \BEGIN"あるいは \END"と書くと、処理の始めあるいは終わりにその命令が実行される事を意味します。

118

Page 129: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

上記の例では、はじめに、� �

NAME SHINCHOU[cm]

-----------------------� �

というヘッダを出力し、検索終了後、� �

-----------------------� �

を出力する、という意味になります。

この他にもいろいろな使い方ができます。詳しい使い方については、市販されている図書を参照してください。

119

Page 130: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 9章

周辺装置の利用方法

9.1 磁気テープ装置

磁気テープは、他の計算機システム間でのプログラムやデータの受渡し、一定期間使用しないファイルの保存等に利用することができます。利用するホストにより取り扱い等が異なりますので十分注意してください。

9.1.1 磁気テープ装置仕様

表 9.1: 磁気テープ装置仕様表

マシン名 媒体の種類 記録密度 (bpi) 記録容量 (MB)

sanuki オープンリール 800 20

1600 40

3200 80

6250 130

8mmカートリッジ { 2,000

1/4インチ CGMT { 最大 155

表 9.1において、

1. bpiとは記録密度を表す単位で、Byte Per Inch の略です。長さ 1インチあたり何バイトの情報を記録するかという意味です

2. オープンリールは、2400フィートのテープを使用した場合です

9.1.2 磁気テープ装置の論理名称

UNIXでは、磁気テープ装置も 1つのファイルとして扱われます。磁気テープ装置に与えられる特殊ファイル名 (デバイスファイル名)の名称は表 9.2 に示すとおりです。

120

Page 131: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

表 9.2: 磁気テープ装置用デバイスファイル名称一覧表

周辺装置名 特殊ファイル名 記録密度 リワインド(デバイスファイル名) (bpi) (巻き戻し)

オープンリール /dev/rst4l 800 有/dev/nrst4l 800 無/dev/rst4m 1600 有/dev/nrst4m 1600 無/dev/rst4h 6250 有/dev/nrst4h 6250 無/dev/rst4u 圧縮, 6250 有/dev/nrst4u 圧縮, 6250 無

8mm /dev/rst5 { 有/dev/nrst5 { 無

CGMT /dev/rst2 { 有/dev/nrst2 { 無

9.1.3 磁気テープ装置を利用するコマンド

UNIXでは、磁気テープ装置を利用するためのコマンドがいくつか用意されています。ここでは、最も代表的な \tar"と \mt"コマンドについて、その利用方法を \8mmカートリッジ"

に記録する方法で説明します。したがって、他の装置を利用する場合は、デバイスファイル名が異なりますので、注意してください。

9.1.3.1 tarコマンド

tarコマンドで、指定ディレクトリ以下に含まれるすべてのファイルを磁気テープに書き込んだり、磁気テープから読み込んだりすることができます。

コマンド形式� �

sophia% tar [オプション] [デバイスファイル名] ファイル名� �

オプション 説明c 磁気テープにファイルの内容を書き込むf 磁気テープのデバイスファイル名を指定するt 磁気テープに書き込まれたファイルのファイル名のリス

トを出力するv 磁気テープに読み書きするときに詳しい情報を出力さ

せるx 磁気テープに書き込まれた内容をディスクファイルに書

き出す

指定できるデバイスファイル名については、9.1.2節を参照してください。

121

Page 132: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

使用例 1 磁気テープに新たに書き込む場合� �

sophia% tar cvf /dev/rst1 ファイル名 �� �� �

� �

使用例 2 磁気テープの内容を見る場合� �

sophia% tar tvf /dev/rst1 �� �� �

� �

使用例 3 磁気テープから読み込む場合� �

sophia% tar xvf /dev/rst1 �� �� �

� �

9.1.3.2 mtコマンド

\mt"コマンドは、磁気テープ装置に直接コマンドを送るために使われます。

コマンド形式� �

sophia% mt [-f デバイスファイル名] コマンド [count値]

� �

コマンド 説明eof 磁気テープのカレントポジョションに EOF マークの

count値分を書き込むfsf count値分ファイルを前にスキップfsr count値分レコードを前にスキップbsf count値分ファイルを後にスキップbsr count値分レコードを後にスキップrew 磁気テープをリワインド (巻き戻し)する

使用例 1 テープを巻き戻す場合� �

sophia% mt -f /dev/rst1 rew �� �� �

� �

使用例 2 EOFマークを 2回書き込む場合� �

sophia% mt -f /dev/rst1 eof 2 �� �� �

� �

使用例 3 1ファイルスキップする場合� �

sophia% mt -f /dev/rst1 fsf 1 �� �� �

� �

122

Page 133: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

* 詳細については、オンラインマニュアル (mt(1), tar(1), mtio(4))を参照してください。

それでは実際例を使って説明します。

例 1 自分のホームディレクトリ以下、全てのファイルを磁気テープ (8mmカートリッジ)に書き込む場合

1. 自分のホームディレクトリに移動します。� �

sophia% cd �� �� �

� �

2. 自分のホームディレクトリを確認します。� �

sophia% pwd �� �� �

/shome/succ/t-jouchi� �

3. 1つ上のディレクトリに移動します。� �

sophia% cd .. �� �� �

� �

4. \tar"コマンドおよびディレクト名を入力します。� �

sophia% tar cvf /dev/rst1 ./t-jouchi �� �� �

a ./t-jouchi/.login 1 blocks

a ./t-jouchi/.cshrc 1 blocks

a ./t-jouchi/vitest 1 blocks...

sophia%

� �

\v"オプションを付けているのでファイル名が表示されます。

例 2 磁気テープの内容を読み込み、ファイルに復元する場合

1. 自分のホームディレクトリに移動します。� �

sophia% cd �� �� �

� �

2. カレントディレクトリを確認します。� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

� �

3. 1つ上のディレクトリに移動します。� �

sophia% cd .. �� �� �

� �

123

Page 134: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

4. \tar"コマンドを実行します。� �

sophia% tar xvf /dev/rst1 �� �� �

x ./t-jouchi/.login, 142bytes, 1 tape blocks

x ./t-jouchi/.cshrc, 224bytes, 1 tape blocks

x ./t-jouchi/vitest, 149bytes, 1 tape blocks

sophia%� �

\v"オプションを付けているので磁気テープの内容が表示されます。

注意 ディレクトリ名やファイル名を指定しないと、テープに記録されているすべてのディレクトリとファイルが復元されます。

磁気テープ装置ではなく、パソコンのFD(フロッピーディスク)やMO(光磁気ディスク)に、UNIX上のファイルをバックアップとして保存しておきたいときにも、tarコマンドを使って処理することができます。tarコマンドには、デバイスファイル名の代わりに通常のファイル名を指定することで、複

数のファイルを 1つのファイル (tarコマンドで作ったファイルなので \tarファイル"と言います) にまとめるといった機能もあります。

例 3 自分のホームディレクトリに \Program" というディレクトリがある。そのディレクトリにあるすべてのファイルを tar ファイルにして、MO(光磁気ディスク) に保存する。(Windows 2000から UNIXにログインしていることとします)

1. カレントディレクトリを確認します。� �

sophia% pwd �� �� �

/shome/succ/t-jouchi/Program

� �

2. バックアップを取りたいディレクトリの、1つ上のディレクトリに移動します。この場合は、ホームディレクトリになります。� �

sophia% cd .. �� �� �

sophia% pwd �� �� �

/shome/succ/t-jouchi

� �

124

Page 135: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. \tar"コマンド および tarファイルの名称を入力し、実行します。� �

sophia% tar cvf /tmp/backup.tar ./Program �� �� �

a ./Program

a ./Program/DATA

a ./Program/prog1.c 13 blocks

a ./Program/test.c 4 blocks

a ./Program/DATA/database 20 blocks...

sophia% ls -l /tmp/backup.tar �� �� �

total

-rw-r--r-- 1 t-jouchi 547040 Jan 17 13:46 backup.tar

sophia%� �

上記のコマンドを実行すると、 \/tmp"ディレクトリ1に、\backup.tar"という tar

ファイル2が作られます。

4. Windows 2000搭載のパソコンには \FFFTP" というファイル転送が簡単にできるアプリケーションがインストールされています。UNIXからパソコンにファイルを転送するときは、このアプリケーションを使います。詳細については、別冊『 FFFTP

の使い方』を参照してください。

5. MOへの転送が済んだら、tarファイルは削除します。� �

sophia% rm /tmp/backup.tar �� �� �

� �

例 4 MOにある tarファイルから、UNIXのファイルを復元します。ここでは、例 3で作ったバックアップ (tarファイル)を元に戻します。(Windows 2000を利用していることとします)

1. \FFFTP" を使って、いずれかの UNIXマシンの \/tmp" ディレクトリに tarファイルを転送します。

2. tarファイルを転送した UNIXマシンにログインします。

3. 復元するディレクトリの 1つ上のディレクトリに移動します。ここでは、ホームディレクトリになります。� �

sophia% cd �� �� �

� �

4. カレントディレクトリを確認します。1一時的なファイルを置くディレクトリで、それぞれのUNIXマシンに用意されています。なお、すべてのユー

ザが共有して使っているディレクトリなので、あまり大きなファイルは置かないでください。また、作業が終った時点で、速やかに自分のファイルは消してください。

2できあがった tarファイルの容量が非常に大きい場合は、\compress", \gzip" 等のコマンド (8.7節参照) を使ってファイルを圧縮しておくと FD や MO の容量を節約できます。

125

Page 136: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

� �

sophia% pwd �� �� �

/shome/succ/t-jouchi� �

5. \tar"コマンドを実行します。� �

sophia% tar xvf /tmp/backup.tar �� �� �

x ./Program

x ./Program/DATA

x ./Program/prog1.c, 2500 bytes, 13 tape blocks

x ./Program/test.c, 649 bytes, 4 tape blocks

x ./Program/DATA/database, 8569 bytes, 20 tape blocks...

sophia%� �

6. tarファイルを削除します。� �

sophia% rm /tmp/backup.tar �� �� �

� �

126

Page 137: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

9.2 ページプリンタ装置

UNIXシステムにはページプリンタが接続されており、専用のコマンド (\LPR"コマンド )

を利用して、ページプリンタにリスト等を出力することができます。

表 9.3: UNIXシステム用ページプリンタ一覧表 (2001年 4月現在)

設置場所 プリンタ名 プリンタ識別名 機 種 名 解像度 備 考

プリンタA1 nx11a1

コンピュータ プリンタA2 nx11a2 ・Postscript対応ルームA プリンタA3 nx11a3

Ricoh NX1100 600dpi・用紙サイズ: A4

プリンタA4 nx11a4

コンピュータ プリンタ B1 nx11b1 ・Postscript対応ルームB プリンタ B2 nx11b2

Ricoh NX1100 600dpi・用紙サイズ: A4

コンピュータ プリンタD1 nx1d11 ・Postscript対応ルームD プリンタD2 nx11d2

Ricoh NX1100 600dpi・用紙サイズ: A4

プリンタ F1 nx11f1

コンピュータ プリンタ F2 nx11f2 ・Postscript対応ルームF プリンタ F3 nx11f3

Ricoh NX1100 600dpi・用紙サイズ: A4

プリンタ F4 nx11f4

コンピュータ プリンタ I1 nx11i1 ・Postscript対応ルーム I プリンタ I2 nx11i2

Ricoh NX1100 600dpi・用紙サイズ: A4

コンピュータ プリンタO1 nx11o1 Ricoh NX1100 ・Postscript対応ルームO QMS2425 qms2425 QMS2425

600dpi・用紙サイズ: A4

9.2.1 LPRコマンド

\LPR" コマンドは、各コンピュータルームに設置されているプリンタに出力するときに使用するコマンドです。通常のテキストファイルの他に、Postscript形式のファイルに対応しています。また、「 dviファイル」 (LaTEXで作成) を出力することもできます。なお、印刷できるファイルの上限は 5MB です。ファイルサイズが 5MB を超える場合は

印刷できません。コマンド形式� �

sophia% LPR ファイル名 ( テキストあるいは Postscript形式のファイルの場合sophia% LPR -d ファイル名 ( dviファイルの場合� �

例 1 カレントディレクトリにある \file001" というファイルを出力する場合� �

sophia% LPR �le001 �� �� �

� �

127

Page 138: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 2 カレントディレクトリの更に下のディレクトリにあるファイルを出力する場合 (出力したいファイルのあるディレクトリまで移動しなくても、パス名を指定して印刷することができます) 3

� �

sophia% LPR ./Program/source/calc.c �� �� �

� �

例 3 カレントディレクトリの 1つ上のディレクトリ (親ディレクトリ)にある \text.dvi" という dviファイルを出力する場合� �

sophia% LPR -d ../text.dvi �� �� �

� �

例えば、 \file1" というファイルを、コンピュータルームA の \プリンタA1" に出力してみましょう。

1. \LPR"コマンドとファイル名を入力して �� �� �キーを押します。すると、どの部屋に出力す

るかを聞いてきます。� �

sophia% LPR �le1 �� �� �

------ SUCC UNIX Print Tool ---

1 --- Room A 4 --- Room F

2 --- Room B 5 --- Room I

3 --- Room D 6 --- Room O

9 --- QUIT

Plaese Select Room's Number (1-6,9=Quit):� �

2. \プリンタA1" は \Room A" (コンピュータルーム A) にありますから、ここでは \ 1 "

を入力します。続いて、どのプリンタに出力するか、プリンタ番号を聞いてきます4。� �

Plaese Select Room's Number (1-4,9=Quit): 1 �� �� �

� �

3パスの指定方法については、p.26を参照のこと。4出力先の部屋を指定すると、プリンタ番号を聞かずにそのまま出力する場合もあります。

128

Page 139: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

3. \プリンタ A1" に出力するので、 \ 1 " を入力します。これで、 \プリンタA1" に指定したファイルが出力されます。� �

(Room A)

1 --- Printer A1 (NX1100)

2 --- Printer A2 (NX1100)

3 --- Printer A3 (NX1100)

4 --- Printer A4 (NX1100)

9 --- QUIT

Plaese Select Printer's Number (1-4,9=Quit): 1 �� �� �

Printed a message to Printer A1 (NX1100).

sophia%� �

9.2.2 lpqコマンド

1つのプリンタに複数の出力要求が出されていると、プリンタは要求が届いた順番に処理していき、後になったものはプリンタへの出力が待たされます。プリンタの出力要求の状態は、\lpq"コマンドで画面に表示することができます。コマンド形式� �

sophia% lpq -Pプリンタ識別名� �

プリンタ名とプリンタ識別名は、表 9.3を参照して下さい。

コンピュータルームA にあるプリンタA1 に出力した場合、出力要求の状態を表示するには、次のようにします。操作例� �

sophia% lpq -Pnx11a1 �� �� �

� �

lpqコマンドを実行して、指定したプリンタに複数の出力要求があるときは、以下のように表示されます。� �

Rank Owner Job Files Total Size

active t-jouchi 214 /usr/tmp/qmsprt323000 17099 bytes

1st jouhic-h 215 /usr/tmp/qmsprt324000 3884 bytes

2nd t-jouchi 217 /usr/tmp/qmsprt325000 65078 bytes

↑ ↑ ↑ ↑出力順位 所有者 ジョブ番号 ファイルサイズ� �

出力要求がない場合は、� �

no entries� �

と表示されます。

129

Page 140: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

9.2.3 lprmコマンド

プリンタへの出力待ちとなっているものをキャンセルするときは、\lprm"コマンドを使います。

コマンド形式� �

sophia% lprm -Pプリンタ識別名 ジョブ番号 �� �� �

� �

操作例 1� �

sophia% lprm -Pnx11a1 - �� �� �

� �

上記の入力例は、コンピュータルーム A のプリンタ A1に出した出力要求をすべてキャンセルするときのものです。このように、\lprm" とプリンタ識別番号の後に、\ - "を指定すると、自分の出力要求がすべてキャンセルされます。

また、\ - "の代わりに、job 番号 (\lpq"コマンドで表示される)でも指定できます。job番号を指定すると、指定した出力要求のみキャンセルされます。

操作例 2� �

sophia% lprm -Pnx11a1 217 �� �� �

� �

この例では、コンピュータルーム A のプリンタA1 に出した出力要求のうち、ジョブ番号\217" の要求をキャンセルすることになります。

130

Page 141: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 10章

ネットワークコマンド

センターのUNIXシステムは全てコンピュータネットワークで相互に接続されています。これにより利用者は目の前に利用したいコンピュータがなくても、ネットワークを介して利用したいコンピュータに自由にアクセスすることができ、また、UNIX上での作業効率も上がります。センターがサポートするアクセス可能な UNIXマシンおよびホスト名については、付録.

D(p.165)の図 D.1を参照してください。

UNIXにはネットワークを利用するコマンドが数多く用意されています。紙面の都合上すべてのコマンドを紹介する事はできませんので、ここではみなさんが良く使われるであろうと思われる代表的なコマンド \telnet"および \ftp"について使い方を簡単に説明します。なお、\telnet", \ftp"コマンドは UNIXシステムにだけ存在するコマンドではなく、ネットワークに接続可能なシステムにほとんど標準で用意されているものです。したがって、『 UNIX マシンではないから \telnet",\ftp"コマンドが使えない』ということはありません。その例として、各コンピュータルームに設置されているパソコンはセンター系ネットワークに接続されており、ネットワークソフトもインストールされていますので、\telnet", \ftp"コマンドが使えます。

10.1 telnetコマンド

離れた所にあるコンピュータを使いたい時、わざわざそのコンピュータの所まで行って使わなければなりません。しかし、今自分が使っているコンピュータや離れた所にあるコンピュータが両方ともネットワークに接続されていればその必要はなく1、コンピュータネットワークを介して離れた所にあるコンピュータを利用することができます。それを行なうためのコマンドが \telnet"です。ここでは今自分がアクセスしているコンピュータを \ローカルホスト" 、これからアクセス

しようとしている (遠方の)コンピュータを \リモートホスト"と呼ぶことにします。

コマンド形式� �

sophia% telnet リモートホスト名 �� �� �

� �

1必ずしもそうでない場合もあります…

131

Page 142: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

「リモートホスト名」には、アクセスしたいマシンの「ホスト名」または「ホスト名+ドメイン名」2、あるいは「 IPアドレス」3を指定します。ただし、IPアドレス指定の場合は、

� IPアドレスは永久不変のものではないので、ある日突然 IPアドレスが変更される可能性がある。

� 変更があった場合に、変更後の IPアドレスはおろか、変更があったことすらアナウンスされないことが多い。

という理由により注意が必要です。なお、「リモートホスト」を指定する場合はできるだけ「ホスト名+ドメイン名」の形式で指定するようにしてください。指定したリモートホストが運用されていない場合およびリモートホストにアカウントがない

場合はアクセスすることはできません。

10.1.1 telnetコマンドの起動

例として、『ローカルホスト名 \dahlman"(IPアドレス 133.12.137.33)からリモートホスト名 \tazawa"(IPアドレス 133.12.137.91)にアクセスする場合』について説明します。なお、IPアドレス指定による起動方法については省略します。

例 1 リモートホスト名に「ホスト名」を指定した場合� �

sophia% telnet tazawa �� �� �

Trying 133.12.137.91 ...

Connected to tazawa.

Escape character is '^]'.

Digital UNIX (tazawa)

login: ( ログイン名を入力Password: ( パスワードの入力� �

2電子計算機センターのUNIXマシンのドメイン名は \cc.sophia.ac.jp" です。したがって、例えば、dahlman

の場合であれば \dahlman.cc.sophia.ac.jp"となります。3Internet Protocol Address のことです。

132

Page 143: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 2 リモートホスト名に「ホスト名+ドメイン名」を指定した場合� �

sophia% telnet tazawa.cc.sophia.ac.jp �� �� �

Trying 133.12.137.91 ...

Connected to tazawa.

Escape character is '^]'.

Digital UNIX (tazawa)

login: ( ログイン名を入力Password: ( パスワードの入力� �

例 3 proxyサーバ経由での学外リモートホストへの接続した場合例として、リモートホスト \foo.bar.ac.jp" へ接続する場合について説明します。接続後は、proxy を経由せずに接続した場合と同じです。� �

sophia% telnet telnetproxy.cc.sophia.ac.jp �� �� �

Trying 133.12.XXX.XXX...

flushoutput character is 'off'.

Connected to kinrin.cc.sophia.ac.jp.

Escape character is '^]'.

Hello, How are you today?

Welcome to the Sophia University TELNET Proxy Service via T1 line.

This server is generated by FWTK version 2.1 software.

Enjoy yourself.

tn-gw-> connect foo.bar.ac.jp �� �� �

Trying XXX.XX.XX.XX port 23...

Connected to foo.bar.ac.jp.

XXXX OS UNIX (foo)

login: ( リモートホストのログイン名を入力Password: ( リモートホストのパスワードの入力� �

133

Page 144: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

上記の例において、リモートホスト名にホスト名あるいはドメイン名を指定した場合、接続できない場合があります。� �

sophia% telnet tazawa.cc.sophia.ac.jp �� �� �

tazawa.cc.sophia.ac.jp: unknown host

telnet>� �

これはリモートホスト名を間違えて入力したり、システムがリモートホストのアドレスを見つけ出せなかった時に起こる現象です。この場合、\telnet>"の状態から \open"と入力して、再度接続を試みてください。� �

telnet> open tazawa.cc.sophia.ac.jp �� �� �

� �

再度実行しても接続できない場合は、\quit"と入力して \telnet"コマンドを終了させてください。� �

telnet> quit �� �� �

sophia%� �

上智大学はWIDE Project 4という日本国内における学術研究用広域ネットワーク (Internet)

に参加しています。そのため、アクセスできる範囲は国内に限りません。ログイン名を持っていれば、海外のインターネットに参加しているホストへのアクセスも可能です。接続したいホストの「ホスト名+ドメイン名」を正しく指定してアクセスしてください。

10.1.2 telnetコマンドの終了

\telnet"コマンドを終了するには、アクセスしているホストからログアウトするだけです。� �

sophia% logout �� �� �

Connection closed by foreign host.

sophia%� �

\telnet>"という状態になっている場合には、\quit"と入力します。� �

telnet> quit �� �� �

sophia%� �

ネットワークを介してリモートマシンにアクセスするコマンドには、\telnet"コマンドの他に、\rlogin"コマンドがあります。これはUNIXにだけ用意されているコマンドです。したがって、アクセスしようとする相手のマシンも UNIXでなくてはなりません。\rlogin"コマンドについては、オンラインマニュアル (rlogin1C-(ucb))を参照してください。

4Widely Integrated Distributed Environment(広域大規模分散環境)の略

134

Page 145: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10.2 ftpコマンド

自分が使っているコンピュータから他のコンピュータへファイルを転送する時に使うコマンドで、\File Transfer Protocol"の略です。10.1節 (p.131)で紹介した \telnet"は離れた所にあるコンピュータにアクセス (ログイン)をして、そこで何か作業をする時に使いますが、ここで説明する \ftp"は、単にファイルを転送するだけです。なお、\telnet"コマンドでファイルを転送することはできません。ここでは自分が今アクセスしているコンピュータを \ローカルホスト" 、これからアクセス

しようとしている (遠方の)コンピュータを \リモートホスト"と呼ぶことにします。

コマンド形式� �

sophia% ftp リモートホスト名 �� �� �

� �

\telnet"コマンドと同様に、「リモートホスト名」の部分には「 IPアドレス」、「ホスト名+

ドメイン名」の指定もできます。ただし、\telnet"コマンドと同様、IPアドレス指定の際には十分な注意が必要です (詳しくは 10.1節 (p.132)を参照してください)。

10.2.1 コマンドの起動

例として、『ローカルホスト名 \dahlman" からリモートホスト名 \tazawa" にアクセスしてファイルを取ってくる場合』について説明します。まずはアクセス方法についてです。

例 1 リモートホスト名に「ホスト名」を指定した場合� �

sophia% ftp tazawa �� �� �

Connected to tazawa.

220 tazawa FTP server (Digital UNIX Version 5.60) ready.

Name (tazawa:t-jouchi): ( ログイン名を入力331 Password required for t-jouchi.

Password: ( パスワードの入力� �

例 2 リモートホスト名に「ホスト名+ドメイン名」を指定した場合� �

sophia% ftp tazawa.cc.sophia.ac.jp �� �� �

Connected to tazawa.

220 tazawa FTP server (Digital UNIX Version 5.60) ready.

Name (tazawa:t-jouchi): ( ログイン名を入力331 Password required for t-jouchi.

Password: ( パスワードの入力� �

135

Page 146: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

システムへのアクセスが完了するとプロンプトが次のようになります。� �

230 User t-jouchi logged in.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp>� �

ここで、\230"という数字ではじまっている行がありますが、これは \ftp"から利用者へのメッセージです。注意深く読んでください。

アクセスに失敗した場合は、次のようなメッセージが表示されます。

失敗例 1 パスワード入力を間違えた場合� �

530 Login incorrect.

Login failed.

ftp>� �

この状態で、\user"コマンドを使って再度ログインを試みます。

� �

ftp> user t-jouchi �� �� �

331 Password required for t-jouchi.

Password: ( パスワードを入力。� �

失敗例 2 アクセスするホスト名を間違えた (\sophia"を \sopiha"と入力してしまった)場合

� �

sophia% ftp tazawa.cc.sopiha.ac.jp �� �� �

tazawa.cc.sopiha.ac.jp: unknown host

ftp>

� �

この状態で、\open"コマンドを使って再度ホストとの接続を試みます。

� �

ftp> open tazawa.cc.sophia.ac.jp �� �� �

Connected to tazawa.cc.sophia.ac.jp.

220 tazawa FTP server (Digital UNIX Version 5.60) ready.

Name (tazawa:t-jouchi): ( ログイン名を入力。331 Password required for t-jouchi.

Password: ( パスワードを入力。� �

136

Page 147: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

それでは実際にファイル転送してみましょう。転送するファイルは、リモートホスト \tazawa"

にある \/usr/local/mule/etc/README"ファイルです。

1. カレントディレクトリを変更します。コマンドは \cd"です。� �

ftp> cd /usr/local/mule/etc �� �� �

250 CWD command successful.

ftp>� �

2. ファイルの存在を確認します。コマンドは \dir"です。� �

ftp> dir �� �� �

200 PORT command successful.

150 Opening ASCII mode data connection for /bin/ls.......

-rw-r--r-- 1 root arbeit 272 Apr 15 README

drwxr-x--- 4 root arbeit 30516 May 25 SERVICES......

226 Transfer complete.

ftp>� �

3. 転送するファイルが ASCII形式かバイナリ形式かわからない場合は、次のようにファイル転送モードを \バイナリモード"に変更しておく必要があります5。

� �

ftp> binary �� �� �

200 Type set to I.

ftp>

� �

4. ファイルを取ってきます。コマンドは \get"です。� �

ftp> get README �� �� �

200 PORT command successful.

150 Opening BINARY mode data connection for README (272 bytes).

226 Transfer complete.

272 bytes received in 0.0088 seconds (30 Kbytes/s)

ftp>� �

5転送モードについては 10.2.3節 (p.140)を参照してください

137

Page 148: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

5. \ftp"コマンドを終了します。コマンドは \quit" あるいは \bye" "です。� �

ftp> quit �� �� �

221 Goodbye.

sophia%� �

あるいは� �

ftp> bye �� �� �

221 Goodbye.

sophia%� �

6. UNIXの \ls"コマンドでファイルが転送されたかどうかを確認します。� �

sophia% ls �� �� �

README

sophia%� �

以上でファイル転送は終了です。

138

Page 149: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10.2.2 ftp のサブコマンド

\ftp"で使われる代表的なサブコマンドを紹介します。

コマンド名 説 明

cd rdirectory リモート・マシンのカレントディレクトリを rdirectory

に変更します。

ls リモート・マシンのカレントディレクトリの内容を短縮形で表示します。

lcd ldirectory ローカル・マシンのカレントディレクトリを ldirectory

に変更します。

dir リモート・マシンのディレクトリの内容を表示します。ls より詳しい情報が得られます。

get remote-�le remote-�leをローカル・マシンに同じファイル名で転送します。

get remote-�le local-�le remote-�leをローカル・マシン上に local-�le名として転送します。

mget remote-�les ローカル・マシン上に複数の remote-�lesを転送します。remote-�lesにはワイルドカード (*, ?) が使えます。

(*注)

put local-�le local-�leをリモート・マシンに転送します。

put local-�le remote-�le local-�leをリモート・マシンに remote-�le名として転送します。

mput local-�les リモート・マシン上に複数の local-�les を転送します。local-�lesには ワイルドカード (*, ?)が使えます。

(*注)

pwd リモート・マシン上の現在のカレントディレクトリ名を表示します。

prompt mget, mput で複数のファイルを転送する場合、個々のファイルの転送の確認を抑制します。

binary 転送モードを ASCIIからバイナリに変更します。

ascii 転送モードをバイナリから ASCII に変更します。通常はこのモードです。

quitまたは bye ftp を終了する。

? ftp で使用できるコマンド一覧を表示します。

! !command で ローカル・マシン上の command が使えます。

(*注) ファイル 1つ 1つについて転送するかどうかの確認が行なわれます。`y'と答えると実際に転送が行なわれます。

139

Page 150: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10.2.3 転送モード

ファイルの形式には大きく分けて次の 2種類あります。

1. ASCII形式 (アスキー形式)

2. BINARY形式 (バイナリ形式)

ASCII形式ファイルとは、英字、数字、特殊文字など、人が目で見て理解できる文字列からなっているファイルで、エディタ等を使って書かれたものがほとんどです。この形式のファイルは \cat", \more"等のコマンドを使ってファイルの中身を普通に表示することができます。

バイナリ形式ファイルとは、画像 (写真や絵画)を取り扱ったもの、\tar"コマンドで複数のファイルを一つにまとめたもの、\gzip"コマンド等を使って圧縮したもの、プログラムをコンパイルして作成した実行形式のプログラムファイルなどです。この形式のファイルは \cat",\more"

コマンドで内容を表示しようとしても、正常に表示できないか、表示されたものを人が見ても内容を理解できる文字列にはなっていません。

\ftp"でファイルを転送する際には、転送するファイルがどちらの形式に属するかによって転送するモードが異なります。\ftp"には「 ASCIIモード」と「バイナリモード」の二つのモードがあります。\ftpを起動した時の転送モードは通常「ASCIIモード」ですが、機種によってはバイナリモードが標準となっています。したがって、転送したいファイルがバイナリ形式なのか ASCII形式なのかをまず確認してから、モードを設定しなければなりません。もしバイナリファイルをASCIIモードで転送すると、ファイルを転送してきても役に立ちません。逆に ASCII 形式のファイルをバイナリーモードで転送すると、基本的には問題はありませんが、場合によっては変な文字が入ったりすることがあります。どちらのモードにして良いか自信がないような場合は、バイナリモードにしておけばとりあえずは安心です。

10.2.4 コマンドの終了

\ftp"を終了するには \ftp>"という状態から \quit" あるいは \bye" と入力します。� �

ftp> quit �� �� �

221 Goodbye.

sophia%� �

� �

ftp> bye �� �� �

221 Goodbye.

sophia%� �

140

Page 151: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10.3 anonymous FTPサービス

今までネットワークニュース等で配布されたツール、ドキュメント、ソフト等を集めている組織があります。その組織は一般の人がそれらのファイルを \ftp"で入手できるように公開しています。\ftp"はファイルのあるコンピュータにアクセス権がないとファイルを転送できません。そこで、それらの組織ではアクセス権がなくてもファイル転送ができる anonymous FTP

という方法を用いています。このサービスは国内外数多くの組織が行なっていますが、国内では主に次のような組織が行なっています6。

大学 研究所 企業など

ftp.riken.go.jp ftp.iij.ad.jp

ftp.hiroshima-u.ac.jp ftp.sra.co.jp

ftp.u-aizu.ac.jp ftp.lab.kdd.co.jp

ftp.jaist.ac.jp

ftp.nuie.nagoya-u.ac.jp

ftp.dna.affrc.go.jp

ftp.iamas.ac.jp

ftp.st.ryukoku.ac.jp

ftp.eos.hokudai.ac.jp

ftp.media.kyoto-u.ac.jp

anonymous FTPでもログイン名とパスワードが必要になります。ただし、この場合のログイン名とパスワードは、通常の場合と異なり、ログイン名には \anonymous"あるいは \ftp"と入力し、パスワードには自分の電子メールアドレスを入力します。

パスワードについて� �

anonymous FTPを利用するにあたり、通常の ftpとは大きく違う所があります。それは「アクセスした時に入力するパスワード」です。通常の ftp では自分のパスワードを入力しますが、anonymous FTPでは自分のメールアドレスを入力するのがルールになっています。これはしっかり守ってください。理由は、anonymous FTPを運用している組織では「どの組織の、どのユーザからアクセスがあり、何をしていたか」という記録がすべて anonymousFTP 管理用ファイルに記録されるようになっているからです。間違って自分のパスワードを入力してしまうと、せっかく自分しか知らないはずのパスワードが第三者に知られることになり、不正利用される可能性が高くなります。したがって、 anonymous FTP を利用する際、間違って自分のパスワードを入力してしまった場合は、すぐに anonymous FTP 組織との接続を終了させ (\quit"する)、4.2.5節 (p.17)のパスワード変更方法に従って、パスワードを必ず変更してください。� �

6入手したいファイルが,どの anonymous FTPサーバに置いてあるか分からないときは,archieコマンドを利用します。国内の主な archie サーバは、archie.wide.ad.jp, archie.iij.ad.jp,archie.kyoto-u.ac.jp などです。

141

Page 152: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10.4 proxyサーバ経由での学内外アクセス

proxy サーバを経由する事によって、学内から学外あるいはその逆において、高速な ftp が可能になります7。

10.4.1 学内から学外への接続

例として、リモートホスト \b.ac.jp" へログイン名 h-jouchiで接続する場合について説明します。接続後は、proxy を経由せずに接続した場合と同じです。� �

sophia% ftp ftpproxy.cc.sophia.ac.jp �� �� �

Connected to kinrin.cc.sophia.ac.jp.

220-

220-Hello, How are you today?

220-Welcome to the Sophia University FTP Proxy Service via T1 line.

220-This server is generated by FWTK version 2.1 software.

220-Enjoy yourself. 希望する接続先を指定します220 +

Name (ftpproxy.cc.sophia.ac.jp:t-jouchi): b.ac.jp �� �� �

Connected to b.ac.jp.

220 b.ac.jp FTP server ( XXXXXXXX ) ready.

Name (b.ac.jp:t-jouchi): h-jouchi �� �� � ( 接続先のログイン名を入力します

331 Password required for h-jouchi

Password: �� �� � ( 接続先のパスワードを入力します

� �

72001年 10月現在では、試験運用のため、一部使い勝手に制限があります。

142

Page 153: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

10.4.2 学内から学外への接続 (anonymous FTP の場合)

例として、リモートホスト \b.ac.jp" へ anonymous FTP で接続する場合について説明します。接続後は、proxy を経由せずに接続した場合と同じです。� �

sophia% ftp ftpproxy.cc.sophia.ac.jp �� �� �

Connected to kinrin.cc.sophia.ac.jp.

220-

220-Hello, How are you today?

220-Welcome to the Sophia University FTP Proxy Service via T1 line.

220-This server is generated by FWTK version 2.1 software.

220-Enjoy yourself. 希望する接続先を指定します220 +

Name (ftpproxy.cc.sophia.ac.jp:t-jouchi): [email protected] �� �� �

Connected to b.ac.jp.

220 b.ac.jp FTP server ( XXXXXXXX ) ready.

331 Guest login ok, type your name as password.

Password: �� �� � ( 自分のメールアドレスを入力します

� �

10.4.3 学外から学内へ

telnet ftpproxy.iijdr.sophia.ac.jpとタイプし、その後の手順は、10.4.1節の学内から学外へのFTP と同じです。

143

Page 154: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

第 11章

プログラムコンパイル

UNIXでよく使われるプログラミング言語には、\C言語"や \FORTRAN言語"があります。センターのUNIXマシンではこれら 2つのプログラミング言語をサポートしています。その他に、\IF/Prolog"、\IMSL" 1等をサポートしているマシンもあります。表 11.1 (p.145) に一覧を示します。ここでは、UNIX上における \C言語"と \FORTRAN言語"のコンパイル方法について説

明します。

11.1 コンパイルって何?

コンパイル方法の説明に入る前に、まず、「コンパイルとは何か?」を簡単に説明します。あるプログラミング言語を使ってプログラムを書き上げ、「あとはこのプログラムを実行す

るのみ!!」となった状態において、いざ実行させようにも、このままでは実行できません。何故なら、今書き上げたプログラムは人間が理解できるだけであって、コンピュータにとっては単なる文字列が並んでいるにすぎないからです。では、どうすればよいのでしょうか? そこで登場するのが「コンパイル」です。コンパイルとは、人間が理解できるプログラム (C言語、FORTRAN言語等)をコンピュー

タが認識、実行できるように機械語 (コンピュータだけが理解できる言語)に翻訳する作業のことをいい、その作業を行ってくれるソフトウェアのことを \コンパイラ"といいます。コンパイラは、プログラム中にエラーを発見すると、その旨のメッセージを画面に表示し、

機械語への翻訳作業をその時点で終了します。このような場合は、エラーを取り除き、再度コンパイル作業を行う必要があります。さて、「いざ実行だ!!」となった所で、間違うであろうと思われることを注意しておきます。

それは、

コンパイルして出来た実行プログラムは、基本的にコンパイルしたコンピュータ上でしか動作しません。

ということです。具体的な例として、\dahlman"上でコンパイルして出来た実行プログラムを\wakasa"では実行できません。CPU、OS 、マシンアーキテクチャ(ハードウェアの構造)が異なるためこの様なことが発生します。

1Compaq Tru64 でサポートしている数値計算ライブラリの名称です。

144

Page 155: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

表 11.1: プログラミング言語一覧表 (2001年 10月現在)

システム名 ホスト名 プログラミング言語名称C C ++ FORTRAN GKS IMSL その他

Tru64 biwa KAP C

sagami ○ ○ ○ ○ ○ KAP Fortran90

bosch

dahlman ○ ○ ○ ○ ○ Pascal

arimine

numazawa

sai

sanaki ○ ○ ○ ○ ○

shoji

yogo

hamana

haruna

kizaki

megami

nojiri

shinji ○ � ○ ○ ○

suwa

tazawa

towada

tsukui

FreeBSD abukuma

agano

ayase

buko

chikugo

kuji

naka ○ ○ � � �

sakawa

shingu

suzuka

tedori

tsurumi

Solaris nagato

suruga ○ � ○ � � �

145

Page 156: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

11.2 データ型の取り扱い

センターのUNIXマシンにおいて、FreeBSDは 32bitマシンであり、Compaq Tru64およびSUN Solarisのサーバ/ワークステーション群は 64bitマシンです。64bitになると扱えるデータの量が増え、処理も高速化できますが、その反面、データ型の扱いに注意しなければなりません。表 11.2に、Compaq Tru64, FreeBSD, SUN Solarisにおけるデータの型の違いを示します。

表 11.2: C言語におけるデータ型の相違

Tru64 FreeBSD Solarisデータ型

(サイズ:ビット単位) (サイズ:ビット単位) (サイズ:ビット単位)

char 8 8 8

short 16 16 16

int 32 32 32

long 64 32 64

longlong 64 64 64

oat(IEEE単精度) 32 32 32

double(IEEE倍精度) 64 64 64

pointer 64 32 64

ここで、次のようなプログラムを考えます。� �

#include <stdio.h>

main (void)

{

printf(”sizeof(char) =%2d\n”, sizeof(char) ) ;

printf(”sizeof(short int) =%2d\n”, sizeof(short int) ) ;

printf(”sizeof(int) =%2d\n”, sizeof(int) ) ;

printf(”sizeof(long int) =%2d\n”, sizeof(long int) ) ;

printf(”sizeof(long long int) =%2d\n”, sizeof(long long int) ) ;

printf(”sizeof(float) =%2d\n”, sizeof(float) ) ;

printf(”sizeof(double) =%2d\n”, sizeof(double) ) ;

printf(”sizeof(long double) =%2d\n”, sizeof(long double) );

printf(”sizeof(int *) =%2d\n”, sizeof(int *) ) ;

}� �

146

Page 157: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

このプログラムを実行すると以下のような結果になります2 。

項目 Tru64 FreeBSD Solaris

sizeof(char) 1 1 1

sizeof(short int) 2 2 2

sizeof(int) 4 4 4

sizeof(long int) 8 4 8

sizeof(long long int) 8 8 8

sizeof(float) 4 4 4

sizeof(double) 8 8 8

sizeof(long double) 8 12 8

sizeof(int *) 4 8 4

また、エンディアン方式 (ビットとバイトの配列方法)についても

Tru64(Alpha AXPアーキテクチャ) リトル・エンディアン方式FreeBSD(x86アーキテクチャ) リトル・エンディアン方式Solaris(SPARCアーキテクチャ) ビッグ・エンディアン方式

という違いがあり、注意が必要です。

11.3 C言語のコンパイル

C言語で書かれたプログラムのコンパイルには \cc"コマンドを使います。なお、ファイル名の拡張子は \.c"でなければなりません。

コマンド形式� �

sophia% cc オプション ファイル名� �

オプション 説明-c コンパイルだけを行い、ファイル名の拡張子 \.c" を

\.o" に変えたファイルを出力します。-g デバッグを行うための情報を付加します。

-llibname リンクするライブラリ名 libnameを指定します。-o output 実行ファイルを outputという名前にして出力します。

既定値は \a.out"

-O 最適化を行います。

2FreeBSDで実行した場合、long double のデータサイズの表示が 12 バイトと表示されますが、実際に扱えるデータサイズは、8 バイトです。

147

Page 158: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 1 ファイル名 \test.c" をコンパイルする� �

sophia% cc test.c �� �� �

sophia% ls �� �� �

a.out test.c test1.c

sophia%� �

例 2 ファイル名 \test.c"をコンパイルし、実行ファイルを \TEST" という名前で出力� �

sophia% cc -o TEST test.c �� �� �

sophia% ls �� �� �

TEST test.c test1.c

sophia%� �

例 3 複数のファイル (\test.c"と \test1.c")をコンパイルし、実行ファイルを \TEST" という名前で出力� �

sophia% cc -o TEST test.c test1.c �� �� �

sophia% ls �� �� �

TEST test.c test1.c

sophia%� �

例 4 ファイル名 \test.c" をコンパイルし、特別なライブラリ (libm.a)をリンク� �

sophia% cc -lm test.c �� �� �

sophia% ls �� �� �

a.out test.c test1.c

sophia%� �

[例 4]において、\test.c"の中で \cos", \sin", \sqrt" 等の数学的関数を使っている場合に必要です3。

3必ずしも必要であるとは限りませんが、ほとんどのシステムでは必要とします。

148

Page 159: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

11.4 FORTRAN言語のコンパイル

FORTRANで書かれたプログラムのコンパイルには \f77"コマンド 4を使います。なお、プログラムファイル名の拡張子は \.f" でなければなりません。

コマンド形式� �

sophia% f77 オプション ファイル名� �

オプション 説明-c コンパイルだけを行い、ファイル名の拡張子 \.f" を

\.o"に変えたファイルを出力します。-g デバッグを行うための情報を付加します。

-llibname リンクするライブラリ名 libnameを指定します。-o output 実行ファイルを outputという名前にして出力します。

既定値は \a.out"

-O 最適化を行います。

例 1 ファイル名 \test.f" をコンパイルする� �

sophia% f77 test.f �� �� �

sophia% ls �� �� �

a.out test.f

sophia%

� �

例 2 ファイル名 \test.f" をコンパイルし、実行ファイルを \TEST" という名前で出力� �

sophia% f77 -o TEST test.f �� �� �

sophia% ls �� �� �

TEST test.f

sophia%� �

例 3 複数のファイル (\test.f"と \test1.f")をコンパイルし、実行ファイルを \TEST" という名前で出力� �

sophia% f77 -o TEST test.f test1.f �� �� �

sophia% ls �� �� �

TEST test.f test1.f

sophia%� �

4SUN Solaris のワークステーションでは \g77" コマンドを使用します。

149

Page 160: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

例 4 ファイル名 \test.f" をコンパイルし、特別なライブラリ (libm.a)をリンク� �

sophia% f77 -lm test.f �� �� �

sophia% ls �� �� �

a.out test.f

sophia%� �

[例 4]において、\test.f"の中で \cos", \sin", \sqrt"等の数学的関数を使っている場合に必要です5。

5ccコマンドと同じです。

150

Page 161: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

付録

151

Page 162: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Appendix

A. コマンド要約

LPR : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルをプリンタへ出力Pnews : : : : : : : : : : : : : : : : : : : : : : : : : ニュースを投稿Rnmail : : : : : : : : : : : : : : : : : : : : : : : : メールで応答a2ps : : : : : : : : : : : : : : : : : : : : : : : : : : psファイルの出力

admin : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルを作成し管理alias : : : : : : : : : : : : : : : : : : : : : : : : : コマンド別名の定義 � 表示apply : : : : : : : : : : : : : : : : : : : : : : : : : コマンドを一連の引き数に摘要

apropos : : : : : : : : : : : : : : : : : : : : : : : キーワードによるコマンド探索

ar : : : : : : : : : : : : : : : : : : : : : : : : : : : : : アーカイブとライブラリのメンテナンスat : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 指定した時刻にジョブを実行awk : : : : : : : : : : : : : : : : : : : : : : : : : : : : パターン検索処理言語basename : : : : : : : : : : : : : : : : : : : : : : パス名の一部分を取り出すbc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 任意精度の計算言語bdiff : : : : : : : : : : : : : : : : : : : : : : : : : 大型 di�

bg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : バックグランドジョブの実行

biff : : : : : : : : : : : : : : : : : : : : : : : : : : メールの着信 � 発信者を通知cal : : : : : : : : : : : : : : : : : : : : : : : : : : : : カレンダー出力calendar : : : : : : : : : : : : : : : : : : : : : : スケジュールの通知cat : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの連結 � 出力cb : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Cプログラムの清書cc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : Cコンパイラcd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリの移動cdc : : : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルのデルタ注釈の変更checknr : : : : : : : : : : : : : : : : : : : : : : : nro�/tro� ファイルのチェック

chgrp : : : : : : : : : : : : : : : : : : : : : : : : : グループの変更を行なう

chmod : : : : : : : : : : : : : : : : : : : : : : : : : ファイル/ディレクトリの許可モードの変更

ci : : : : : : : : : : : : : : : : : : : : : : : : : : : : : RCSファイルに新版を格納するclear : : : : : : : : : : : : : : : : : : : : : : : : : 画面クリア

152

Page 163: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

cmp : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2つのファイルを比較

co : : : : : : : : : : : : : : : : : : : : : : : : : : : : : RCSファイルから revisionを回復col : : : : : : : : : : : : : : : : : : : : : : : : : : : : 逆方向改行フィルタcolcrt : : : : : : : : : : : : : : : : : : : : : : : : nro� 端末出力フィルタcolrm : : : : : : : : : : : : : : : : : : : : : : : : : ファイルからカラムを取り除くcomb : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルのデルタ (変更)の結合

comm : : : : : : : : : : : : : : : : : : : : : : : : : : 2つのファイルの共通行の選択 � 削除compress, uncompress, zcat : ファイルの圧縮 � 復元 � 結合

compressdir : : : : : : : : : : : : : : : : : : ディレクトリの圧縮 � 復元

cp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイル/ディレクトリのコピー

cpp : : : : : : : : : : : : : : : : : : : : : : : : : : : : C言語プリプロセッサ

crypt : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの暗号化

csh : : : : : : : : : : : : : : : : : : : : : : : : : : : : cshの起動ctags : : : : : : : : : : : : : : : : : : : : : : : : : タグファイルの作成

date : : : : : : : : : : : : : : : : : : : : : : : : : : 日時の出力と設定dbx : : : : : : : : : : : : : : : : : : : : : : : : : : : : デバッガdc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 卓上計算機dd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの交換とコピーdelta : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルにデルタを作成するderoff : : : : : : : : : : : : : : : : : : : : : : : : nro�,tro�,tbl,eqn の生成ファイルの削除

df : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ディスクの使用状況を見るdiction, explain : : : : : : : : : : : : 不明瞭 � 冗長な文を指摘する

diff : : : : : : : : : : : : : : : : : : : : : : : : : : 2 つのファイルの内容比較diff3 : : : : : : : : : : : : : : : : : : : : : : : : : 3つのファイルの内容比較dirs : : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックを表示するdis : : : : : : : : : : : : : : : : : : : : : : : : : : : : 逆アセンブラdomainname : : : : : : : : : : : : : : : : : : : 現在のドメインシステムの名前の設定と表示du : : : : : : : : : : : : : : : : : : : : : : : : : : : : : デイスク使用量の集計dvi2ps : : : : : : : : : : : : : : : : : : : : : : : : psファイル出力

dviselect : : : : : : : : : : : : : : : : : : : : : dviファイルの一部抜き出しe : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ラインエディタecho : : : : : : : : : : : : : : : : : : : : : : : : : : 引き数のエコーバックed : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ラインエディタemacs : : : : : : : : : : : : : : : : : : : : : : : : : スクリーンエディタeqn, neqn,checkeq : : : : : : : : : : : 数学用タイプセット (tro�のプリプロセッサ)

error : : : : : : : : : : : : : : : : : : : : : : : : : コンパイラのエラーメッセージの解析ex, edit : : : : : : : : : : : : : : : : : : : : : : ラインエディタexpand, unexpand : : : : : : : : : : : : タブとスペースの置換

expr : : : : : : : : : : : : : : : : : : : : : : : : : : 引き数の表現を評価する

153

Page 164: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

f77, g77 : : : : : : : : : : : : : : : : : : : : : : FORTRANコンパイラ

false, true : : : : : : : : : : : : : : : : : : Bシェルスクリプトで使用する評価値fg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 一時停止しているジョブをフォアグランドで再開

file : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルタイプの決定find : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの種類の判定 � 出力finger, f : : : : : : : : : : : : : : : : : : : : : ユーザ情報の表示

fmt : : : : : : : : : : : : : : : : : : : : : : : : : : : : 文書整形fold : : : : : : : : : : : : : : : : : : : : : : : : : : 長い行の折返し出力from : : : : : : : : : : : : : : : : : : : : : : : : : : メールの送り手の情報をメールヘッダに追加ftp : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイル転送

gcore : : : : : : : : : : : : : : : : : : : : : : : : : 実行中のプロセスのコアイメージ取得

get : : : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルのバージョン取得

ghostview : : : : : : : : : : : : : : : : : : : : : postscriptファイルの表示

gprof : : : : : : : : : : : : : : : : : : : : : : : : : C, Pascal, FORTRAN77の実行プロファイルを作成

gnuplot : : : : : : : : : : : : : : : : : : : : : : : グラフの作成

graph : : : : : : : : : : : : : : : : : : : : : : : : : グラフの作成

grep, egrep, fgrep : : : : : : : : : : ファイル内からパターンを検索

groups : : : : : : : : : : : : : : : : : : : : : : : : 自分の属しているグループを表示

gs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : PostScriptインタプリタ

gzip, gunzip : : : : : : : : : : : : : : : : : ファイルの圧縮 � 復元

head : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの先頭部分を出力help : : : : : : : : : : : : : : : : : : : : : : : : : : コマンドの解説

history : : : : : : : : : : : : : : : : : : : : : : : コマンド履歴リストの表示

hostid : : : : : : : : : : : : : : : : : : : : : : : : ホストの IDの定義 � 出力hostname : : : : : : : : : : : : : : : : : : : : : : ホスト名の定義 � 出力ident : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの RCSキーワードの出力indent : : : : : : : : : : : : : : : : : : : : : : : : Cプログラムソースのインデント � 整形install : : : : : : : : : : : : : : : : : : : : : : : バイナリファイルのインストールjobs : : : : : : : : : : : : : : : : : : : : : : : : : : 実行中のジョブの状態表示

join : : : : : : : : : : : : : : : : : : : : : : : : : : リレーショナルデータベース操作

kill : : : : : : : : : : : : : : : : : : : : : : : : : : ジョブにシグナルを送る �プロセスの終了kinput2 : : : : : : : : : : : : : : : : : : : : : : : 日本語入力

last : : : : : : : : : : : : : : : : : : : : : : : : : : 最近ログインしたユーザの情報表示lastcomm : : : : : : : : : : : : : : : : : : : : : : 実行されたコマンドの情報表示ld : : : : : : : : : : : : : : : : : : : : : : : : : : : : : リンケージエディタlearn : : : : : : : : : : : : : : : : : : : : : : : : : UNIXに関する CAI

leave : : : : : : : : : : : : : : : : : : : : : : : : : 離れる時間の通知設定lex : : : : : : : : : : : : : : : : : : : : : : : : : : : : 簡単な字句解析プログラムの作成lint : : : : : : : : : : : : : : : : : : : : : : : : : : Cプログラムの文法チェック

154

Page 165: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

ln : : : : : : : : : : : : : : : : : : : : : : : : : : : : : リンクの作成lock : : : : : : : : : : : : : : : : : : : : : : : : : : 端末のロックlogin : : : : : : : : : : : : : : : : : : : : : : : : : ログイン (セッションの開始)

logout : : : : : : : : : : : : : : : : : : : : : : : : ログアウト (セッションの終了)

look : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルからの行検索lpq : : : : : : : : : : : : : : : : : : : : : : : : : : : : プリンタジョブの表示

lpr : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルのプリント

lprm : : : : : : : : : : : : : : : : : : : : : : : : : : プリンタジョブの削除

ls : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイル/ディレクトリの情報表示

m4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : マクロプロセッサmail : : : : : : : : : : : : : : : : : : : : : : : : : : メールの送受信make : : : : : : : : : : : : : : : : : : : : : : : : : : 特定の関連付けたファイルの保守 � 更新man : : : : : : : : : : : : : : : : : : : : : : : : : : : : オンラインマニュアルの検索 � 表示merge : : : : : : : : : : : : : : : : : : : : : : : : : 3つのファイルのマージ

mesg : : : : : : : : : : : : : : : : : : : : : : : : : : 他ユーザからのメッセージ受付の可否

mew : : : : : : : : : : : : : : : : : : : : : : : : : : : : メール � ニュースリーダmkdir : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリの作成mkstr : : : : : : : : : : : : : : : : : : : : : : : : : Cプログラムからエラーメッセージファイルの作成more, page : : : : : : : : : : : : : : : : : : : ファイル内容の表示

mt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 磁気テープの操作mv : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイル/ディレクトリ名の変更 � 移動

newsetup : : : : : : : : : : : : : : : : : : : : : : .newsrcファイルをセットアップ

newsgroups : : : : : : : : : : : : : : : : : : : 加入していない newsgroupのリストアップ

nice, nohup : : : : : : : : : : : : : : : : : : プライオリティを変更してコマンドを実行 (sh only)

nkf : : : : : : : : : : : : : : : : : : : : : : : : : : : : 漢字コード変換nm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : オブジェクトファイルからの名前リスト出力notify : : : : : : : : : : : : : : : : : : : : : : : : ジョブの状況表示

nroff : : : : : : : : : : : : : : : : : : : : : : : : : 文書整形od : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルのダンプ (8進, 10進, 16進, ASCII)

pagesize : : : : : : : : : : : : : : : : : : : : : : システムのページサイズ出力

patch : : : : : : : : : : : : : : : : : : : : : : : : : di�ファイルをオリジナルファイルに適用する

phone : : : : : : : : : : : : : : : : : : : : : : : : : 他のユーザと会話する

platex,jlatex : : : : : : : : : : : : : : : : 文書整形

postnews : : : : : : : : : : : : : : : : : : : : : : ニュースの投稿

popd : : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックの先頭のディレクトリを取り除き新たに先頭になったディレクトリに移動する

pr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルをプリンタへ出力

printenv : : : : : : : : : : : : : : : : : : : : : : 環境変数の出力

prof : : : : : : : : : : : : : : : : : : : : : : : : : : プロファイルデータの出力

155

Page 166: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

prs : : : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルの出力

ps : : : : : : : : : : : : : : : : : : : : : : : : : : : : : プロセスの情報表示

pushd : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックの移動

pwd : : : : : : : : : : : : : : : : : : : : : : : : : : : : ワーキングディレクトリの表示

qkc : : : : : : : : : : : : : : : : : : : : : : : : : : : : 漢字コード変換

qpr, qpr24, qpr32 : : : : : : : : : : : ファイルをプリンタへ出力

quota : : : : : : : : : : : : : : : : : : : : : : : : : ディスククオタの表示

ranlib : : : : : : : : : : : : : : : : : : : : : : : : アーカイブファイルをランダムライブラリへ変換rcs : : : : : : : : : : : : : : : : : : : : : : : : : : : : RCSファイルの属性変更rcsdiff : : : : : : : : : : : : : : : : : : : : : : : RCSファイルのリビジョン比較rcp : : : : : : : : : : : : : : : : : : : : : : : : : : : : リモートシステムへのファイルコピー

rcsmerge : : : : : : : : : : : : : : : : : : : : : : RCSファイルのリビジョンをマージ

refer : : : : : : : : : : : : : : : : : : : : : : : : : nro�/tro�のプリプロセッサ

reset : : : : : : : : : : : : : : : : : : : : : : : : : ターミナルオプションをリセットrev : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルを逆順に出力rlog : : : : : : : : : : : : : : : : : : : : : : : : : : RCSファイルのログメッセージ等情報の表示

rlogin : : : : : : : : : : : : : : : : : : : : : : : : リモートログイン

rm, rmdir : : : : : : : : : : : : : : : : : : : : : ファイル/ディレクトリの削除

rmdel : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルからデルタを削除rn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ニュース購読rsh : : : : : : : : : : : : : : : : : : : : : : : : : : : : リモートシェルsact : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルの編集状況の表示sccs : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSのマンマシンインタフェースsccsdiff : : : : : : : : : : : : : : : : : : : : : : SCCSファイルのバージョン比較script : : : : : : : : : : : : : : : : : : : : : : : : 端末に表示した全ての情報をファイルへ出力

sed : : : : : : : : : : : : : : : : : : : : : : : : : : : : ストリームエディタsetenv : : : : : : : : : : : : : : : : : : : : : : : : 環境変数の設定 � 表示sh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 標準シェルの起動size : : : : : : : : : : : : : : : : : : : : : : : : : : オブジェクトファイルのセクションサイズを表示sleep : : : : : : : : : : : : : : : : : : : : : : : : : ある期間実行を停止する

soelim : : : : : : : : : : : : : : : : : : : : : : : : nro�への入力ファイルに .so を含まないようにするsort : : : : : : : : : : : : : : : : : : : : : : : : : : 行の並べ替えspell : : : : : : : : : : : : : : : : : : : : : : : : : 英文スペルチェッカ

split : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの分割

ssh : : : : : : : : : : : : : : : : : : : : : : : : : : : : 暗号化通信stop : : : : : : : : : : : : : : : : : : : : : : : : : : 実行中のバックグランドジョブの一時停止

strings : : : : : : : : : : : : : : : : : : : : : : : オブジェクトから表示可能な文字列の出力

strip : : : : : : : : : : : : : : : : : : : : : : : : : オブジェクトからシンボルと行番号を削除

stty : : : : : : : : : : : : : : : : : : : : : : : : : : 端末のオプションの設定 � 表示

156

Page 167: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

style : : : : : : : : : : : : : : : : : : : : : : : : : 文書の特徴を表示

su : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 一時的なユーザの変更sum : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルのチェックサムとブロック数の出力symorder : : : : : : : : : : : : : : : : : : : : : : ネームリストの再編集

syslog : : : : : : : : : : : : : : : : : : : : : : : : システムログエントリ出力制御

tabs : : : : : : : : : : : : : : : : : : : : : : : : : : 端末のタブ設定tail : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの末尾部分を表示talk : : : : : : : : : : : : : : : : : : : : : : : : : : 他のユーザと会話するtar : : : : : : : : : : : : : : : : : : : : : : : : : : : : アーカイブファイルの作成 � 解凍tbl : : : : : : : : : : : : : : : : : : : : : : : : : : : : nro�/tro�用の表作成

tcsh : : : : : : : : : : : : : : : : : : : : : : : : : : tcsh

tee : : : : : : : : : : : : : : : : : : : : : : : : : : : : 標準入力を標準出力/ファイルへ出力

telnet : : : : : : : : : : : : : : : : : : : : : : : : リモートログインtest : : : : : : : : : : : : : : : : : : : : : : : : : : 条件評価tgif : : : : : : : : : : : : : : : : : : : : : : : : : : 図形描画

time : : : : : : : : : : : : : : : : : : : : : : : : : : コマンド実行時間の測定timezone : : : : : : : : : : : : : : : : : : : : : : タイムゾーンの設定 � 表示tip, cu : : : : : : : : : : : : : : : : : : : : : : : リモートシステムとの接続

touch : : : : : : : : : : : : : : : : : : : : : : : : : ファイルのアクセス/変更時刻の変更

tr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 文字の置換troff, nroff : : : : : : : : : : : : : : : : : 文書整形tset : : : : : : : : : : : : : : : : : : : : : : : : : : ターミナルオプションをリセットtsort : : : : : : : : : : : : : : : : : : : : : : : : : トポロジカルソートtty : : : : : : : : : : : : : : : : : : : : : : : : : : : : 端末名の出力

ul : : : : : : : : : : : : : : : : : : : : : : : : : : : : : アンダーラインを付与unalias : : : : : : : : : : : : : : : : : : : : : : : コマンド別名定義の解除unget : : : : : : : : : : : : : : : : : : : : : : : : : 直前の SCCSファイルに対する getの取り消し

unifdef : : : : : : : : : : : : : : : : : : : : : : : #ifdef行の削除

uniq : : : : : : : : : : : : : : : : : : : : : : : : : : ファイル内の連続する重複行の削除 � 表示

units : : : : : : : : : : : : : : : : : : : : : : : : : 単位換算uptime : : : : : : : : : : : : : : : : : : : : : : : : システム稼働時間 � 状況の表示

users, u : : : : : : : : : : : : : : : : : : : : : : : ログインしているユーザ名の表示

uucp : : : : : : : : : : : : : : : : : : : : : : : : : : UNIXシステム間のファイルコピー

uuencode, uudecode : : : : : : : : : : バイナリファイルを ASCIIファイルへ変換 � 復元uulog : : : : : : : : : : : : : : : : : : : : : : : : : UUCPログファイルの表示

uuname : : : : : : : : : : : : : : : : : : : : : : : : アクセス可能な UUCPシステムの表示uusend : : : : : : : : : : : : : : : : : : : : : : : : リモートシステムへのファイル転送uux : : : : : : : : : : : : : : : : : : : : : : : : : : : : リモートシステムでの UUCPによるコマンド実行val : : : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルの検証

157

Page 168: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

vgrind : : : : : : : : : : : : : : : : : : : : : : : : tro�を用いたプログラムソースの整形

vi : : : : : : : : : : : : : : : : : : : : : : : : : : : : : スクリーンエディタvmstat : : : : : : : : : : : : : : : : : : : : : : : : 仮想メモリの状態表示w, who : : : : : : : : : : : : : : : : : : : : : : : : ログインしているユーザのログイン名と作業内容の

表示wall : : : : : : : : : : : : : : : : : : : : : : : : : : ログインしている全ユーザへメッセージ送信wc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルの中の語数のカウント出力what : : : : : : : : : : : : : : : : : : : : : : : : : : SCCSファイルのオブジェクトモジュールのバージョ

ン表示whatis : : : : : : : : : : : : : : : : : : : : : : : : コマンドの簡単な説明を出力whereis : : : : : : : : : : : : : : : : : : : : : : : ソース � マニュアル � バイナリの所在を表示which : : : : : : : : : : : : : : : : : : : : : : : : : コマンドのサーチパス/aliasを表示

whoami : : : : : : : : : : : : : : : : : : : : : : : : 自分のログイン名の表示xdvi : : : : : : : : : : : : : : : : : : : : : : : : : : dviファイルの表示xv : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 画像操作 � 編集yppasswd : : : : : : : : : : : : : : : : : : : : : : ログインパスワードの変更

zmore : : : : : : : : : : : : : : : : : : : : : : : : : 圧縮されたファイルの内容の出力zsh : : : : : : : : : : : : : : : : : : : : : : : : : : : : zsh

158

Page 169: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Appendix

B. 定義済Cシェル変数

定義済 Cシェル変数の主なものについて説明します。自分がどのような変数を定義しているかを見るときは、\@" あるいは、\set" と入力します。画面には現在設定されている変数のリストが表示されます。Cシェル変数には、変数に値 (引き数)を持つものと、変数を設定するかしないかだけのも

のと 2種類があります。後者の変数については、set/unset に続き変数名を入力することによって、変数を定義することができます。以下ではよく使われる変数の利用方法と設定方法を説明します。

cwd : : : : : : : : : : : カレントディレクトリカレントディレクトリの完全パス名。pwdコマンドを実行した時に表示される内容と同じものが入ります。

echo : : : : : : : : : : エコー機能 (set/unset)

MS-DOS の ECHO と同じ機能で、この変数をセットするとコマンドを実行した時に、そのコマンドを画面に再表示します。規定値は、unset です。

history : : : : : : : ヒストリバッファ内のコマンド保存数ヒストリバッファ内に保存するコマンド数の指定。既定ではセットされていない。\.cshrc"ファイル中に \set history = 10"と記述しておくと実行したコマンドの新しいものから 10個が、ヒストリバッファ内に保存されます。

home : : : : : : : : : : ホームディレクトリユーザのホームディレクトリの完全パス名。

ignoreeof : : : : EOF(End of File:ファイル終了)文字を無視 (set/unset)

この変数をセットすると、端末から EOF( Ctrlキーを押しながら\d"キー)を入力してもログアウトすることはできません。ログアウトするためには、\logout"コマンドを入力しなければなりません。また、サブシェルから抜け出す場合には、\exit"コマンドを入力します。既定値は、unset です。

159

Page 170: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

noclobber ファイル非破壊機能 (set/unset)

この変数をセットしておくと、リダイレクト機能を使って出力先に既に存在するファイル名を指定した時、書き込みを禁止します。ただし、ファイルへの追加は可能です。既定値は、unset です。

notify : : : ジョブ終了通知機能  (set/unset)

\.cshrc"ファイルの中に、\set notify"という一文を加えておくと、バックグラウンドジョブが終了した時に、ジョブの終了を通知してくれます。既定値は、unset です。

path : : : : : コマンド検索パスコマンドを検索するパス名を入力しておく。UNIXシステムでは、既定値として \.cshrc"ファイルの中に次の一文が記述され設定してあります。set path = (/usr/local/bin /usr/ucb /bin /usr/hosts \

/usr/local/mh /usr/local/im .)

prompt : : : プロンプトプロンプトに使用する文字列を指定する。UNIXシステムでは、既定値として \.cshrc"ファイルの中に次の一文が記述され設定してあります。\set prompt = ユーザ名@マシン名 [\!]=>"

savehist : ログアウト時のヒストリバッファ保存コマンド数ログアウトするときに保存するコマンドの数を指定する。次回、ログインした時に、これらのコマンドはヒストリバッファに自動的に保存されます。既定値は、unset です。\.login"ファイルに、\set savehist = 10"と書いておくと、ログアウト時に自動的に最後から 10個のコマンドを次回ログインした時のために保存しておいてくれます。

shell : : : : シェルファイルシェルの完全パス名。既定値は、\/bin/tcsh" です。

term : : : : : 端末名端末の型式を指定します。これは、\.login"ファイル内で設定されています。

user : : : : : ユーザ名ユーザのログイン名。

160

Page 171: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Appendix

C. Cシェル組込みコマンド

C シェルの組み込みコマンドの主なものについて簡単に説明します。以下に説明するコマンドは、対話的に実行することが可能です。また、ジョブの制御を行う場合などには欠かせないものです。さらに、これらをホームディレクトリにある、\.cshrc", \.login" あるいは、\.logout" ファイルの中で上手に利用することで、かなり大きなパワーを発揮します。

alias : : : : : : : : : : : : : : : : : : : : : : : : : : : : ユーザが定義した全ての別名および、その元のコマンドを表示する。

alias name : : : : : : : : : : : : : : : : : : : : : : nameという別名で定義された元のコマンドが何であるかを表示する。

alias name command : : : : : : : : : : : : commandの別名として nameという名前を与える。例えば、このコマンドを使って、次のように入力しておくとsophia% alias dir ls �

� �� �

この後からは、dirと入力すると lsコマンドが実行される。

bg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 実行を一時中断していたジョブをバックグラウンドで再実行する。

bg %jobnumber : : : : : : : : : : : : : : : : : : : 実行を一時中断していたジョブ番号、jobnumberのジョブをバックグラウンドで再実行する。

cd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :

cd directoryname

引数を与えずに単に、cd �� �� �と入力すると、ユーザ

のホームディレクトリに移動する。また、cd /�� �� �

と入力すると、ルートディレクトリに移動する。任意のディレクトリに移動したい場合は、 directory-

nameに行き先のディレクトリ名を入力する。なお、chdir は、cd と全く同じ機能である。

dirs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックの内容を表示する。ディレクトリスタックは、LIFO(Last In First Out:最後にいれたディレクトリが先頭に並んでいる)である。

161

Page 172: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

exit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : シェルスクリプトの実行を終了し、Cシェルに戻る。この時 最後に実行したコマンドの状態 (正常終了=0;異常終了 6=0)を返す。

fg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : バックグラウンドで実行を中断していたジョブをフォアグラウンドで再実行する。

fg %jobnumber : : : : : : : : : : : : : : : : : : : バックグラウンドで実行を中断していたジョブ番号、jobnumberのジョブをフォアグランドで再実行する。

foreach variable(word1 word2 …)

command1

command2

end

foreach と end の間の一連のコマンドを実行するごとに、変数 variableに word1, word2, …という順序で値を割り当てていく。一連の同一の処理を別々のファイルに入力する時などに使用する。

history : : : : : : : : : : : : : : : : : : : : : : : : : : コマンドの履歴リストを表示する。

history n : : : : : : : : : : : : : : : : : : : : : : : : コマンド履歴リストの中から最新の、n 個を選び出して表示する。

history -r n : : : : : : : : : : : : : : : : : : : : コマンド履歴リストの中から最新の、n 個を選び出し、順序を逆にして表示する。

history -h n : : : : : : : : : : : : : : : : : : : : コマンド履歴リストの中から最新の、n 個をコマンド番号を付けないで表示する。

jobs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 現在実行中のジョブのリストを表示する。

jobs -l : : : : : : : : : : : : : : : : : : : : : : : : : : 現在実行中のジョブとそのプロセス番号のリストを表示する。

kill %jobnumber : : : : : : : : : : : : : : : : : ジョブ番号 jobnumberのジョブを強制終了させる。

kill pid : : : : : : : : : : : : : : : : : : : : : : : : : プロセス ID 番号 pid のプロセスを強制終了させる。kill コマンドは、文字通りプロセスの息の根を止めてしまうので再開させることはできない。

limit : : : : : : : : : : : : : : : : : : : : : : : : : : : : ファイルやデータのサイズなどに関する資源の利用制限 (すなわちどれだけの資源利用を許可されているか)を表示する。

limit resource : : : : : : : : : : : : : : : : : : : resourceで示される資源の利用制限を表示する。limit resource maxuse : : : : : : : : : : : resourceで示される資源の利用制限をmaxuseに設

定する。login : : : : : : : : : : : : : : : : : : : : : : : : : : : : 自分の使用している端末を別のユーザにすぐに渡

す時に使用すると便利なコマンドです。ホスト名を入力する必要がなく、すぐにログイン名を聞いてくる。

logout : : : : : : : : : : : : : : : : : : : : : : : : : : : ログアウトして、UNIX システムの利用を終了する。

162

Page 173: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

nohup : : : : : : : : : : : : : : : : : : : : : : : : : : : : ハングアップシグナルを無視して、ジョブの実行を継続する。バックグラウンドジョブを実行中にログアウトするとジョブは強制終了される。これを回避するためには、.logoutファイルに、nohupという一文を加えれば良い。

notify : : : : : : : : : : : : : : : : : : : : : : : : : : : バックグラウンドで実行中のジョブの終了などを通知する。

notify %jobnumber : : : : : : : : : : : : : : : バックグラウンドで実行中のジョブ番号 jobnumber

のジョブの終了などを通知する。popd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックから、先頭のディレクトリ

を削除して、新たに先頭になったディレクトリに移動する。

popd +n : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックから、n番目のディレクトリを削除する。

pushd : : : : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックの先頭の 2つのディレクトリの順序を入れ換えて、新たに先頭になったディレクトリに移動する。

pushd dir : : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリ dir をディレクトリスタックに入れて、そこへ移動する。

pushd +n : : : : : : : : : : : : : : : : : : : : : : : : ディレクトリスタックの n番目のディレクトリを先頭にし、そこへ移動する。

repeat count command : : : : : : : : : : : commandに示されるコマンドを count回繰り返す。

set : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 設定されているシェル変数の値を表示する。@ コマンドと同じ。

set variable : : : : : : : : : : : : : : : : : : : : : : 変数 variableに空文字列 (null string)を与える。

set variable = word : : : : : : : : : : : : : : 変数 variableに wordという値を与える。set variable[n] = word : : : : : : : : : : : : 変数 name の n 番目の単語に word という値を与

える。set variable = (word1 word2 …) : : 変数 variableに word1 word2 …といういくつかの

単語の並びを値として与える。setenv variable value : : : : : : : : : : : : : 環境変数 variableに、valueという値を与える。stop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : バックグラウンドで実行中のジョブを一時中断す

る。stop %jobnumber : : : : : : : : : : : : : : : : : バックグラウンドで実行中のジョブ番号 jobnumber

のジョブを一時中断する。time command : : : : : : : : : : : : : : : : : : : コマンド commandの実行時間などを表示する。umask : : : : : : : : : : : : : : : : : : : : : : : : : : : : umask(ユーザマスク)の設定値を表示する。umask

はファイルのパーミッションに関連したコマンドで、ユーザが新たにファイルやディレクトリを作成した場合に、パーミッションの既定値として umask

の値が用いられます。

163

Page 174: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

umask value : : : : : : : : : : : : : : : : : : : : : : umask の値を valueに設定する。unalias name : : : : : : : : : : : : : : : : : : : : nameという名前の別名の定義を削除して、別名の

使用を無効とする。unlimit : : : : : : : : : : : : : : : : : : : : : : : : : : 全ての資源利用を無制限とする。unlimit resource : : : : : : : : : : : : : : : : : limit コマンドで設定した、資源 resourceの利用

制限を解除する。unset variable : : : : : : : : : : : : : : : : : : : : シェル変数 variableを解放する。while(expr) : : : : : : : : : : : : : : : : : : : : : :

command1

comman2

end

式 exprを評価した結果が真 (6=0)である間は、whileと end の間の一連のコマンド (command1, com-

mand2,…)の実行を繰り返す。式の値が偽 (=0)であれば、ループを抜け出す。

jobname & : : : : : : : : : : : : : : : : : : : : : : : : jobnameで示されるジョブ (単なるコマンドでも良い)をバックグラウンドで実行する。

@ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 設定されているシェル変数の値を表示する。sf setコマンドと同じ。

@ variable = value : : : : : : : : : : : : : : : : シェル変数 variableに valueという値を与える。@ variable[n] = value : : : : : : : : : : : : : : シェル変数 variableの n番目の単語に value とい

う値を与える。

164

Page 175: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Appendix

D. UNIXホスト名一覧

表 D.1: UNIXホスト名一覧表

システム名 ホスト名 主 な 用 途高速科学技術計算, 電子メール, 電子ニュース,

Tru64 biwa sagami Xウィンドウ, LaTEX, LaTEX2",

IMSL, LSF, MATLAB, Web閲覧授業, 電子メール, 電子ニュース,

bosch dahlman Xウィンドウ, LaTEX, LaTEX2",

IMSL, LSF, MATLAB, Web閲覧arimine numazawa 科学技術演算, 電子メール, 電子ニュース,

sai sanaki Xウィンドウ,LaTEX, LaTEX2",

shoji yogo IMSL, LSF, MATLAB, Web閲覧hamana haruna

kizaki megami

nojiri shinji 同 上suwa tazawa

towada tsukui

abukuma aganoFreeBSD ayase buko

chikugo kuji 電子メール, 電子ニュース, Xウィンドウ,

naka sakawa LaTEX2", Web閲覧shingu suzuka

tedori tsurumi

電子メール, 電子ニュース, Xウィンドウ,Solaris nagato suruga LaTEX2", Web閲覧

165

Page 176: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

索 引

Aa2ps : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

admin : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

alias : : : : : : : : : : : : : : : : : : : : : : : : : : : 75,152,161

apply : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

apropos : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :152

ar : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

ascii : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

at : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

awk : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :114,152

Bbasename : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

bc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

bdi� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

bg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152,81,161

bi� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

binary : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

bye : : : : : : : : : : : : : : : : : : : : : : : : : : : 138,139,140

Ccal : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22,152

calendar : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

cat : : : : : : : : : : : : : : : : : : : : : : : : : : 27,30,140,152

cb : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

cc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 147,152

cdc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

cd : : : : : : : : : : : : : : : : : : : : : 34,137,139,152,161

checkeq : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

checknr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

chgrp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

chmod : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 41,152

ci : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

clear : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

cmp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100,153

co : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

col : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :153

colcrt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

colrm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

comb : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

comm : : : : : : : : : : : : : : : : : : : : : : : : : : : : :100,153

compress : : : : : : : : : : : : : : : : : : : : : : : : : :101,153

compressdir : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

cp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32,153

cpp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

crypt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

csh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

ctags : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

cu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

cwd (Cシェル定義変数) : : : : : : : : : : : : : : :159

Ddate : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21,27,153

dbx : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

dc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

dd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

delta : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :153

dero� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

df : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

diction : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :153

di� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100,153

di�3 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 100,153

dir : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :137,139

dirs : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153,86,161

dis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :153

domainname : : : : : : : : : : : : : : : : : : : : : : : : : : 153

du : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

dvi2ps : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

dviselect : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

166

Page 177: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Ee : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

echo (Cシェル定義変数) : : : : : : : : : : : : : : 159

echo : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 27,153

ed : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45,108,153

edit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :153

egrep : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154,94

emacs : : : : : : : : : : : : : : : : : : : : : : : : : : : 45,58,153

eqn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

error : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :153

ex : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45,153

exit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :162

expand : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

explain : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

expr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

Ff : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

f77: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :149,154

false : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

fg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 81,154,162

fgrep : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :94,154

�le : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

�nd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :103,154

�nger : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

fmt : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

fold : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

foreach : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

from : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

ftp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :135,154

Gg77 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 149,154

gcore : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

get: : : : : : : : : : : : : : : : : : : : : : : : : : : :137,139,154

ghostview : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

gnuplot : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

gprof : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

graph : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

grep : : : : : : : : : : : : : : : : : : : : : : : : : : : 93,108,154

groups : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

gs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

gunzip : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102,154

gzip : : : : : : : : : : : : : : : : : : : : : : : : : : :101,140,154

Hhead : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

help : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

history (Cシェル定義変数) : : : : : : : : : : : :159

history : : : : : : : : : : : : : : : : : : : : : : 72,73,154,162

home (Cシェル定義変数) : : : : : : : : : : : : : 159

hostid : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

hostname : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

Iident: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

ignoreeof (Cシェル定義変数) : : : : : : : : : :159

indent : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

install : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

IMSL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

Jjlatex : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

jobs : : : : : : : : : : : : : : : : : : : : : : : : : : : :81,162,154

join : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

Kkill : : : : : : : : : : : : : : : : : : : : : : : : : : : : :81,154,162

kinput2 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

Llast : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

lastcomm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

lcd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :139

ld : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

learn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

leave : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

lex : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :154

limit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

lint : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

ln : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

167

Page 178: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

lock: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

login : : : : : : : : : : : : : : : : : : : : : : : : : : : 13,155,162

logout : : : : : : : : : : : : : : : : : : : : : : :19,20,155,162

look : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

lpq : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 129,155

lpr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

lprm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 130,155

ls : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 28,139,155

LPR : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 127,152

Mm4 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

mail : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

make : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

man : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 22,155

merge : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

mesg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

mew : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

mget : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :139

mkdir : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 35,155

mkstr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

more : : : : : : : : : : : : : : : : : : : : : : : : 23,30,140,155

mput : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

mt : : : : : : : : : : : : : : : : : : : : : : : : : : : : 121,122,155

mv : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :31,155

Nneqn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

newsetup : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

newsgroups : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

nice : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

nkf : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

nm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

noclobber (Cシェル定義変数) : : : : : : : : : 160

nohup : : : : : : : : : : : : : : : : : : : : : : : : : :81,155,163

notify (Cシェル定義変数) : : : : : : : : : : : : :160

notify : : : : : : : : : : : : : : : : : : : : : : : : : : 81,155,163

nro� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155,157

Ood : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

open : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 134,136

OS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

Ppage : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

pagesize : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

patch : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

path (Cシェル定義変数) : : : : : : : : : : : : : : 160

phone : : : : : : : : : : : : : : : : : : : : : : : : : : : : :104,155

platex : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

popd : : : : : : : : : : : : : : : : : : : : : : : : : : :86,155,163

postnews : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

printenv : : : : : : : : : : : : : : : : : : : : : : : : : : : 90,155

prof : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :155

prompt (Cシェル定義変数) : : : : : : : : : : : 160

prompt : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73,139

pr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 155

prs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

ps : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 81,156

pushd : : : : : : : : : : : : : : : : : : : : : : : : : : 86,156,163

put : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

pwd: : : : : : : : : : : : : : : : : : : : : : : : : : : :33,139,156

Pnews : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

Qqkc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

qpr24 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

qpr32 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

quit : : : : : : : : : : : : : : : : : : : : : : :134,138,139,140

quota : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

Rranlib : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

rcp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

rcs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

rcsdi� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

rcsmerge : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

refer : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

repeat : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

reset : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

rev : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

168

Page 179: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

rlog : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

rlogin : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 134,156

rm : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33,156

rmdel : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

rmdir : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 36,156

rn : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

rsh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

Rnmail : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 152

Ssact : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

savehist (Cシェル定義変数) : : : : : : : : : : :160

sccs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

sccsdi�: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

script : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

sed : : : : : : : : : : : : : : : : : : : : : : : : : : : 108,110,156

set : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78,159,163

setenv : : : : : : : : : : : : : : : : : : : : : : :90,91,156,163

sh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

shell (Cシェル定義変数) : : : : : : : : : : : : : : 160

size : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

sleep : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :156

soelim : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

sort : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 96,156

spell : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

split : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

ssh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

stop : : : : : : : : : : : : : : : : : : : : : : : : : : : 81,156,163

strings : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

strip : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 156

stty : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 88,156

style : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

su : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

sum : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

symorder : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

syslog : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

Ttabs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tail : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

talk : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :104,157

tar : : : : : : : : : : : : : : : : : : : : : : : : : : : :121,140,157

tbl : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

tcsh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tee : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

telnet : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 131,157

term (Cシェル定義変数) : : : : : : : : : : : : : : 160

test : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tgif : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

time : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157,163

timezone : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tip : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

touch : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tr : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 99,157

tro� : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

true : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 154

tset : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tsort : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

tty: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

Uu : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

ul : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

umask : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

unalias : : : : : : : : : : : : : : : : : : : : : : : : : : : :157,164

uncompress : : : : : : : : : : : : : : : : : : : : : : : 102,153

unexpand : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 153

unget : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

unifdef : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

uniq : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 97,157

units : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

unlimit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 164

unset : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159,164

unsetenv : : : : : : : : : : : : : : : : : : : : : : : : : : : : 90,91

uptime : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

user (Cシェル定義変数) : : : : : : : : : : : : : : 160

user : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 136

users : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

uucp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

uudecode : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

uuencode : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

uulog : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

uuname : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

uusend : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

uux : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 157

169

Page 180: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

Vval : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :157

vgrind : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

vi : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45,46,158

vmstat : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :158

Ww : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

wall: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :158

wc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 95,158

what : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :158

whatis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

whereis : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

which : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

while : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 164

who : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :21,158

who am i : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 21

whoami : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

WIDE Project : : : : : : : : : : : : : : : : : : : : : : : : 134

Xxdvi : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

xlogout : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 20

xv : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

Yyppasswd : : : : : : : : : : : : : : : : : : : : : : : : : : 17,158

Zzcat : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 103,153

zmore : : : : : : : : : : : : : : : : : : : : : : : : : : : : :103,158

zsh : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 158

あIMSL : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

emacs : : : : : : : : : : : : : : : : : : : : : : : : : : : 45,58,153

カーソルの移動 : : : : : : : : : : : : : : : : : : : : 60

起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 58

コマンド一覧 : : : : : : : : : : : : : : : : : : : : : : :68

終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 62

テキストの入力 : : : : : : : : : : : : : : : : : : : : 59

日本語入力 : : : : : : : : : : : : : : : : : : : : : : : : :63

ファイルの保存 : : : : : : : : : : : : : : : : : : : : 62

文字の消去 : : : : : : : : : : : : : : : : : : : : : : : : :61

エディタ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :45

ed : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :45

emacs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45

ex : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :45

vi : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45

スクリーンエディタ : : : : : : : : : : : : : : : : 45

ライン (行)エディタ : : : : : : : : : : : : : : : 45

ftp : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :135,154

anonymous : : : : : : : : : : : : : : : : : : : : : : : :141

パスワード : : : : : : : : : : : : : : : : : : : : : :141

起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 135

終了 : : : : : : : : : : : : : : : : : : : : : : : : : : 138,140

サブコマンド : : : : : : : : : : : : : : : : : : : : : 139

転送の実際 : : : : : : : : : : : : : : : : : : : : : : : :137

転送モード : : : : : : : : : : : : : : : : : : : : : : : :140

ASCII : : : : : : : : : : : : : : : : : : : : : : : : : : :140

BINARY : : : : : : : : : : : : : : : : : : : : : : : : 140

OS : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

オンラインマニュアル : : : : : : : : : : : : : : : : : :22

かカーネル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2

画面スクロール : : : : : : : : : : : : : : : : : : : : : : : : 30

一時停止 : : : : : : : : : : : : : : : : : : : : : : : : : : : 30

再開 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 30

カレントディレクトリ: : : : : : : : : : : : : : : : : :24

カレントディレクトリの表示 : : : : : : : : : : : 33

環境設定 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :90

完全パス名指定 : : : : : : : : : : : : : : : : : : : : : : : : 26

基本的な使い方 : : : : : : : : : : : : : : : : : : : : : : : : 13

クォーティング : : : : : : : : : : : : : : : : : : : : : : : : 79

コマンドの置換 : : : : : : : : : : : : : : : : : : : : : : : : 79

コマンドプロンプト : : : : : : : : : : : : : : : : : : : : 13

コンパイラ : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

コンパイル : : : : : : : : : : : : : : : : : : : : : : : : : : : 144

C言語 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 147

FORTRAN言語 : : : : : : : : : : : : : : : : : : 149

Compaq Tru64システム : : : : : : : : : : : : : : : : :3

170

Page 181: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

さSUN Solarisシステム : : : : : : : : : : : : : : : : : : : :6

C言語 : : : : : : : : : : : : : : : : : : : : : : : : : : : : 144,147

Cシェル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 72

環境設定ファイル : : : : : : : : : : : : : : : : : : 87

Cシェル組込み変数 : : : : : : : : : : : : : : : : : : :161

alias : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 161

bg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 161

cd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 161

dirs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 161

exit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

fg : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

foreach : : : : : : : : : : : : : : : : : : : : : : : : : : : :162

history : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

jobs : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :162

kill : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :162

limit : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

login : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 162

logout : : : : : : : : : : : : : : : : : : : : : : : : : : : : :162

nohup : : : : : : : : : : : : : : : : : : : : : : : : : : : : :163

notify : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

popd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :163

pushd : : : : : : : : : : : : : : : : : : : : : : : : : : : : :163

repeat : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

set : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

setenv: : : : : : : : : : : : : : : : : : : : : : : : : : : : :163

stop : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :163

time : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

umask : : : : : : : : : : : : : : : : : : : : : : : : : : : : 163

unalias : : : : : : : : : : : : : : : : : : : : : : : : : : : :164

unlimit : : : : : : : : : : : : : : : : : : : : : : : : : : : :164

unset : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 164

while : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :164

Cシェル定義変数 : : : : : : : : : : : : : : : : : : : : : 159

cwd : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :159

echo : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159

history : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159

home : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 159

ignoreeof : : : : : : : : : : : : : : : : : : : : : : : : : : 159

noclobber : : : : : : : : : : : : : : : : : : : : : : : : : 160

notify : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 160

path : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 160

prompt : : : : : : : : : : : : : : : : : : : : : : : : : : : 160

savehist : : : : : : : : : : : : : : : : : : : : : : : : : : : 160

shell : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 160

term : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 160

user : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :160

Cシェルとは? : : : : : : : : : : : : : : : : : : : : : : : : : 72

磁気テープ装置 : : : : : : : : : : : : : : : : : : : : : : : 120

シェル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 2

シェル変数 : : : : : : : : : : : : : : : : : : : : : : : : : : : : :78

出力リダイレクション : : : : : : : : : : : : : : : : : :27

ジョブ制御 : : : : : : : : : : : : : : : : : : : : : : : : : : : : :80

スクリーンエディタ : : : : : : : : : : : : : : : : : : : : 45

正規表現 : : : : : : : : : : : : : : : : : : : : : : : : : : : 93,108

接続手段 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 7

C/S接続経由 : : : : : : : : : : : : : : : : : : : : : : : :7

IP接続経由 : : : : : : : : : : : : : : : : : : : : : : : : : 7

PPP接続 : : : : : : : : : : : : : : : : : : : : : : : : : : : 8

インターネット経由 : : : : : : : : : : : : : : : : : 8

学外からの接続 : : : : : : : : : : : : : : : : : : : : : 7

学内からの接続 : : : : : : : : : : : : : : : : : : : : : 7

情報コンセント : : : : : : : : : : : : : : : : : : : : : 7

シリアル接続 : : : : : : : : : : : : : : : : : : : : : : : :8

モデム経由 : : : : : : : : : : : : : : : : : : : : : : : : : : 8

接続方法 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9

TCP/IP経由 : : : : : : : : : : : : : : : : : : : : : : :10

Windows2000搭載パソコン : : : : : : : : : :9

パソコン : : : : : : : : : : : : : : : : : : : : : : : : : : : : 9

ワークステーション : : : : : : : : : : : : : : : : 11

相対パス名指定 : : : : : : : : : : : : : : : : : : : : : : : : 26

た端末設定コマンド : : : : : : : : : : : : : : : : : : : : : : 88

通常ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : 24

ディレクトリの移動 : : : : : : : : : : : : : : : : : : : : 34

ディレクトリの削除 : : : : : : : : : : : : : : : : : : : : 36

ディレクトリの作成 : : : : : : : : : : : : : : : : : : : : 35

ディレクトリスタック機構 : : : : : : : : : : : : : 86

ディレクトリ操作 : : : : : : : : : : : : : : : : : : : : : : 33

カレントディレクトリの表示 : : : : : : : 33

ディレクトリの移動 : : : : : : : : : : : : : : : : 34

ディレクトリの作成 : : : : : : : : : : : : : : : : 35

ディレクトリの削除 : : : : : : : : : : : : : : : : 36

ディレクトリファイル : : : : : : : : : : : : : : : : : :24

telnet : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 131,157

171

Page 182: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 132

終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 134

特殊ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : 24

はパスワード : : : : : : : : : : : : : : : : : : : : : : : 12,13,15

Windows2000との同期 : : : : : : : : : : : : : 18

設定時の注意事項 : : : : : : : : : : : : : : : : : : 16

変更 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 17

変更願書 : : : : : : : : : : : : : : : : : : : : : : : : : : : 18

保護 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 15

良いパスワード : : : : : : : : : : : : : : : : : : : : 16

悪いパスワード : : : : : : : : : : : : : : : : : : : : 16

忘れ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 18

ファイルシステム : : : : : : : : : : : : : : : : : : : : : : 24

通常ファイル : : : : : : : : : : : : : : : : : : : : : : :24

ディレクトリファイル : : : : : : : : : : : : : : 24

特殊ファイル : : : : : : : : : : : : : : : : : : : : : : :24

ファイル操作 : : : : : : : : : : : : : : : : : : : : : : : : : : 27

ファイルの削除 : : : : : : : : : : : : : : : : : : : : 33

ファイルの内容を表示する : : : : : : : : : 30

ファイルの複写 : : : : : : : : : : : : : : : : : : : : 32

ファイルを作る : : : : : : : : : : : : : : : : : : : : 27

ファイル名の表示 : : : : : : : : : : : : : : : : : : 28

ファイル名の変更・移動 : : : : : : : : : : : :31

ファイル : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31

移動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31

削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 33

複写 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 32

変更 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 31

ファイルの保護 : : : : : : : : : : : : : : : : : : : : : : : : 38

許可の対象者と種類 : : : : : : : : : : : : : : : : 38

許可モードの効果 : : : : : : : : : : : : : : : : : : 40

許可モードの表示 : : : : : : : : : : : : : : : : : : 39

8進表示モード : : : : : : : : : : : : : : : : : : : 42

シンボリックモード : : : : : : : : : : : : : : 41

許可モードの変更 : : : : : : : : : : : : : : : : : : 41

8進表示モード : : : : : : : : : : : : : : : : : : : 42

シンボリックモード : : : : : : : : : : : : : : 41

パーミッション : : : : : : : : : : : : : : : : : : : : 38

やってはいけない操作 : : : : : : : : : : : : : : 44

vi : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 45,46,158

カーソルの移動 : : : : : : : : : : : : : : : : : : : : 48

起動 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 46

行全体の変更 : : : : : : : : : : : : : : : : : : : : : : :51

行の削除 : : : : : : : : : : : : : : : : : : : : : : : : : : : 55

行の挿入 : : : : : : : : : : : : : : : : : : : : : : : : : : : 54

コマンド一覧 : : : : : : : : : : : : : : : : : : : : : : :56

終了 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 49

テキストの挿入 : : : : : : : : : : : : : : : : : : : : 52

テキストの入力 : : : : : : : : : : : : : : : : : : : : 47

ファイルの保存 : : : : : : : : : : : : : : : : : : : : 48

文字 (列)の変更 : : : : : : : : : : : : : : : : : : : :50

文字の削除 : : : : : : : : : : : : : : : : : : : : : : : : :53

文字の置換 : : : : : : : : : : : : : : : : : : : : : : : : :50

FORTRAN言語 : : : : : : : : : : : : : : : : : : 144,149

FreeBSDシステム : : : : : : : : : : : : : : : : : : : : : : :5

ページプリンタ装置 : : : : : : : : : : : : : : : : : : :127

別名機能 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :75

ホームディレクトリ : : : : : : : : : : : : : : : : : : : : 24

ややさしいコマンド : : : : : : : : : : : : : : : : : : : : : : 21

ユーティリティ : : : : : : : : : : : : : : : : : : : : : : : : : 2

UNIXの特徴 : : : : : : : : : : : : : : : : : : : : : : : : : : : :2

UNIXの歴史 : : : : : : : : : : : : : : : : : : : : : : : : : : : :1

らライン (行)エディタ : : : : : : : : : : : : : : : : : : : 45

履歴機能 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :72

以前のコマンド入力の再実行 : : : : : : : 74

コマンドの置き換え : : : : : : : : : : : : : : : : 74

コマンドの繰り返し入力 : : : : : : : : : : : :73

コマンド番号の表示 : : : : : : : : : : : : : : : : 73

設定 : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 72

リスト : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 73

ログアウト : : : : : : : : : : : : : : : : : : : : : : : : : : : : :18

ppp経由 : : : : : : : : : : : : : : : : : : : : : : : : : : : 20

Windows2000パソコン : : : : : : : : : : : : : 19

ワークステーション : : : : : : : : : : : : : : : : 20

ログイン : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :13

ログイン名 : : : : : : : : : : : : : : : : : : : : : : : : : :12,13

172

Page 183: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

WIDE Project : : : : : : : : : : : : : : : : : : : : : : 8,134

ワイルドカード : : : : : : : : : : : : : : : : : : : : : : : : 76

ワーキングディレクトリ : : : : : : : : : : : : : : : 25

記号! (ftp) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

!! (履歴機能) : : : : : : : : : : : : : : : : : : : : : : : : : : : 73

!$ (履歴機能) : : : : : : : : : : : : : : : : : : : : : : : : : : :73

* (ワイルドカード ) : : : : : : : : : : : : : : : : : : : : :76

. (ドット) : : : : : : : : : : : : : : : : : : : : : : : : : : : 26,35

.. (ドットドット) : : : : : : : : : : : : : : : : : : : :26,35

.Z (拡張子) : : : : : : : : : : : : : : : : : : : : : : : : : : : 101

.Z : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 102

.c (拡張子) : : : : : : : : : : : : : : : : : : : : : : : : : : : :147

.cshrc : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87,91

.f (拡張子) : : : : : : : : : : : : : : : : : : : : : : : : : : : : 149

.gz (拡張子) : : : : : : : : : : : : : : : : : : : : : : : : : : :101

.gz : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :102

.login : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87,88

.logout : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 87,88

.o (拡張子) : : : : : : : : : : : : : : : : : : : : : : : : : : : :147

:e : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

:h : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :78

:r : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

:t : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

? (ワイルドカード ) : : : : : : : : : : : : : : : : : : : : 76

? (ftp) : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 139

@ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :159,164

$ : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

$# : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 78

& : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : 81

^: : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : : :74,79

173

Page 184: さあはじめよう - Sophia Universitynile.ph.sophia.ac.jp/~tomi/kougi_note/unix_man.pdf目次 1 UNIX とは 1.1 UNIX の歴史: 1 1.2 UNIX の特徴: 2 1.3 UNIX の構造: 2 1.4

さあ はじめよう UNIX2001 年 10 月 第 5.1 版 発行

01-10-600

編集・発行 上智大学電子計算機センター住所 〒 102-8554 東京都千代田区紀尾井町 7-1

(電話) 03-3238-3101

印刷 (株) 六 甲 出 版