2006年5月2日 コンピュータリテラシ 筑波大学 電子・情報工学系 コンピュータサイエンス専攻 新城 靖 <yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2006/2006-05-02
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
木構造の利点。再帰的(recursive)な考え方。
% ls![]()
% ls -R木構造の部分木(ある節以下全部)に対する操作。![]()
-R オプションは、ls の他に、rm、chmod、chown などでも使える。 -R (recursive) は、失敗すると影響が大きいので、慎重に使うこと。
タイプ練習ソフトウェア Typist.app を一般にも使えるようにした。 local3/Applications にある。
% open /usr/local3/Applications/Typist.app相対パスを利用して![]()
% cd /% cd usr
% cd local3
% cd Applications
% open Typist.app
![]()
ASCII コード表は、man ascii で表示される。
シェル(tcsh) には、Emacs と同様の行編集(ヒストリ編集)機能と補完機能がある (^f,^b,^p,^b,tab)。
GNU Emacs (ぐにゅー いーまっくす)。 Free Software Foundation開発。 Richard Stallman 原作。
3種類ある。
漢字コード | モードラインの表示 | 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 |
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 |
dos (Disk Operating System) は、MS-DOS (Microsoft DOS) の意味。 Microsoft Windows の前進。
Emacs では、主に次の3つを変更する。
iTerm、環境設定、プロファイル設定、ターミナル
画面の行数は 40-50 適当。 横幅は、普通、80 だが、必要に応じて広くする。
表示 | 意味 |
** | 変更された(未保存) |
-- | 変更なし(保存済み) |
%% | 書き込み禁止 |
%* | 書き込み禁止バッファが変更された |
Meta キーがない時には、Esc キーを使う。 説明の表記は、M- のまま。
カーソル移動には、矢印キー(←、→、↑、↓)も使えるが、 手がホームポジションから離れてしまうのでよくない。 Control キーを使う方法(手引き38ページ)を使う。
C-b backward-char C-f forward-char C-p previous-line C-n next-line
「削除リング」という考え方がある。
カーソルの左側を削除する方法とカーソルの右側(カーソルのある場所)を 削除する方法がある。
大量の削除には、カット&ペーストのカットだけを行うとよい。
マーク、ポイント(カーソルのある位置)、リージョン。
Emacs の得意技。インクリメンタル・サーチ。 C-s, C-r の後、RET で通常の検索になる。
M-% と打つと、ミニバッファで次のように聞かれる。
C-x i は、他のファイルをサーソルの位置に全て読み込む。
次のような言語が選択できる。
ASCII Brazilian Portuguese Bulgarian Chinese-BIG5 Chinese-GB Czech Dutch English French German Italian Japanese Korean Polish Romanian Russian Slovak Slovenian Spanish Swedish Thai
フォントの問題でうまくいかないかもしれない。
TAや教官からメールが来て、必要な返事は、 次の実習時間/講義時間までに出すこと。
coins 以外のメール・サーバを使うときには、 ~/.forward による転送の設定を行うこと。
~/.forward
というファイルに、転送先のアドレスを書く。
たとえば、
shiro@himalaya.is.tsukuba.ac.jp
に届いたメールを全て
shiro@alps.is.tsukuba.ac.jp
に転送したいとする。この時、
himalaya
の方のホーム・ディレクトリの下の
~/.forward
に次のように書く。
shiro@alps.is.tsukuba.ac.jp単純に転送先のアドレスを書く方法では、
~/.forward
が
あるホストには、何も残らないが、コピーを残しながら、転送する方法もある。
それには、次のように自分のログイン名に\
を付けたア
ドレスを含める。
\shiro, shiro@alps.is.tsukuba.ac.jp注意:「
\
」は、ASCII 「5c(16進数)」である。
「\」と表示されたり「¥」と表示されることがある。
「/」ではない。
この例では、himalaya に届いた電子メールは、himalaya
と
いうホストの
\shiro
というユーザの
配送プログラム用メール・ボックスに入り、
さらに、shiro@alps.is.tsukuba.ac.jp
にも送られる。
alps
にログインした時にも、
alps
と himalaya
の両方のメールが読め、
また、himalaya
にログインしてもやはり
alps
と himalaya
の両方のメールが読める
と便利に思えるかもしれない。しかし、こうすることは技術的に難しいので、
しばらくはあきらめて欲しい。
\loginname
の機能をつかっても、なかなかうまくいかない。
たとえば、次のよう
な ~/.forward
を作成したと考える。(実際に実行すると危険なので、
考えるだけする。)
(alps:~/.forward) \shiro, shiro@himalaya.is.tsukuba.ac.jp
(himalaya:~/.forward) \shiro, shiro@alps.is.tsukuba.ac.jpこの状態で、
shiro@alps.is.tsukuba.ac.jp
にメールが届いた
場合、次のようなことが起る。
alps
にコピーが残され、かつ、
shiro@himalaya.is.tsukuba.ac.jp
に送らる。
himalaya
では、やはり、コピーが残され(ここまでは順調)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる(!)。
alps
では、コピーが残され(2回目)、himalaya
に送られる。
himalaya
では、コピーが残され(2回目)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる。
alps
では、コピーが残され(3回目)、himalaya
に送られる。
himalaya
では、コピーが残され(3回目)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる。
alps
では、コピーが残され(4回目)、himalaya
に送られる。
himalaya
では、コピーが残され(4回目)、
さらに、shiro@alps.is.tsukuba.ac.jp
に送られる。
3ヵ所以上でこの設定をしたとすると、中継される度にメールが増殖する。
\loginname
の機能を使っていなかったとすると、コピーは
残らないが、メールが行き来するだけで、どこにも届けられずにエラーになる。
~/.forward
の設定をしたら、必ず自分で自分あてに電子メールを出
して届くかテストすること。~/.forward
の設定を間違えると、エラー
のメールも届かなくなるので、エラーが起こっていることさえわからなくなる。
~/.forward
の機能は、もともとは、sendmail という種類のMTA の機
能である。他の MTA (qmail, postfix)でも使えるように設定していることが多い。
~/.forward
の応用として、他のアドレスに電子メールを転送するの
ではなく、(サーバ上で実行される)プログラムに転送する機能がある。すな
わち、(サーバ上で)プログラムを実行して標準入力に電子メールの内容を与
えるという機能がある。これには、次のように~/.forward
に書く。
"| /program/path/name arg1 arg2 arg3 ... argn"このように、
|
に続いて、プログラムのパス名と引数を書き、
全体を ""
で括る。
この機能を使って、受け取った電子メールを自動的に分類したり、
spamメール
を排除したりすることができる。たとえば、MH の
slocalやprocmail
と呼ば
れているプログラムがこの機能を使っている。
開始時刻と終了時刻が必要になるので、必ずメモしなさい。
% emacs「%」はプロンプトなので打たなくてもよい。![]()
まず、X11 を実行する。Dock のアイコンをシングルクリック、 または、「ユーティリティの」の「X11.app」をダブルクリックする。
端末が一個開かれる。この中で次のように打つ。
% emacs![]()
次の方法と比較しなさい。
% emacs -nw![]()
M-x set-buffer-file-coding-systemEmacsと文字コードで説明したように、 文字コードとして、euc-jp-unix, iso-2022-jp-unix, shift_jis-unix を 切り替えて、保存(C-x C-s)しなさい。
作成したテキスト・ファイルを、Web ブラウザで表示しなさい。Web ブラウザ では、文字のエンコーディングを変えて、その通りになっているかを調べなさ い。
「テキストエディット.app」は、プログラムは、「アプリケーション」の中に ある。アプリケーションは、Finder で Shift+Command+A と打つか、「移動」 メニューから「アプリケーション」を選ぶ。次のように端末からコマンドを打っ てもよい。
% open /Applications/TextEdit.ap![]()
Emacs で保存したファイルを「テキストエディット.app」で開くとどうなるか 調べなさい。逆に、「テキストエディット.app」で保存したファイルをEmacs で開くとどうなるか調べなさい。
どの文字コードなら「テキストエディット.app」で開けるかしらべなさい。ま た、改行コードがどうなっているかを調べなさい。
手引き2.2.9節参照。
lvコマンドは、文字コードを EUC に変換して画面に表示する機能がある。
手引き2.2.10節。
(setq mew-proto "%") (setq mew-imap-delete nil) (setq mew-imap-server "mail.coins.tsukuba.ac.jp")Emacs を一度終了し、もう一度、実行した後、次のように打つ。
M-x mew
一番最初に実行した時には、次のようなメッセージが表示される。
Type '3Z' to collect IMAP folders!この場合、次のようにと打つ。
3Zdnlさらに、次のように聞かれたら、リターンを打つ。
IMAP case value (default):また、パスワードを打つ。
g でフォルダを選択する。 IMAPのフォルダの名前は、「+フォルダ名」ではなく、「%フォルダ名」。
s でフォルダを表示する。この場合、sync を選ぶと他のメール・リーダと同様 に IMAP のフォルダを表示する。
Range (update): sync![]()
http://www.mew.org/release/info/mew_74.html.ja#SEC74
http://www.mew.org/release/info/mew_7.html.ja#SEC7
(setq mew-use-cached-passwd t)
% cp ~yas/public_html/coins/literacy-2006/2006-05-02/literacy-assignment-5.txt .
作成したファイルを、 レポート提出ページから提出しなさい。
(10) 次の Web ページを開き、指示に従い、各自のページを埋めなさい。
https://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2006/hiki/?A20060502
この URL の先頭は、https (sがある) で始まる。これは、通信路が暗号化され ていることを意味する。このページを表示するには、ユーザ名とパスワードが 求められる。その時には、coins のコンピュータにログインするために使うユー ザ名とパスワードを使いなさい。