2010年05月07日
情報科学類 コンピュータリテラシ
筑波大学 システム情報工学研究科
コンピュータサイエンス専攻, 電子・情報工学系
新城 靖
<yas@is.tsukuba.ac.jp>
このページは、次の URL にあります。
http://www.coins.tsukuba.ac.jp/~yas/coins/literacy-2010/2010-05-07
あるいは、次のページから手繰っていくこともできます。
http://www.coins.tsukuba.ac.jp/~yas/
http://www.cs.tsukuba.ac.jp/~yas/
木構造(tree structure)というのは、コンピュータ・サイエン ス(情報科学類で学ぶ学問)でよく使われる用語。 階層構造(hierarchical structure)ともいう。
木構造の例を、大学の組織を使って説明する(図1)。
筑波大学
コンピュータの中で、文字列(文字の並び)で木構造上の位置を表現する時に は、節が分かりやすくために、はっきりと区切りを入れて表現することがよく 行われる。
区切り文字としては、「.」(点)、「/」(スラッシュ)、「\」(バック スラッシュ)、「¥」(円記号)などがよく使われる。単語を並べる時に、木 の根に近いほうから書く流儀と遠い方から書く流儀がある。
コンピュータでは、次のような場所で木構造が使われている。
コンピュータ以外では、次のような場所で木構造が使われている。
http://www.softlab.cs.tsukuba.ac.jp/~yas/gen/it-2009-09-24/
ルート・ディレクトリの名前は、「/」 (スラッシュ 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 コマンドは、標準では、カレント・ワーキング・ディレクトリを意
味する「.」や親ディレクトリを意味する「..」を含めて、
「.」から始まるファイル名を表示しない。-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
$
$ cp file1 file2 dir
この場合、dir 以下に、(一番葉の部分だけ)同じ名前のファイルが作られる。
次の操作と概ね同じ動作をする。
$ cp file1 dir/file1
$ cp file2 dir/file2
ディレクトリを指定する時には、カレント・ワーキング・ディレクトリ 「.」 や ホーム・ディレクトリ「〜」も使える。
$ cp /etc/group .
$ cp /etc/group ~
$ mkdir dirname
この結果、dirnameという名前のディレクトリが作らる。
$ ls dirname
この結果、ディレクトリdirnameの中(下)にあるファイルと
ディレクトリの名前が表示される。
mvコマンドは、ディレクトリの名前を変更するために使える。
$ mkdir dir1
$ ls
dir1
$ mv dir1 dir2
$ ls
dir2
$
$ rmdir dirname
この結果、
ディレクトリdirnameが削除される。
空でないディレクトリは、rmdir()コマンドでは 「Directory not empty,directorynotempty」 というエラー・メッセージが表示され削除できない。 この場合は、子供のディレクトリやファイル を削除してからもう一度削除する。
両面印刷(duplex)を行うこともできる。1枚に複数ページ(n-up)を印刷するこ とができる。
1ヶ月に200枚まで印刷できる。
EPS (Encapsulated PostScript) 形式は、PostScript に描画領域などの 情報を付加したもの。
PostSctip 形式のファイルは、テキストなので、テキスト・エディタで表示で きる。人間が手で書くこともできる。
プリンタのキューを操作するコマンドと環境変数
PRINTER 、または、LPDEST:
キューの名前。
| モード | 拡張子 |
|---|---|
| text-mode | .txt, .text |
| c-mode | .c, .h |
| lisp-interaction-mode | .el |
| fundamental-mode | なし |
;; This buffer is for notes you don't want to save, and for Lisp evaluation. ;; If you want to create a file, visit that file with C-x C-f, ;; then enter the text in that file's own buffer. -EEE:---F1 *scratch* All L5 (Lisp Interaction)-------------日本語訳:
;; このバッファは、保存する必要がない注意事項表示とLisp 評価のためのバッファです。 ;; もしファイルを作成したいなら、C-x C-f を使ってファイルを開きなさい。 ;; そして、ファイルのバッファへテキストを打ち込みなさい。 -EEE:---F1 *scratch* All L5 (Lisp Interaction)-------------このような表示がなされたら、画面の指示に従い、
C-x C-f でファイル
を開くこと。
$ cd ディレクトリ名
$ pwd
$ ls
$ ls -l
(1) 引数無しで cd コマンドを実行
$ cd /
$ pwd
$ cd
$ pwd
(2) cd コマンドに、「~」を与える。
$ cd /
$ pwd
$ cd ~
$ pwd
(3) cd コマンドに、「~ログイン名」を与える。
$ cd /
$ pwd
$ cd ~ログイン名
$ pwd
(4) cd コマンドに、環境変数「HOME」を与える。
$ cd /
$ pwd
$ cd $HOME
$ pwd
$ ls -l
ディレクトリの場合、左端が「d」になっている。
(
ファイルの属性
参照
)
cd コマンドを使って、カレント・ワーキング・ディレクトリを
ホーム・ディレクトリの下のディレクトリに変更しなさ
い。以下は、Movies に変更した例である。
$ cd
$ pwd
$ ls
$ cd Movies
$ pwd
$ ls
Movies 以外の2〜3のディレクトリについても、類似の操作を行いな
さい。
$ cd
$ ls
$ ls -a
$ ls -l
$ ls -la
tree コマンドに -N オプションをつけると、ファイル名に漢字を含むものも表 示できる。
$ tree -N ディレクトリ名
さらに、nkf を使えば、ファイル名を EUC で表示できる。
$ tree -N ディレクトリ名 | nkf -e
nkf コマンドの代わりに lv コマンドを使う方法もある。
(lv コマンドの終了は、q)
$ tree -N ディレクトリ名 | lv
tree コマンドの次のオプションの意味を ls と比較しなさい。
「プレビュー」のボタンが表示されない時には、「PDF」を試しなさい。そのボ タンを押すと開かれるメニューの中で、「プレビューで PDF を開く」という項 目を選びなさい。
(クリックで拡大)
$ pushd ディレクトリ名
$ pushd ディレクトリ名
$ pushd ディレクトリ名
$ ls ~1
$ ls ~2
$ ls ~3
.ps」を使いなさい。
$ a2ps --help
$ a2ps -o file.ps file.txt
詳しくは、man a2ps を見なさい。
注意: a2ps コマンドは、日本語を扱うことはできない。日本語は、a2ps-j を 使いなさい。PostScript ファイルを作る時には、必ず -o オプションを使うこ と。-o オプションを付けないと、そのままプリンタに送られてしまう。
$ a2ps-j -help
$ a2ps-j file.txt > file.ps
注意: -o オプションは使えない。
^D(Control + D))
「プリンタとファックス」を選びなさい。どのようなプリンタが表示されるか 調べなさい。「デフォルト」というマークがついているプリンタは何か調べな さい。その結果と lpq, lpstat -d の結果と比較しなさい。
方法(1)
C-l (control + L) キーを押す。
C-x b (control + x に続いて小文字の b) キーを押す。
Switch to buffer (default *scratch*):」に対して、
リターンキーを打つ。
*scratch* All L行番号 (Lisp Interaction) ----
「*scratch*」 バッファで、次のようなキー操作を行ってみなさい。
;; This buffer is for notes you don't want to save, and for Lisp evaluation.
;; If you want to create a file, visit that file with C-x C-f,
;; then enter the text in that file's own buffer.
(+ 1 2 3)^J
(- 100 10)^J
(* 100 10)^J
(/ 5 2)^J
(/ 5.0 2)^J
emacs-major-version^J
(getenv "HOME")
注意: 行末の括弧の右の^Jは、Control + J の意味。
M-x describe-mode で、
モードの説明を表示しなさい。M-x describe-bindings で、どのような
キー操作があるか調べなさい。
以下の問題について、問題、および、回答をテキスト・ファイルに記述し、 レポート提出ページから提出しなさい。 端末の表示(コマンドの実行結果)は、コピー&ペースト等の機能を使って提出 するファイルに含めなさい。
(1) 「cd コマンド」、および、シェルのファイル名置換機能を使って /usr/bin にある次のようなファイルをすべて表示しなさい。結果は、ls また は echo コマンドで表示し、コマンドラインを含めてその結果をレポートに含 めなさい。ls、または、echo コマンドには、必ず相対パス名を指定しなさい。
(2) 次のようなディレクトリとファイルを作成しなさい。
..」という表記を使っ
ても使わなくてもよい。)
$ ls -lR dir1
total 16
drwxr-xr-x 2 yas prof 4096 5 6 16:11 dir2
drwxr-xr-x 2 yas prof 4096 5 6 16:12 dir3
dir1/dir2:
dir1/dir3:
total 1
-rw-r--r-- 1 yas prof 6 5 6 16:12 file4
$ tree dir1
dir1
|-- dir2
`-- dir3
`-- file4
2 directories, 1 file
$
(3) 次のような PDF ファイルを作成しなさい。
作成したら、TA に示して確認番号をもらいなさい。
(4) The Unix Super Text の次の部分を読みなさい。
(5) [加点] The Unix Super Text 上巻「11.10節 ディレクトリスタック」を読
み、ディレクトリ・スタックの機能を利用しなさい。そのことを採点者がわか
るように、端末の表示(コマンドの実行結果)や history コマンドの結果を示し
なさい。ただし、11.10節では、シェルとして tcsh が使われている。coins の
標準のシェルは、bash である。bash と tcsh では、dirs, pushd, popd コマ
ンドの使い方は共通であるが、ディレクトリスタックの上から num 番目を参照
する機能が異なる。tcsh で=num の所、bash では
~num になる。
(6) [加点] テキスト・ファイルから PostScript ファイルを作成しなさい。 ls -l で 元のテキスト・ファイルと PostScript ファイルの大きさを示しなさ い。head コマンド、または、テキスト・エディタ等を使って元のテキスト・ファ イルと PostScript ファイルの先頭の 10 行程度をレポートに含めなさい。 PostScript ファイルを、gvコマンド等を用いて画面に表示しなさい。 PostScript ファイルを、シェルのコマンドでプリンタのキューに入れ、印刷し なさい。以上の一連の作業を、採点者がわかるように、端末の表示(コマンドの 実行結果)や history コマンドの結果を示しなさい。