コンピュータとのコマンドによる対話、ファイル、Emacs

					2012年04月24日
情報科学類 コンピュータリテラシ

                                       筑波大学 システム情報系 情報工学域
                                       新城 靖
                                       <yas@cs.tsukuba.ac.jp>

このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2012/2012-04-24
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/

■連絡事項

■復習

■文字の符号化

◆エンコーディング

資料は前回配布済み。

■人間とコンピュータの対話方法

人間の意思をコンピュータに伝えるには、次のような方法がある。
  1. マウス(ポインティング・デバイス)のクリック、ダブルクリック、ドラッ グなどの操作を使ってメニューやボタンを選ぶ。
  2. キーボードでいくつかの文字を打ち込む。最後にリターン・キー (エンター・キー、[←])を押すと、コ ンピュータは反応す。
  3. キーボードで1文字だけ打つ。リターン・キーを押さなくても、コンピュー タは応答す。
マウスを使う方法は、人間にとってわかりやすい。キーボードを使う方法 では、人間の意思を効率的にコンピュータに伝えることができる。ただし、 このためには、人間がキーボードの配列を覚える必要がある。

同じコンピュータでも、どのプログラムが動いているかによって、上のどの方 法が使えるかが変化する。また同じプログラムでも、局面に応じて上のどの方 法が有効が違うことがある。初期のコンピュータと比較して、最近のコンピュー タは、マウスだけで操作できる部分が大きくなってきている。しかし、電子メー ルを打ったり、文書を書いたりする局面では、キーボードを中心に使う方が、 マウスとキーボードの間での手の移動が少なくなるので、効率がよい。

次のような状態の時に、2の状態になる。

◆端末(Terminal)

(文字)端末は、1960年代のコンピュータの使い方を反映した言葉。

図? メインフレーム、端末、回線

図? メインフレームと端末

図? キーボード、端末、キーボード入力、画面出力、コンピュータ

図? 端末とアプリケーション

◆端末プログラム

現在では、文字端末は、コンピュータとキーボードと文字表示で対話するため の汎用のプログラムを意味する。

図? キーボード、端末プログラム、アプリケーション

図? 端末プログラムとアプリケーション

◆キーボード配列の覚え方

◆修飾用のキー

他のキーといっしょに押すキー。単独で押しても何も起きない。
Shift
大文字、記号の打ち込み
Caps Lock
連続した大文字の打ち込み
Num Lock
(アルファベット部分での)数字の打ち込み
Control, Alt, Option, Command(Command), Meta (iMacにはない)
制御コードの打ち込み
注意事項

◆キートップの印刷と動作の違い

キートップに書かれたものと、画面表示や 印刷結果が違うことがある。

The Unix Super Text 3.2 参照

例1: 「~」キー。JIS配列では、「0」キーの右の右。かなの「へ」。

URL を打つ時に注意する。

◆フロントエンド・プロセッサ

キーボードからのデータを加工してアプリケーション・プログラムに 渡すプログラム。Input Method という考え方で呼ばれることもある。

図? キーボード、フロントエンド・フロセッさ、アプリケーション・プログラム

図? キーボードとフロントエンドプロセッサ

オンオフできる。

使えるもの。

◆マウス

その他、キーボードのボタンを押しながらクリックという操作ができることも ある。

iMac のマウスは、ボタンがないように見えるが、それに相当する 場所(左右)を押すと反応する。真ん中ボタンは、丸いもの。

■プログラムの実行とシェル

コンピュータに仕事をさせるには、プログラムを 実行する。 MacOSX では、次のような種類のプログラムが実行できる。 例外もある。

プログラムの「実行」と「起動」は、だいたい同じ意味。 実行したプログラムは、自動的に終了するものと自動的には終了しないものがある。 まれに、プログラムを強制終了させる必要が出てくる。

◆Finder

Finderのアイコン 手引き 1.3.2項 参照

MacOSX の Finder は、次のような役割を持つ。

◆シェル(shell)

シェルとは、オペレーティング・システムの構成要素の1つである。シェルは、 オペレーティング・システムの中心部分を貝殻のように包みむプログラムであ る。シェルは、人間とコンピュータが対話(interaction)をする時に重要な 機能を果たす。

図? ハードウェア、カーネル、シェル、アプリケーション

図? シェルの位置づけ

MacOSX では、Finder という名前のプログラムがシェルに相当する。

Unix (Linuxを含む) では、sh, csh, bash, tcsh, zsh などさまざまな種類の シェルを使うことができるようになっている。X ウインドウを使っている状態 (マウスが使える状態)では、ウインドウ・マネジャと呼ばれるプログラムも、 シェルとしての働きがある。

Windows では、Explorer という名前のプログラムがシェルに相当する。

◆シェルの実行とプロンプト

MacOSX で、「端末」のプログラムを実行すると、Unix のシェルが実行される。

coins での標準のシェルは、bash である(2009年までtcsh)。 bash が動いている時には、コンピュータの画面には、次のような表示がなされ る(コンピュータ、ユーザによって異なる)。

cosmos38:~ s1201234$ []
このような記号は、プロンプト(prompt)という。これは、シェルが人間に対し て、コマンド(command、命令) の打込みをうながしている(prompt)ことを表す 印である。 この状態で、キーボードからコマンド名(命 令の名前)を打ち込み、最後にリターン・キー(Enter, [←])を打つと、 bash がそれを受け取り、実行する。

以下の説明では、プロンプトが「$ 」であるものとする。

$ []
キーボードから「$ 」を打つ必要はない。(プロンプトの記号は、設 定で変更することもできる。)

◆シェルの終了

bash を終了するには、プロンプトに対して、「exit [←]」と打つ。
$ exit [←]
シェルを終了しても、端末プログラムが動いたままのことがある。 端末プログラムをもう利用しないなら、 端末プログラムも終了する。終了の方法は、プログラムによって異なる。

◆コマンド名、オプション、引数

シェル(コマンド・モードの画面)を操作するには、次のような形式で文字を 打ち込み、最後にリターン(Enter, [←])を打つ。
$ コマンド名 オプション1 オプション2 ... 引数1 引数2 .. [←]

コマンド名に続く オプション(option)とは、コマンドの動きを少し変えるた めの文字列(文字の並び)である。オプションは、一般には付けても付けなく てもコマンドの働きとしては成り立つ。引数(ひきすう、argument,parameter) は、コマンドの種類によっては、必ず必要となるものである。ただし、オプショ ンと引数の区別は、必ずしも厳密ではなく、混同して使われることもある。 (例:必須のオプション)

コマンド名やオプションや引数は、空白で区切る。空白の有無で、まったく動 作が変る。

たとえば、次の行は、「whoという名前のコマンドを、オプションも引数も無 しで実行する」という意味する。

$ who  [←]

■ファイルとディレクトリ

ファイル(file)は、コンピュータの中で「情報を保存する」ための仕組み。 ファイルは、ビット列を(バイト単位で)保存する。

記憶媒体

単純な記憶媒体の問題

ファイルの大事な役目は、「情報に名前を付ける」という機能。

ディレクトリ(directory)は、ファイルに名前を付ける働きを持っている仕掛 けを提供するもの。フォルダ(folder)と呼ばれることもある。

ディレクトリは、ファイルの名前の一覧表として現れる。

ファイルの性質

■ファイルの基本的な操作

次のコマンドを使えるようにする。

◆ファイル名

ファイルには、名前(ファイル名(file name))がついている。 ファイルを操作するには、ファイル名を指定する。

Unix では、ファイル名として、「/」 は特別な意味があり、ディレク トリの区切りを意味する。普通のファイル名は、「/」 以外の次のよ うな文字を使うと問題が起きない。 漢字をファイル名に使うことは、符号化の方法の違いで問題が生じる ことがある。

Unixでは、ファイル名としてアルファベットの大文字と小文字の両方使え、か つ、両者は区別される。普通は小文字を使う。Makefile や README のように、 特に注目して欲しいファイルの名前に大文字を使う。

MacOSX では、大文字小文字の違いは保存されるが、 区別されないことがある。 abcという名前は、AbcでもABCでも操作できることがある。

MacOSX の Finder は、ディレクトリの名前を加工して表示する。

ファイル名「~」は、ホームディレクトリを表す特殊な名前。 シェルや Emacs で使える。ホームディレクトリとは、 個人個人のファイルを保存するための起点となるディレクトリ。

◆ファイルの名前を調べる(lsコマンド)

ls コマンドを実行すると、存在するファイルの一覧を表示する。

$ ls [←]
Desktop         Maildir         coins           public_html     tmp
Documents       WinFiles        dot             secure_html     u
Downloads       backupfiles2010 etc             sie
Library         bin             lib             syspro
$ []

◆内容によるファイルの分類

テキスト・ファイル(text file)
文字データだけが含まれているファイル
バイナリ・ファイル(binary file)
その他、機械語、画像、音声

◆テキスト・ファイルの作成

echoコマンドで、1行のテキストファイルを作成できる。
$ echo This is a pen. > file1 [←]
$ []
> は、シェルの入出力の切り替え(リダイレクション)の 指定で、詳しくは後日。

cat コマンドを使うと、数行のテキスト・ファイルを作ることができる。

$ cat > file2 [←]
GNU is Not Unix!
Try Hurd.
^D
$ []
^D は、キーボードからファイルの終わりの印(EOF, End of File)を意味する。^D (Control D)と表記することもある。この 例では、^D が打たれるまでキーボードから打ち込まれた文字を テキスト・ファイル file2 にコピーしている。

本格的にテキスト・ファイルを作成するには、Emacs などの テキストエディタを使う。

◆ファイルのコピー

指定したファイルの内容と全く同じ内容を持つファイルを作ること

ファイルのコピーの目的

ファイルをコピーするには cp (copy) コマンドを使う。

$ cp file1 file2 [←]
この結果、ファイル file1 が ファイル file2にコピーされる。 コピー先のファイルfile2が存在しない時は新しくファイルfile2が作られる。

コピー先のファイルが既に存在していた場合、その内容は上書き(overwrite),うわがき)される。 (古い内容を消して新しい内容で埋める)。

◆ファイルを消す

意義

ファイルを消すには、rm (remove) コマンドを用いる。

$ rm file1 [←]
このファイル file1 が削除される。

rm コマンドで消してしまったファイルは、一般的には2度と戻らない。 消す前に、本当に不要かどうかを確認すること。

◆ファイルの名前を変更

ファイル名を変更するには mv (move) コマンドを使う。

$ mv oldname newname [←]
この結果、ファイルoldfileのファイル名をnewnameに変更される。

ここで、newname のファイルが存在した場合、元の newname は消されてしまう。

◆ファイルの操作にともなうエラー

No such file or directory
そういう名前のファイルが見つからなかった。ファイル名が間違っていな いか確かめる。
Permission denied
ファイル名は合っていますが、アクセス権がない。 モードを ls -l で調べる。
No space left on device
ディスクに空領域がない。 まず、不要なファイルを消す。
Disc quota exceeded
ディスクに空領域があるが、 個人に割り当てられた領域を使い果たした。 まず、不要なファイルを消す。

■ファイルの属性

Unixのファイルとディレクトリは、内容(ビット列を保存する)の他に、 所有者、更新された日付などの 属性attributes ) を持つ。

ls -l コマンドを実行するとカレントディレクトリのファイルや ディレクトリの属性が表示される。

$ ls -l [←]
total 162
drwx------   6 yas  prof   4096 Apr  9 20:30 Desktop
drwx------   4 yas  prof   4096 Apr  2 14:14 Documents
drwx------  17 yas  prof   4096 Apr  7 13:35 Library
drwx------  11 yas  prof   4096 Apr 14 17:06 Maildir
drwxr-xr-x   3 yas  prof   4096 Mar  9 12:10 WinFiles
drwxr-xr-x   3 yas  prof   4096 Apr 15 13:35 bin
drwxr-xr-x  35 yas  prof   4096 Apr 12 11:44 coins
-rw-------   1 yas  prof      6 Apr 19 21:25 dead.letter
...
$ []
行単位に次のようなファイルやディレクトリの属性が表示さる。

◆所有者(owner)

ファイルが誰の所有物かを示す。 コンピュータのなかでは人はユーザ名で表されるので、 所有者もユーザ名(上の例ではyas)で表される。

◆グループ名

Unixでは複数のユーザが属する グループ(group)を設定できる。 ファイルは必ずどれか1つのグループに属する。

◆大きさ

ファイルの大きさ(size)は、ファイルの内容をバイト数で数えた値(bit ではな く byte)。

◆時刻

Unixのファイルには、次の3種類の時刻が記録されている
最終アクセス時刻 (the last access time)
ファイルの「内容」が最後にアクセス(読み込み)された時刻。 ls -lu で表示される。
最終更新時刻 (the modification time)
ファイルの「内容」が最後に変更(書き込み)された時刻。 ls -l で表示される「時刻」で、 単に「ファイルの時刻」といった場合にはこの時刻を意味する。
最終変更時刻 (the status change time)
ファイルの「属性」が最後に変更された時刻。 ls -lcで表示される「時刻」。
他の時刻も属性の1つなので、「最終更新時刻」を変更すると、 「最終変更時刻」も変更した時刻も変わる。

◆モード(mode)

ファイルの型とファイルへのアクセス(読み書き)の可否を決めるための属性

ファイルの型

モードの一番左1文字は、ファイルの型(type)を表わす。
-
ファイル
d
ディレクトリ

許可されたアクセス方法

モードからファイルの型を除いた部分はアクセスの可否を決めるための 情報。9文字ある。左から3文字の固まりが3組ある。

各3文字はアクセス毎にその許可・拒否を表す。

r	読込み可
w	書込み可
x	実行可(ディレクトリの場合は探索可)
モードで該当する部分が「-」の場合は、その種類のアクセスが許可さ れてないことを意味する。

「読込み可」とは、その内容を参照できること意味する。たとえば、cp コマン ドでコピーできる。読出し可能なディレクトリなら、ls コマンドでそのディレ クトリ中のファイル名の一覧を表示できる。

「書込み可」とは、その内容を変更することができることを意味する。たとえ ば、テキスト・ファイルなら、エディタで修正したものを書き込むことができ る。書込み可能なディレクトリなら、mv コマンドでそのディレクトリのなかに あるファイル名前を変更できる。

「実行可」というのは、ファイルの内容がプログラムの場合は、 そのプログラムを実行することができる。

ディレクトリに対する 「検索可」というのは、その下にあるファイルやディレクトリを たどっていける(ファイルを開く(読み書きのため)、cd (change directory)できる)という意味である。

ディレクトリが「読込み可」でも、「検索可」でないと、 ディレクトリに「読込み可」のファイルがあっても、 ディレクトリに入ってファイルを読むことができない。 逆に、「検索可」でも、ディレクトリが「読込み可」でないと、 ディレクトリにあるファイル名やディレクトリ名を表示させることが できない。

そのディレクトリにあるファイル名を知っていて、そのファイルが「読み込み 可」なら読むことがでる。

アクセスするユーザによって異なったアクセスの許可・拒否がしたいことがあ る。そのために、rwxの指定は、ファイルの所有者、ファイルの属すグループ、 それ以外の人用に3セット用意されている。

例:モードが「rw-r--r--」のファイル

まとめると、「誰でも読めるが所有者しか書けない」。

◆ls -ld

ls コマンドは、引数としてファイル名やディレクトリ名を指定することができ る。
$ ls -l /etc/passwd [←]
-rw-r--r--   1 root  wheel  1932 Aug 22  2005 /etc/passwd
$ []
ls コマンドにディレクトリ名を与えると、ディレクトリそのものではなく、そ の内容が表示される。
$ ls -l /home/lecture/syspro [←]
total 65
drwx------   2 syspro  lecture  4096 Apr 19 18:53 Desktop
drwx------   8 syspro  lecture  4096 Apr 19 18:53 Library
drwx------   5 syspro  lecture  4096 Mar  1 18:10 Maildir
drwxr-xr-x   3 syspro  lecture  4096 Feb 22 19:56 backupfiles2010
-rw-------   1 syspro  lecture     6 Apr 19 19:14 dead.letter
drwxr-xr-x  11 syspro  lecture  4096 Apr  2 12:40 public_html
drwxr-xr-x   4 syspro  lecture  4096 Apr 12 12:00 secure_html
drwxr-xr-x  11 syspro  lecture  4096 Apr 12 12:00 syspro-2010
drwxr-xr-x   3 syspro  lecture  4096 Apr 19 19:09 tmp
$ []
ディレクトリ自身を表示したい時には、ls -l -d (ls -ld) とする。
$ ls -ld /home/lecture/syspro [←]
drwxr-xr-x  16 syspro  lecture  4096 Apr 19 19:13 /home/lecture/syspro
$ []

■マニュアルの読み方

The Unix Super Text 8章 参照手引き 2.2.2項 参照
$ man man [←]
$ man ls [←]
$ man mkdir [←]
$ man -k keyword [←]
引数として調べたいコマンドの名前を与える。-k に続いてキーワードを与える ことで検索もできる。

■Emacs

手引き 3章 参照The Unix Super Text 15.1 12章 参照

GNU Emacs (ぐにゅー いーまっくす)。 Free Software Foundation開発。 Richard Stallman 原作。

3種類ある。

端末(iTerm, xterm, kterm)の中で動く。
実行には、端末のシェルに emacs と打つ。 (そのままでは 以下の X Window System のものが動く時には、 emacs -nw と打つ。-nw は、no window の意味。)
MacOSX でウインドウを開くもの(Carbon Emacs, Aquamacs Emacs)。
実行(起動)には、Dock アイコンをシングルクリックでもよい。 シェルから open /Applications/Emacs.app でもよい。
X Window System の元で動作する。
実行には、まず、X Window System (X11) を実行する。 さらに、X Window System に対応した Emacs を( -nw なしで)実行する。 環境変数 DISPLAY で設定された場所に画面が表示される。 (iMac のもの等、X11 未対応のものは、-nw を付けなくても端末の中でそのま ま動く。)
環境変数については、後述。

◆Emacsと文字コード

端末で動く時の注意。 漢字コード(漢字の符号化の方法)を合わせる必要がある。

漢字コード モードラインの表示 Emacsの設定
EUC E euc-jp-unix
JIS J iso-2022-jp-unix, junet
Shift_JIS S shift_jis-unix
UTF-8 u utf-8-unix
最後の-unix は、改行文字(行末)の ASCII 制御コード。 主に次の3種類がある。
emacs記号 制御コード(16進数) 説明 Controlキー C言語表記
-unix 0a nl (new line) Control+j \n
-mac 0d cr (carriage return) Control+m \r
-dos 0d 0a (2文字) cr nl Control+m Control+j \r\n
「\」と「¥」は同じ。The Unix Super Text の表 12-2 は、古い。

dos (Disk Operating System) は、MS-DOS (Microsoft DOS) の意味。 Microsoft Windows の全身。

Emacs では、主に次の3つを変更する。

terminal-coding-system
Emacs から端末への出力(端末の受信側) M-x set-terminal-coding-system で変更できる。
keyboard-coding-system
キーボードから Emacs への入力(端末の送信) M-x set-keyboard-coding-system で変更できる。
buffer-file-coding-system
Emacs からファイルへの出力 M-x set-buffer-file-coding-system で変更できる。

◆iTerm で、文字コードを EUC に設定する

iTerm の中で Emacs を使う時には、 iTerm で、文字コードを EUC に設定し、 Emacs の terminal-coding-system, keyboard-coding-system をeuc-jp-unix に設定するとよい。(または、他の漢字コードで統一するとよい。)

■基本概念

バッファ
Emacs で、メモリの代わり。 保存しないと失われる。
ウインドウ
バッファ(の一部)を画面に表示したもの。 1つのバッファを複数のウインドウに表示することもできる。
モードライン
下から2行目。反転している。文字コード、 バッファの名前、バッファの変更状態などが表示される。
キーバインディング
キー入力と、それに応じた関数(専門用語)の対応。 キー入力と操作の対応関係。
エコー領域
一番下の行。
ミニバッファ
ファイル名を入力する場合などに使う特殊なバッファ。 エコー領域に表示される。

◆関数

関数とは、プログラムを作成する時の単位。 プログラムは、プログラミング言語で記述されている。 Emacs は、C 言語と Lisp というプログラミング言語で記述されている。 Emacs のキーは、Lisp で記述された関数と対応してる。

◆バッファの変更状態

表示 意味
** 変更された(未保存)
-- 変更なし(保存済み)
%% 書き込み禁止
%* 書き込み禁止バッファが変更された

◆キー表記

The Unix Super Text 12章 参照, 手引き 3章 参照

C-
Control キーを押しながら押す
M-
Meta キー押しながら押す

Meta キーがない時には、Esc キーを使う。 例えば、M-x と打ちたい時には、 例えば、まず、Escキーを打ち(離し)、その後、x キーを打つ。 (キーを2回に分けて打つ。) ただし、説明の表記は、M- のままなので注意する。

◆C-x C-c

Emacs を終了するには、C-x C-c

◆C-g

困った時には、C-g を複数回連打する。

◆undo

undo (操作を元に戻す)という考え方がある。C-x u。

◆カーソル移動

キーを打った時に、文字が入る場所をカーソルという。

カーソル移動には、矢印キー(←、→、↑、↓)も使えるが、 手がホームポジションから離れてしまうのでよくない。 Control キーを使う方法を使う。 The Unix Super Text 12.3.3項 参照, 手引き 3.2.5項 参照手引き 表3.3 参照

C-b	backward-char
C-f	forward-char
C-p	previous-line
C-n	next-line

◆削除

The Unix Super Text 12.4.4項 参照, 手引き 3.2.6項 参照。  

カーソルの左側を削除する方法とカーソルの右側(カーソルのある場所)を 削除する方法がある。

C-d	delete-char
DEL	delete-backward-char

大量の削除には、カット&ペーストのカットだけを行うとよい。

◆カット&ペースト、コピー&ペースト

The Unix Super Text 12.4.3項 参照, The Unix Super Text 12.4.5項 参照 手引き 3.2.7項 参照

マーク
C-SPC または C-@ で設定する。 うまくいくと、ミニバッファに Mark set と表示される。 カーソルを動かしても移動しない。 次に新しいマークをセットするまで有効。
ポイント(カーソルのある位置)
カーソルを動かすと移動する。
リージョン(領域)
マークした場所とカーソルの間
リージョンに対する操作には、さまざまなものがある。

◆ファイルの読み書き

The Unix Super Text 表12-6 参照, 手引き 3.2.4項 参照

C-x C-r は、読み込み専用でファイルを表示する。

■実習

実習時間中には、以下の課題をできるだけ多く行いなさい。全部を行う必要はない。

★練習問題(401) 端末 iTerm の実行と終了

Dock から iTerm のアイコンをシングルクリックで実行しなさい。 ウインドウの中でシェルが実行されることを確認しなさい。 シェルのプロンプトがどうなっているか確かめなさい。

シェル

exit コマンドを使って、ウインドウの内部のシェルを終了しなさい。

$ exit [←]

左上の「iTerm」 のメニューをクリックしなさい。メニューの一番したの 「iTerm を終了」をクリックする。

★練習問題(402) iTerm で、文字コードを EUC に設定する

手引き 2.2.1項 参照手引きの正誤表参照。
  1. 一番上のメニュー・バーにある「ブックマーク」をクリックし開き、 「プロファイルの管理」を選ぶ。
  2. 「Terminal Profiles」の下の「Default」をクリックして選ぶ。
  3. ターミナルの設定の下の「文字コード」のメニューで、「日本語(EUC)」を選ぶ
  4. ターミナルの設定の下の「タイプ」のメニューでは、 「xterm-256color」を選ぶと、Emacs の表示が見やすい。
  5. 日本語を表示する時には、「非ASCII文字をワイド文字とみなす」にチェック が入っていることを確認する。
  6. 文字コード等の設定が終わったら、「プロファイル」のウィンドウの左上 の赤い丸いボタンを押し、そのウィンドウを閉じる。
  7. iTerm の中のシェルに対して「exit [←]」で、一度シェルを終了し て、ウィンドウを閉じる。
  8. 一番上のメニューバーにある「シェル」メニューの「新規ウィンドウ」を を選ぶ。
  9. iTerm の中のシェルに対して「locale [←]」コマンドを実行し、 LANG="ja_JP.eucJP" と表示されることを確認する。

iTerm、ターミナル、プロファイル

iTerm、環境設定、プロファイル設定、ターミナル。(クリックで拡大)

ついでに、ウインドウの大きさを、標準の 80x24 から 80x40 程度に大きくし、 文字フォントを 14 ポイント程度に大きくするとよい。
  1. 一番上のメニュー・バーにある「ブックマーク」をクリックし開き、 「プロファイルの管理」を選ぶ。
  2. 「Display Profiles」の下の「Light Background」をクリックして選ぶ。
  3. 「行」の「24」を「40」に変更する
  4. 「ASCII フォント」(「ASCII フ」と表示)ボタンでフォント選択のウイン ドウを表示し、「Monaco レギュラー 14」を選ぶ。
  5. 「非Ascii フォント」ボタンでフォント選択のウインドウを表示し、 「Monaco レギュラー 14」を選ぶ。
  6. 行数やフォントの設定が終わったら、「プロファイル」のウィンドウの左 上の赤い丸いボタンを押し、そのウィンドウを閉じる。
画面の行数は 40-50 が使いやすい。ウィンドウの斜め線の入っている 部分をドラッグすれば、大きさが変更できる。 毎回変更するなら、一度設定を変更して保存する。

横幅は、普通、80 だが、必要に応じて広くする。「デフォルトを更新」を選ば なければ、そのウィンドウだけが変更され、設定は残らない。

なお、 EUC には、日本語以外(韓国語、中国語、その他)もある。iTerm で日本 語を表示するには、日本語EUCを選ぶ。

★練習問題(403) フロントエンド・プロセッサのオンオフ

アプリケーション・プログラムが動作している時、仮名漢字変換のフロントエ ンド・プロセッサ(ことえり)を有効にしたり無効にしたりし なさい。 Command+Space は、最後に利用した2つを切り替える働きがある。

★練習問題(404) 簡単なコマンドの実行

次のような簡単で安全なコマンドを実行してみなさい。安全とは、間違った操 作をしたとしても、何かが失われるいったことが起きる心配がないという意味 する。
cal
cal 2012
cal 4 2012
カレンダーの表示
date
今日の日付の表示
date -u
今日の日付の表示(UTC(Universal Cordinated Time),旧グリニッジ標準時で)
look spelling
英単語の検索
finger s1201234
finger suzuki
finger yas
ユーザ名の検索
echo hello
文字の表示

★練習問題(405) lsによるホーム・ディレクトリの観察

ls コマンドで、自分のホーム・ディレクトリにどのようなファイルやディレク トリがあるかを調べなさい。また、-l オプション、-a オプション、-d オプショ ンの働きを確認しなさい。
$ ls [←]
$ ls -a [←]
$ ls -l [←]
$ ls -la [←]

★練習問題(406) Finderによるホーム・ディレクトリの観察

Finder でホーム・ディレクトリを開きなさい。そして、ls の結果と比較しな さい。
  1. Dock で Finder をクリック
    Finderのアイコン
  2. 「移動」メニューから「ホーム」を選ぶ。

★練習問題(407) ファイル操作とバイト数

★練習問題(408) catコマンド

cat コマンドを使い、次のようなテキスト・ファイルを画面に表示してみなさい。

★練習問題(409) headコマンド

head コマンドを使い、次のようなテキスト・ファイルを画面に表示してみなさい。

★練習問題(410) tailコマンド

tail コマンドについてマニュアルで調べなさい。 tail コマンドを使い、テキスト・ファイルを画面に表示してみなさい。 The Unix Super Text 15.1 参照

★練習問題(411) lv コマンド

手引き 2.2.14 参照。 lvコマンド で次のような長いファイルを表示してみなさい。 そして、次の機能を確認しなさい。 次のようにして、マニュアルを表示しなさい。
$ lv -help [←]
次のキーの動作を確認しなさい。
キー 説明
スペース 次のページ
f 1ページ進める(forward)
b 1ページもどる(back)
q 終了
j 1行進める
k 1行もどす
g 先頭にもどる
G 末尾にもどる
/str 文字列 str をファイルの末尾に向かって探す
?str 文字列 str をファイルの先頭に向かって探す
n 直前の検索をファイルの末尾に向かって繰り返す(next)
N 直前の検索をファイルの先頭に向かって繰り返す(next)

★練習問題(412) manコマンド

man コマンドで、次のコマンドのマニュアルを表示しなさい。

★練習問題(413) man -k

man -k を使って、マニュアルの検索を行いなさい。 その結果と apropos コマンドの結果を比較しなさい。

★練習問題(414) info コマンド

info コマンドを実行しなさい。終了は、q または C-x C-c。 後述する Emacs の info と比較しなさい。

★練習問題(415) ファイルの操作

次の表にあるファイルの操作を行ってみなさい。

ls	f1 f2 f3	ファイルの名前の一覧の表示
ls	dir		ディレクトリの内容の表示
ls			カレント・ワーキング・ディレクトリの内容の表示
ls -d	d1 d2 d3	ディレクトリの名前の一覧の表示
ls -a	dir		ディレクトリの内容の表示(.で始まる名前も表示)
ls -l	f1 f2 f3	ファイルの属性の表示
ls -ld	d1    		ls -l -d の組み合わせ
cat	f1		ファイルの内容の表示
cat	> f1		ファイルの作成
head	f1		ファイルの内容の表示(最初の10行)
cp	f1 f2		ファイルのコピー
cp	f1 f2 f3 dir	ファイルを指定されたディレクトリへコピー
cp	f1 f2 f3 .	ファイルをカレント・ワーキング・ディレクトリへコピー
rm	f1 f2 f3	ファイルの削除
mv	old new		ファイルの名前を変える
mv	f1 f2 f3 dir	ファイルの名前を変える(dir以下への移動)
rm -r	dir		ディレクトリの削除(ディレクトリの内容も削除)

f1, f2, f3 はファイル名、dir, d1, d2, ... は、ディレクトリ名

★練習問題(416) iTerm の機能

iTerm には次のような機能がある。そのことを確認しなさい。 ただし、スクロールバックの機能は、次の場合、はうまく働かない。 この場合は、ページャやテキスト・エディタの機能を利用して見えなくなって しまった部分を表示する。 このことを確認しなさい。

★練習問題(417) emacsによるファイルの新規作成(端末内)

次の手順で Emacs (iTerm内で実行)を使ってテキストファイルを作成しなさい。

★練習問題(418) emacsによるファイルの新規作成(端末内)(C-x C-f)

キー操作 C-x C-f を使って、ファイルを作成しなさい。

★練習問題(419) emacsによる既存ファイルの編集(端末内)

次の手順で Emacs (iTerm内で実行)を使って既存のテキストファイルの内容を編集しなさい。

★練習問題(420) 保存したファイルの内容の参照

Emacs で編集しているファイルの内容は、保存するまで他のプログラムからは読むことができない。 また、C-x C-s で保存したら、Emacs を終了しなくても、読むことができるようになる。  C-x C-s による保存は、何度行ってもよい。 このことを、次のようにして確認しなさい。

★練習問題(421) emacsのキー操作

次の表に含まれているキーを覚えて使えるようにしなさい。
キー 説明
C-x C-s バッファを保存。
C-x C-c Emacsを終了。
C-x C-f ファイルを探して編集、または、新規作成。
C-p カーソルを移動(previous)
C-n カーソルを移動(next)
C-f カーソルを移動(forward)
C-b カーソルを移動(backward)
Delete 左の文字の削除
C-k カーソルの位置から行末まで削除。行末の場合は、改行の削除。
C-g 何か困った時には、何度か打つ。
C-_ または C-x u 取り消し(undo)
C-SPC または C-@ 領域(region)の先頭を決める(マーク)
C-w リージョン(領域)をカット
ESC w リージョン(領域)をコピー
C-y リージョン(領域)をペースト

★練習問題(422) emacsの機能確認

手引き 3.1節-3.3節, The Unix Super Text 12章, 本Webページを参照して、 それに記述されている機能を確認しなさい。

★練習問題(423) Carbon Emacsの実行

MacOSX でウインドウを開くEmacs(Carbon Emacs)を実行しなさい。DockのEmacs のア イコンをシングルクリック、または、または、「アプリケーション」内の Emacs.app をダブルクリックする。 シェルから open /Applications/Emacs.app でもよい。

★練習問題(425) Emacs による漢字コードの変換

漢字のテキストを Emacs で作成(C-x C-f)しなさい。そして、次の機能を使っ て、保存されているテキストの漢字コードをいくつか変更して保存しなさい。
M-x set-buffer-file-coding-system [←]
Emacsと文字コードで説明したように、 文字コードとして、euc-jp-unix, iso-2022-jp-unix, shift_jis-unix を 切り替えて、保存(C-x C-s)しなさい。

作成したテキスト・ファイルを、Web ブラウザで表示しなさい。Web ブラウザ では、文字のエンコーディングを変えて、その通りになっているかを調べなさ い。

作成したテキスト・ファイルを、lv コマンドで表示しなさい。そして、 = キーを打ちなさい。すると、ファイル名、先頭からの位置(バイト 数)に続き、ファイルの文字コードが表示される。

★練習問題(426) Emacs infoの表示

Emacs の info を表示して読みなさい。 info (The Unix Super Text 8.6項 参照)。M-x info。M-x ? i。

★練習問題(427) Emacs チュートリアル

Emacs には、チュートリアル機能(自習)がある。これを実施しなさい。 手引き 3.3.1項 参照。 この実習項目は、[加点]の課題である。実施する時には、開始時刻と終了時刻 を記録しなさい。 標準では、日本語のチュートリアルが実行される。 英語、その他の言語のチュートリアルを実行するには、 M-x help の前に、C-u を打つ。

言語としては、次のようなものの中から選択できる。

ASCII Brazilian Portuguese Bulgarian Chinese-BIG5 Chinese-GB Czech Dutch English Esperanto French German Italian Japanese Korean Polish Romanian Russian Slovak Slovenian Spanish Swedish Thai

フォントの問題でうまくいかないかもしれない。

★練習問題(428) Emacs の機能一覧・検索

次の方法で Emacs での詳しい使い方が表示される。このことを確認しなさい。
M-x help m
機能の一覧(modeの説明)
M-x help b
キーバインディング(bindingの説明)
M-x help a
apropos。関数の検索。
この apropos は、Emacs の機能だが、同名でシェルから実行できるコマンドもある。 これは、man -k と同じである。

★練習問題(429) タイプ練習プログラム typist

iTerm の中で、次のように打ち、タイプ練習プログラム typist を実行しなさい。
$ typist [←]
そして、タイプ練習を行いなさい。

★練習問題(430) 端末/シェルからのプリンタの利用

次のような課題を行いなさい。

■課題4 コンピュータとのコマンドによる対話、ファイル、Emacs

次のファイルを次のいずれかの方法で自分のホーム・ディレクトリ、または、 その下の作成したディレクトリにコピーしなさい。 そして、そのファイルの指示に従い、内容を埋めなさい。エディタとしては、 今日の課題では、必ず Emacs を使いなさい。

作成したファイルを、 レポート提出ページから提出しなさい。


Last updated: 2012/04/23 13:13:49
Yasushi Shinjo / <yas@cs.tsukuba.ac.jp>