2016年04月26日 情報科学類 コンピュータリテラシ 筑波大学 システム情報系 情報工学域 新城 靖 <yas@cs.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2016/2016-04-26
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
レポートは、複数回提出してもよい。内容を修正した時には、もう一度提出す る。TAは、一番最後に提出されたものを採点する。
電子メール は、電話や(普通の)手紙と同じように、個人と個人の間で情報を交換するた めの仕組み。
電子メールを読み書きするプログラムは、 メール・リーダ(mail reader) または、 メーラ(mailer) という。 「リーダ(reader)」といっても、書くこともできる。
種類
電子メールを使う上で重要な考え方
1通の電子メールは、次のような形式を持っているテキスト(文字のデータの並び)。
From: Shiro Yagi <shiro@is.tsukuba.ac.jp>
To: kuro@cc.tsukuba.ac.jp
cc: shiro@is.tsukuba.ac.jp
Subject: Visit my WWW page
Date: Mon, 25 Jan 2016 23:42:25 +0900
Message-Id: <201601231442.k0NEgPTw003900@maple.is.tsukuba.ac.jp>
こんにちは。白やぎです。
WWWページを作ったので見てください。URL は、
http://www.is.tsukuba.ac.jp/~shiro/
です。
♪♪ 白やぎ
♪♪ http://www.is.tsukuba.ac.jp/~shiro/
多くのメール・リーダでは、1通の電子メールのことを メッセージ(message) と呼んでいる。
電子メールのテキストは、大きくヘッダと本文に分かれる。
From:
To:
Cc:
Date:
Subject:
From:
には、差出人の、
To:
と Cc:
には、受取人の電子メール・アドレスが置かれる。
電子メール・アドレス(e-mail address)
とは、電子メールを届ける時に配送プログラムが使う記号。
現在よく使われている形式:
user@domain
「@
」より前の部分は、個人を特定するための情報。
「@
」より後ろの部分は、
電子メールをどのコンピュータに届ければいいかを示している。
ドメイン形式のホスト名が使われる。
To:
: とCc:
: は、受取人の電子メール・アドレスが置かれる。どち
らにアドレスを書いても同じように届けらるが、To:
は、本来の宛先を
書き、Cc:
にはついでに連絡したい宛先を書く習慣になっている。Cc は、
Carbon Copy に由来する。
Date:
は、電子メールが出された日付と時刻。
Subject:
は、題名(題目、表題、件名)。
「件名」という日本語は存在しなかった。
電子メールの本文は、普通のテキストだが、1行の長さがだいたい漢字で30 文字〜35文字、英語のアルファベットで60文字〜70文字になるように、 折り返されている(改行が入っている)。このようにしておくと、引用という 機能を利用する時に便利。
電子メールで 引用 とは、返事などを書いたときに何に対する返事か分かりやすいように他の人の 書いた電子メールの一部を自分の電子メールに含めること。
本文の末尾には、 署名 ( シグニチャ(signature) ) が現われることが多い(付けなくてよい)。
署名とは、普通の手紙の末尾に署名をするのと同じように、末 尾に自分の名前や自分独自の記号を書く。署名は、簡潔で短いものが好まれて いる。1つの目安としては、「4行以内」。
電子メールのメッセージの型式は、RFC822 (その改訂版のRFC2822) で定めら れている。
電子メールは、「 メール・ボックス 」と呼ばれている ファイル(またはディレクトリ) に保存される。メール・ボックスは、プログラムによっては、 フォルダ(folder) や トレイ(tray) と呼ばれることもある。 メール・ボックスには、次の2種類がある。
/var/spool/mail/user
や
/var/mail/user
という名前のファイル。
(coins では、
各自のホーム・ディレクトリの下の ~/Maildir/ の下。
)
新しく届いたメールを読む時には、前者から後者へメールを移す必要がある場合がある。 この作業を、 「 (電子メールを)取り込む(incorporate) 」とう。
配送プログラム用メール・ボックスは、1つのサーバで1人で1つだけだが、 ユーザ用メール・ボックスは、必要に応じていくつか作ることができる。
メール・リーダで電子メールを発信する時にも、SMTP という仕組みがよく使われる。
POP では、配送プログラム用メール・ボックスを読み書きする機能がある。 IMAP では、それに加えて、複数のユーザ用メール・ボックスを扱えるように なっている。
(クリックで拡大)
SMTPによるメールの送信・転送、POP、IMAPによるメール・ボックスのアクセス
電子メールで仕事をしていると、単にメールを出すだけではなく、受け取った
電子メールに対して返事を出すことが多い。そのため、メール・リー
ダでは、返事を出す作業を簡単に行うことができるようになっている。返事
を出すことを
リプライ
するともいう。返事を出す時には、To:
が自動的に作られるだけで
なく、Subject:
も同じもの、あるいは、にRe:
が付い
たものが自動的に付けられる。
電子メールで返事を出す時には、相手のメールの内容を引用することがある。
この時、相手が書いた部分と自分が書いた部分を区別するために、相手
が書いた部分の行の先頭には、引用のための記号を付ける習慣がある。こ
の記号には、「>
」や 「>>
」、
タブがよく使われる。
受け取ったメールを、別の人に送ることを、 転送(forward) という。 多くのメール・リーダでは、手作業で転送できるようになっている。
複数のメール・アドレスがある人は、あるアドレスに届いた「全て」のメールを、 別のメール・アドレスの所に自動的に転送できる場合がある。
メールの数が増えてきたら
多くのメール・リーダは、長いアドレスや複数のアドレスを短い 別名(alias) で参照できるようになっている。 別名には、個人で付けるものの他に、システム全体で付けるものがある。
その他、授業の後半でやるファイル名、ディレクトリ名、プログラミングで必 要になる関数名、変数名についても同様。
From: Shiro Yagi <shiro@is.tsukuba.ac.jp>
To: s1012345@coins.tsukuba.ac.jp
Subject: Re: [coins-computer-literacy-a] Assignment-3, e-mail reply (2016012345)
Date: Mon, 26 Apr 2016 16:15:25 +0900
Message-Id: <201604251615.k0NEgPTw003900@azalea20.coins.tsukuba.ac.jp>
コンピュータ・リテラシTAの○○さん
こんにちは。コンピュータ・リテラシの授業を受けている白やぎです。
4月26日に出された課題の電子メールを提出します。
> この行と次の行だけを引用してください。返信には、このメールを
> 書いた日付と時刻を入れてください。
2016年4月26日 17:10です。
よろしくお願いします。
白やぎ
情報科学類の学生は、次のメールアドレスが使えるようになっている。
大学の授業に関連したメールは大学内の From: で出すこと。学外の From: で 届いたメールでは、差出人の確認ができないので、うかつに返事ができない。 (無関係の人に、成績や単位の話はできない。)
木構造(tree structure)というのは、コンピュータ・サイエン ス(情報科学類で学ぶ学問)でよく使われる用語。 階層構造(hierarchical structure)ともいう。
木構造の例を、大学の組織を使って説明する(図?)。
図? 大学組織に見られる木構造
図? 大学組織に見られる木構造(領域的な見方)
筑波大学
コンピュータの中で、文字列(文字の並び)で木構造上の位置を表現する時に は、節が分かりやすくために、はっきりと区切りを入れて表現することがよく 行われる。
区切り文字としては、「.」(点)、「/」(スラッシュ)、「\」(バック スラッシュ)、「¥」(円記号)などがよく使われる。単語を並べる時に、木 の根に近いほうから書く流儀と遠い方から書く流儀がある。
コンピュータでは、次のような場所で木構造が使われている。
コンピュータ以外では、次のような場所で木構造が使われている。
http://www.softlab.cs.tsukuba.ac.jp/~yas/gen/it-2015-11-30/
図? 本物の木
図? ファイルとディレクトリの木
ルート・ディレクトリの名前は、「/
」 (スラッシュ 1 文字)。
ルートディレクトリから出発する方法で表記するパス名を、 絶対パス名(absolute path name)
絶対パス名は、ルートディレクトリを表す「/」の後に、 たどった枝の名前を並べ、間に区切りとして「/」をはさむ。
例:「/usr/bin/wc
」
usr
」という枝に進む
bin
」という枝に進む
wc
」という枝に進む
カレント・ワーキング・ディレクトリを表示するには、pwd (print working directory) コマンドを使う。
$ pwd
/USA/California
$
表示されている「/USA/California
」が絶対パス名で表示されたカレント・ワー
キング・ディレクトリの名前。
カレント・ワーキング・ディレクトリを変更するには cd
(change directory) コマ
ンドを使う。
$ cd dirname
「ディレクトリ dirname
に行く」とも言う。
$ pwd
/USA/California
$ cd /USA/Florida
$ pwd
/USA/Florida
$ cd /USA/California/San-Francisco
$ pwd
/USA/California/San-Francisco
$
カレントワーキングディレクトリは、名前「.
」で参照できる。
lsコマンドは引数にディレクトリを指定すると、そのディレクトリの中にある
ファイルの一覧を表示するが、引数を与えないと、「.
」が与えられたものとし
て働く。
$ ls
Los-Angeles San-Francisco
$ pwd
/USA/California
$ ls /USA/California
Los-Angeles San-Francisco
$ ls .
Los-Angeles San-Francisco
$
カレントワーキングディレクトリを起点としたパス名を
相対パス名(relative path name)という。
「/USA/California
」の時、
「San-Francisco
」は「/USA/California/San-Francisco
」、
「San-Francisco/China-Town
」は「/USA/California/San-Francisco/China-Town
」を意味する。
..
」で参照可能。
../ディレクトリ名
」で参照可能。
cd コマンドに引数を与えないと、ホーム・ディレクトリにもどる。
多くのシェル(csh,tcsh,bash,zsh
)
やEmacsなどでは、
ホームディレクトリを「~
」で指定できる
(指定できないプログラムもある。)
「〜
」は、英語の端末(ASCII,後述)の形。
日本語(JIS,後述) では、「 ̄
」となることがある。
他人のホーム・ディレクトリは、「~ユーザ名
」で指定できるプログラムがある。
(指定できないもプログラムもある。)
「~xxx
」と「~/xxx
」のように
「~
」直後に「/
」の有無で意味が違う。
ls
, ls -l
, ls -ld
, ls -a
cat
cp
cd
、pwd
mkdir
, rmdir
mv
rm
ls
コマンドは、標準では、カレント・ワーキング・ディレクトリを意
味する「.
」や親ディレクトリを意味する「..
」を含めて、
「.
」から始まるファイル名を表示しない。-a
オプションを付
けると、「.
」から始まるファイル名も表示する。ホーム・ディレクト
リには、「.
」で始まるファイルがいくつか存在する。
$ ls
Desktop Library Music Public WinFiles
Documents Movies Pictures Sites public_html
$ ls -a
. .cshrc~ Movies
.. .emacs Music
.CFUserTextEncoding .emacs.d Pictures
.DS_Store .login Public
.Spotlight-V100 .profile Sites
.Xauthority .ssh WinFiles
.backupfiles2006 Desktop public_html
.bashrc Documents
.cshrc Library
$
ls
コマンドは、引数にディレクトリ名が与えられると、ディレクトリ
の内容を表示する。
$ ls -l ~/Maildir
total 113
drwx------ 2 yas prof 35840 4 18 11:00 cur
drwx------ 2 yas prof 17408 4 18 10:57 new
drwx------ 2 yas prof 1024 4 18 11:37 tmp
$
ディレクトリそのものを表示したい時(特に「-l
」と組み合わせて日付
等の属性を表示したい時)は、「-d
」オプションを付ける。
$ ls -ld ~/Maildir
drwx------ 20 yas prof 2048 4 18 10:57 /home/prof/yas/Maildir
$
$ cp file1 file2 dir
この場合、dir 以下に、(一番葉の部分だけ)同じ名前のファイルが作られる。
次の操作と概ね同じ動作をする。
$ cp file1 dir/file1
$ cp file2 dir/file2
ディレクトリを指定する時には、カレント・ワーキング・ディレクトリ 「.」 や ホーム・ディレクトリ「〜」も使える。
$ cp /etc/group .
$ cp /etc/group ~
$ cp ~yas/public_html/htdocs/coins/literacy-2016/2016-04-26/literacy-a100.txt .
ファイルを消すには、rm (remove) コマンドを用いる。
$ rm file1
このファイル file1 が削除される。
rm コマンドで消してしまったファイルは、普通2度と戻らない。 消す前に、本当に不要かどうかを確認すること。
コマンド名の置換え(alias)等て、rm を rm -i に変えることは、一般的には勧
められない。「rm -i y」という操作が、一連の操作として身に付い
てしまうので。
ファイル名を変更するには mv (move) コマンドを使う。
$ mv oldname newname
この結果、ファイルoldfileのファイル名をnewnameに変更される。
ここで、newname のファイルが存在した場合、元の newname は消されてしまう。
$ mkdir dirname
この結果、dirname
という名前のディレクトリが作らる。
mvコマンドは、ディレクトリの名前を変更するために使える。
$ mkdir dir1
$ ls
dir1
$ mv dir1 dir2
$ ls
dir2
$
$ mkdir ~/dir1
$ mv oldname ~/dir1/newname
この結果、カレント・ワーキング・ディレクトリにある
ファイルoldfileのファイル名は、
~/dir1/newnameに変更される。
次のように、ディレクトリだけを指定することもできる。
$ mv name ~/dir1/
この場合、次のものと同じになる。
$ mv name ~/dir1/name
また、変更先にディレクトリを指定する mv では、ファイル名は1個でなくて
も複数でもよい。
$ mv file1 file2 file3 ~/dir1
$ rmdir dirname
この結果、
ディレクトリdirnameが削除される。
空でないディレクトリは、rmdir コマンドでは 「Directory not empty」 というエラー・メッセージが表示され削除できない。 この場合は、子供のディレクトリやファイル を削除してからもう一度削除する。
No such file or directory
Permission denied
No space left on device
Disc quota exceeded
C-SPC
(Control + Space キー)または C-@
で設定する。
うまくいくと、ミニバッファに Mark set と表示される。
カーソルを動かしても移動しない。
次に新しいマークをセットするまで有効。
C-w
)
M-w
または Esc w)
indent-region
)
C-y
を
使う。
テキストの移動(カット&ペースト)の方法
C-SPC
、または、C-@
でマーク
C-w
でカット
C-y
でペースト
C-SPC
、または、C-@
でマーク
M-w
、または、Esc w
でコピー
C-y
でペースト
C-SPC
、または、C-@
でマーク
C-w
でカット
Emacs で何か編集して、保存しないで C-x C-c で終了しようとすると、次のように聞かれる。
Save file ファイル名? (y, n, !, ., q, C-r, d or C-h)
ここで y
と 1 文字打つ(リターン・キー不要)と、保存して終了してくれる。
保存したくない時には、 n
と1 文字打つ。
この時は、Emacs は次のように問い合わせてくる。
Modified buffers exist; exit anyway? (yes or no)
保存しないで終了したい時は、次のように「yes![[←]](../icons/screen-return.gif)
」と打つ。
Modified buffers exist; exit anyway? (yes or no) yes
Emacs には、1 つのファイルを複数の Emacs で編集しないようにするために、ロックの機能がある。 複数の Emacs で編集しようとしていることを検出すると、Emacs は次のような警告を発する。
ファイル名 locked by ユーザ名@コンピュータ名 (pid 番号): (s, q, p, ?)?
普通は、q
と答えて、編集しない。
s
では、ロックを (steal) して編集、
p
では、ロックはそのままで編集できるが、良い方法ではない。
1つのファイルを編集するのは、1つのプログラムだけにする、 Emacs を実行するのは、1 つの iTerm だけにすると、このような難しい問題は生じない。
実行と逆順に終了するのが良い。iTerm、シェル、emacs の順に実行した ら、emacs、シェル、iTerm の順に終了する。
$ emacs filename.txt
filename.txt
が存在しないならば、
新規作成として扱われる。
C-x C-s
で保存
C-x C-c
で終了
次の資料を参考にして, Thunderbird で電子メールを 読み書きできるように設定しなさい。
(本日の課題の回答に必要になる。)
(本日の課題の回答に必要になる。)
(本日の課題の回答に必要になる。)
2016/04/27 追加
ソースを表示した時に、日本語の部分がうまく表示されないことがある。
(クリックで拡大)
Thunderbirdによるメッセージのソースの表示(乱れた表示)
(クリックで拡大)
Thunderbird、メッセージのソースの設定(エンコーディング)の変更
(クリックで拡大)
Thunderbirdによるメッセージのソースの表示(正しい表示)
(本日の課題の回答に必要になる。)
(本日の課題の回答に必要になる。)
C-SPC
のキーをよく利用する。
しかし、Mac OS X ではこのキーは、Spotlight と呼ばれる検索機能で利用している。
Emacs で C-SPC
キーを使うために、Spotlight のキー操作を無効化しなさい。
無効化の方法は、練習問題 Spotlight のショートカット・キーの解除 を参考にしなさい。
C-SPC または C-@ | 領域(region)の先頭を決める(マーク) |
C-w | リージョン(領域)をカット |
ESC w | リージョン(領域)をコピー |
C-y | リージョン(領域)をペースト |
$ cp literacy-a2.txt literacy-emacs-cut.txt
$ emacs literacy-emacs-cut.txt
C-SPC
、または、C-@
キーを打ち、マークを設定する。
C-w
キーでカットする。
C-x C-s C-x C-c
で終了する。
https://www.coins.tsukuba.ac.jp/webmail/
にログインする。
$ cd ~
$ ls
$ ls -a
$ ls -l
$ ls -la
$ ls -d
$ ls -dl
$ ls -adl
$ cd ディレクトリ名
$ pwd
$ ls
$ ls -l
(1) 引数無しで cd コマンドを実行
$ cd /
$ pwd
$ ls
$ cd
$ pwd
$ ls
(2) cd コマンドに、「~
」を与える。
$ cd /
$ pwd
$ ls
$ cd ~
$ pwd
$ ls
(3) cd コマンドに、「~ログイン名
」を与える。
$ cd /
$ pwd
$ ls
$ cd ~ログイン名
$ pwd
$ ls
$ ls -l
ディレクトリの場合、左端が「d
」になっている。
(
ファイルの属性
参照
)
cd コマンドを使って、カレント・ワーキング・ディレクトリを
ホーム・ディレクトリの下のディレクトリに変更しなさ
い。以下は、Music
に変更した例である。
$ cd
$ pwd
$ ls
$ cd Music
$ pwd
$ ls
Music
も含めて次のようなディレクトリについても、類似の操作を行い
なさい。
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 の組み合わせ pwd カレント・ワーキング・ディレクトリの表示 cd dir カレント・ワーキング・ディレクトリの変更 cd ホーム・ディレクトリへ移動 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以下への移動) mkdir dir ディレクトリの作成 mkdir -p d1/d2/d3 ディレクトリの作成(親も自動的に作成) rmdir dir ディレクトリの削除(空のディレクトリの時) f1, f2, f3 はファイル名、dir, d1, d2, ... は、ディレクトリ名
IMAPサーバ上の名前 | Thunderbirdの表示 |
---|---|
Sent | 送信済みトレイ |
Drafts | 下書き |
Trash | ゴミ箱 |
Thunderbird と同じメールが表示されることを確認しなさい。Mew の % から始 まるフォルダと Thunderbird のフォルダとの対応関係を調べなさい。
@coins.tsukuba.ac.jp
」)、パスワード(ログイン)を打ち込む。
「作成」ボタンを押す。
violet-nwh.coins.tsukuba.ac.jp
」、
ユーザ名は、ログイン名、
パスワードとしては、ログインパスワードを打ち込む。
「作成」ボタンを押す。
violet-nwe.coins.tsukuba.ac.jp
」と打つ。
ユーザ名は、ログイン名、
パスワードとしては、ログインパスワードを打ち込む。
「作成」ボタンを押す。
「追加のアカウント情報が必要です」
と言われたら、「次へ」ボタンを押す。
https://wmail.u.tsukuba.ac.jp/
を開く
http://www.u.tsukuba.ac.jp/
を開き、
左側のメニューで「E-Mail」>「Webメール」と選択する。
なお、coins の環境では、UCB Mail コマンドでメールを受信(受け取ったメー ルの表示)をすることはできない。
~/Maildir/
の下に保存する。その様子を観察しなさい。
$ ls ~/Maildir/
$ ls -a ~/Maildir/
$ ls ~/Maildir/cur
$ ls ~/Maildir/new
$ ls ~/Maildir/tmp
$ cat ~/Maildir/cur/ファイル名
このようなディレクトリの形式を Maildir 形式や Maildir++ 形式という。
注意: ~/Maildir/
以下には、IMAP サーバが利用する重要なファイルも
ある。削除したり壊さないように、慎重に操作すること。
tree コマンドに -N オプションをつけると、ファイル名に漢字を含むものも表 示できる。
$ tree -N ディレクトリ名
注意: 表示が止まらなくなった時、強制終了したい時には、
Control キー + c キー
も使える。
lv による表示。後ろに「| lv」をつける。
終了するには、q
キーを打つ。
$ tree -N ディレクトリ名 | lv
<表示省略>
<空白キーで次のページを表示>
:q
$
iTerm にペーストする時に「?」が表示されるならば、次のように すれば (UTF-8ではなく) ASCII 文字を使うようになる。
$ LANG=C tree -N ディレクトリ名
tree コマンドの次のオプションの意味を ls と比較しなさい。
cp ~yas/public_html/htdocs/coins/literacy-2016/2016-04-26/literacy-a3.txt .注意: このコピーは、1度だけ行うこと。2度以上行うと、それまでに行った編 集内容は失われる。
$ ls
(literacy-a3.txtが存在することを確認する)
$ emacs literacy-a3.txt
作成したファイルを、 レポート提出ページから提出しなさい。