ターミナルによる文字コードの調査

目標

様々な文字コード体系において、自分の名前の文字が、どのようなサイズや数値で表現されているかを調査する。
追加課題として、IPによるネットワーク通信について調査する。

ターミナル使用のために身につけておきたいスキル

基本的な用語と使用するコマンド

用語集
ディレクトリ フォルダの別の呼び方
カレント・ワーキング・ディレクトリ ターミナルで現在居るディレクトリ
コマンド ターミナルで打ち込む命令文(英数字の文字列)
オプション コマンドの動作を変化させる添字(通例ハイフン(-)付き英数字)
ls 現在の場所のファイルを表示するコマンド
ls -l オプションを付けてファイルの詳細情報を表示
mkdir 「フォルダ名」 指定した名前のフォルダ(ディレクトリ)を作成
cd 「フォルダ名」 指定した名前のフォルダに移動
cd .. 一つ上のフォルダに移動
cd ホームディレクトリ(ターミナルを起動した時のフォルダ)に戻る
pwd 現在の居場所(カレント・ワーキング・ディレクトリ)を表示
hexdump -d 指定したファイルを10進数表示
hexdump -x 指定したファイルを16進数表示
「control」キー+「c」キー プログラムの強制終了

練習(0): ターミナルの起動とフォルダの内容表示

  1. ターミナルの起動(以下「$ ls」等はターミナル上で「ls」と入力しReturnキーを押すことを示す)
  2. $ ls (ホームフォルダ(ターミナル起動時に自動的に移動するフォルダ)内のファイルとフォルダのリストを出力)
  3. $ pwd (現在自分の居るフォルダを表示)
  4. $ cd Desktop (デスクトップフォルダに移動)
  5. $ pwd (現在自分の居るフォルダを表示)
  6. $ ls (デスクトップフォルダの内容の表示、見えているものと一致することを確認)
  7. $ ls -l (デスクトップフォルダの内容の詳細表示)

練習(1): フォルダの作成とコマンドによる移動

  1. $ mkdir test (「test」という名前のフォルダをデスクトップフォルダに作成)
  2. $ ls (コマンドでも「test」フォルダが作成されていることを確認)
  3. $ cd test (「test」フォルダに移動)
  4. $ pwd (自分の位置を確認)
  5. $ cd .. (一つ上のフォルダ(この場合はデスクトップ)に移動)
  6. $ pwd (自分の位置を確認)
  7. $ cd test (「test」に戻る)
  8. $ cd (ホームディレクトリ(ターミナル起動時の位置)に戻る)
  9. $ pwd (自分の位置を確認)
  10. 実習: 自分でcdコマンドを利用し、今までの課題で作成したフォルダに移動してみること
  11. 実習: 最後にまた「test」フォルダに戻ること
ヒント: 同じコマンドを表示したい時は、上矢印↑キーを押す

練習(2): 他のアプリケーションによるファイルの作成とコマンドによる内容確認

  1. 日本語エディタmiを起動し、自分の名前のどれか1文字を入力
    ヒント: miの字が小さい場合は、メニューの「ドキュメント」→「サイズ」で変更可能
  2. 文字コードを「UTF-8」に指定(メニューの「ドキュメント」→「テキストエンコーディング」を利用 参考)
  3. デスクトップ内の「test」を保存先に指定し、「utf.txt」というファイル名で保存 参考
  4. $ ls (現在のフォルダに「utf.txt」が作成されていることを確認)
    ヒント: ファイルが見つからない時は、pwdにより、適切な場所に居るかを確認する
  5. $ ls -l utf.txt (ファイルのサイズ等の詳細情報の表示)
    ヒント: 「ls -l」の表示結果で、左から5番目の数字がファイルサイズ 参考
  6. $ hexdump -d utf.txt (ファイル内の文字のコードを10進数表示)
  7. $ hexdump -x utf.txt (ファイル内の文字のコードを16進数表示)

実習課題: ターミナルによるファイルサイズと文字コードの調査

  1. report9.txtをダウンロードして順番に穴埋めすること
  2. mi を利用して、名前の1文字を、以下の4種類の文字コードでそれぞれのファイル名で保存
  3. $ ls -l を利用してファイルサイズをまとめて表示し、report9.txtに記入
  4. $ hexdump -d utf.txt 等を利用して10進数表示の部分を記入
  5. $ hexdump -x utf.txt 等を利用して16進数表示の部分を記入
    注意: 表示の最初と最後の「0000000」「0000003」等は省略してよい
    ヒント: ターミナルの出力もドラッグ・右クリックによりコピーとペーストができる

追加課題: IPアドレスとネットワーク伝送経路の調査

時間に余裕がある場合に上から順番に取り組むこと
回答はreport9.txtの末尾に追加して記述していくこと

追加課題A: 基礎調査

  1. 使用しているコンピュータの名前とIPアドレスを調査して、レポートに記載すること
  2. lecture.ecc.u-tokyo.ac.jpのIPアドレスを調査して記載すること
  3. 「whois」コマンドでlecture.ecc.u-tokyo.ac.jpの属しているネットワークの情報を調査し、出力結果をレポートに記載すること(結果が長くても、全部コピーして貼り付けてよい)
  4. 「traceroute」コマンドにより、lecture.ecc.u-tokyo.ac.jpまでの経路情報を調査し、出力結果をレポートにペーストすること

追加課題B: 国内通信の経路調査

  1. 東京大学のページ(www.u-tokyo.ac.jp)への通信経路を調査し、出力結果をレポートにペーストすること
  2. 経路上の各サーバが設置されている国を推定し「日本→日本→不明→日本...」のように、国に整理された経路をレポートに記載すること

追加課題C: 国際通信の経路調査

  1. パリ観光局のページ(ja.parisinfo.com)への通信経路を調査し、レポートにペーストすること
  2. 経路上の各サーバが設置されている国を推定し、経路を「日本→日本→...→フランス」のように記載すること
  3. フランス観光局のページ(jp.france.fr)への通信経路を調査し、サーバ設置国の経路を記載すること
  4. 上記二つの経路の差が何によって生じているのか、その原因を考察すること(回答は自由記述でよいが、分かりやすく整理すること)