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 コマンドの結果を示しなさい。