質問集(FAQ)

〜 あれが知りたい、これが知りたい〜

このページでは非常に基本的なことを多少の誤解や不正確さを 覚悟の上で質問形式で説明したものです。 より高度な疑問については最後の部分にある 東大理学部物理学科へのリンクなどを見て下さい。:-)


基本用語 どうすればいいの



基本用語の説明

--------------------------------------------------------------
Unix とは
--------------------------------------------------------------
オペレーティングシステム(OS)の一つ。

--------------------------------------------------------------
ファイルとは
--------------------------------------------------------------
コンピュータに指示やデータを与えたりするのに使われる情報。 通常はハードディスクと言われる磁気媒体に保存されます。 ファイルには名前があってファイル名といいます。 UNIX では、テキストファイルとバイナリファイルの区別はありませんが、 中身を見た時人が見て理解できるファイルとできないファイルがあります。 便宜上、前者をテキストファイル、後者をバイナリファイルと呼ぶことにします。 各ファイルには実行可能、読みだし可能、書き込み可能などの保護属性 がついています。

--------------------------------------------------------------
エディタとは
--------------------------------------------------------------
ファイル(通常はテキストファイル)を作成、編集するために用います。 よく使われているのは Vi と Emacs で、 日本語が使用できるものとして jvim, Nemacs、Mule などがあります。

--------------------------------------------------------------
Mule (Emacs)
--------------------------------------------------------------
エディタ Emacs の多国語対応版(と日本語対応版)です (MULti-lingual Emacs/Nihongo Emacs)。 旧来 Nemacs が使われてきましたが Nemacs はすでに開発側のサポートが終っているのでこれからは Muleを使うようになっていくでしょう。 Muleの簡単な使い方はチュートリアル (C-h T japanese) で見ることができます。

--------------------------------------------------------------
vi
--------------------------------------------------------------
Vi は日本語に対応していません。日本語に対応した Vi も ありますが別途 Fep を用意する必要があります。 Vi の使い方については本を見て下さい。 基本的な使い方だけ書いておきます。
i         挿入モード
a         追加モード
ESC       コマンドモードに戻る
:wq       保存して終了
:q!       強制終了
h j k l   カーソルを左、下、上、右に移動する

--------------------------------------------------------------
コマンドラインとは
--------------------------------------------------------------
シェルが入力を待っている状態の入力行のこと。 コマンドラインであることを表すのに "$" というプロンプトを この質問集では使います。

--------------------------------------------------------------
シェルとは
--------------------------------------------------------------
unixなどのOSは、 非常に基本的な入出力を 担当するので実際に人がキーボードから情報を入力するときの インターフェイスの一つとして使われます。 もっとも標準的なシェルは sh という実行可能ファイルですが、 一般には bash, csh, tcsh, zsh などが使われています。 これらは高機能シェルと言われ、様々な入力の手助けをしてくれる。 あなたがどのシェルを使っているかは、
$ finger your_user_name
を実行すれば表示されるでしょう。(項目 Shell:

--------------------------------------------------------------
ディレクトリとは
--------------------------------------------------------------
ファイルの種類の一つ。この属性を持つファイルもまた単にディレクトリ または、ディレクトリファイルと呼び、 単にファイルというときはディレクトリと区別して用いることが多い。 unix ではファイルを階層構造によって管理します。 そのための部屋の役割をディレクトリファイルが担うわけで ディレクトリの中にファイルがあることをそのディレクトリの下に あると普通表現します。 部屋の中に小部屋があるようにディレクトリの下にもまた ディレクトリが多重に存在しえます。あるディレクトリの 下のディレクトリをサブディレクトリ、逆に上のディレクトリ (これは unique)を親ディレクトリと呼び .. で表します。もっとも上の ディレクトリをルートディレクトリと呼び、/ で表します。 (ディレクトリのなす階層構造はしばしば上下逆にして、木に 例えられ、その根っこに当たるためそう呼ばれます。)

ディレクトリの区切りには /が使われます。 (例: /home/hanako/abc = ルートの下の home の下の hanako の下にある abc というディレクトリかファイル。 abc/ と書くときはディレクトリです。)

ディレクトリの指定方法には相対指定と絶対指定があります。 ルート / で始まる指定方法が絶対指定、 それ以外が相対指定です。具体例で見てみましょう。

今、あなたのユーザ名が hanako で /home/hanako があなたの ホームディレクトリであるとします。そして、 ディレクトリが以下のように存在するとします。

/home/hanako/data/
/home/hanako/data/math/
/home/hakako/data/mail/
/home/hanako/private/
/home/hanako/pub/
カレントディレクトリがプロンプトに表示されている状態で例を示します。 (~/data$ はカレントディレクトリが ~/data であることを表す。)
~$ cd data
~/data$ cd ..
~$ cd data/math
~/data/math$ cd /
/$ cd /home/hanako
/home/hanako$ cd
~$ cd private
~/private$ cd ../data/mail
~/data/mail$ cd /home/hanako/
問題:上の例で カレントディレクトリが ~/data/mail のとき、 /home/hanako/pub を絶対指定と相対指定で表せ。


--------------------------------------------------------------
カレントディレクトリ/ホームディレクトリとは
--------------------------------------------------------------
カレントディレクトリとは今自分のいるディレクトリのこと。 ls を実行した時に見れるファイルはカレントディレクトリの ファイルです。

ホームディレクトリはログインした直後のカレントディレクトリ であり、あなたが読み書きを自由に使うことのできるディレクトリ です。通常 ~ で代用することができ、また、 表示も ~ が使われます。 また、cd を引数なしで実行するとホームディレクトリに 移動します。


--------------------------------------------------------------
インターネットとは
--------------------------------------------------------------
インターネットとは、大学の研究室や会社などのローカルな つながり(LAN)をデジタル専用回線などを使って 相互に接続したネットワークを、さらに世界的に接続して 形成された広域的なネットワークのこと。より詳しい説明は ここ をクリックして下さい。

--------------------------------------------------------------
TeX とは
--------------------------------------------------------------
TeX とは、Knuth 氏が開発した文書整形プログラムの一種で \で始まるコマンドなどを含む文書ファイル (TeXファイルと呼ぶ)をコンパイル することで dviファイルといわれるものに 変換し、画面やプリンターなどのデバイスに出力するというものです。 コンパイルするプログラムを TeX コンパイラまたは単に TeX といい、コンパイルすることを TeX にかけるということもあります。 また、画面に表示することを プレビュー(preview)する、などと いいます。dvi ファイルをデバイスに出力する プログラムをdviドライバといいます。

--------------------------------------------------------------
スクリプトとは
--------------------------------------------------------------
通常実行可能なファイルは人が読んでも理解できないファイルだが 読んでわかるファイルで実行可能なファイルがあります。 そのようなファイルのこと。フィルターとして使える言語 (awk, perl, sed など) のプログラムのことを指すこともあります。

--------------------------------------------------------------
リソースとは
--------------------------------------------------------------
ls -a コマンドを使うと、ファイル名の最初に "." がつく ファイルが存在することに気づきます。これらは、 シェルXエディタの動作を設定するファイルです。 これらのファイルまたはその設定をいいます。

--------------------------------------------------------------
X ウィンドウとは
--------------------------------------------------------------
本来 unix はグラフィックの 表示などはなく、作業はすべて端末からのコマンド入力のみでした。 グラフィックを使って様々なウィンドウを一つの画面に開いたり、 マウスを使って作業を行なったりすることができるように 考えられたものがX(ウィンドウ)です。あなたがこの 画面を unix の mosaic を使って見ているのならば、その環境が X です。

--------------------------------------------------------------
ニュースとは
--------------------------------------------------------------
ニュースとは、様々な話題に関して、日本もしくは世界から の投稿をグループ分けして公開しているものです。 基本的なニュースの読み方については ここをクリックして下さい。

--------------------------------------------------------------
ドメイン名
--------------------------------------------------------------
あなたの e-mail address がたとえば hanako@kusm.kyoto-u.ac.jp だったとします。この場合 @から後ろの kusm.kyoto-u..ac.jpのことです。

--------------------------------------------------------------
ワイルドカード
--------------------------------------------------------------
abc.jpg と abc.dvi というファイルがあったとします。 これを消すには
$ rm abc.jpg abc.dvi
ですが、もっと簡単に
$ rm abc.*
とすることができます。ただし、abc.xyz のようなファイルも 消されてしまいますので注意して下さい。あるいは .dvi ファイルを全部消したいときは
$ rm *.dvi
というようにすると一度に消せます。また、abc.1, xyz.s のように . と一文字が最後にあるファイル名だけを一覧したいときは
$ ls *.?
とすればできます。 このように * や ? をつかったファイルの表現をワイルドカード といいます。* は任意の文字列にマッチし、? は任意の一文字に マッチします。rm で使う時はまず ls などで確認してから 使うようにしましょう。



どうすればいいのか

--------------------------------------------------------------
ファイルを作りたい、編集したい
--------------------------------------------------------------
ここではファイルを作成、編集するのに MULEを使う場合を 想定します。基本的に MULEの起動の仕方だけで 詳しい使い方はその使い方の見方だけをここでは書くことにします。 その他のエディタを使う場合もそのエディタの マニュアルまたはヘルプを見て下さい。

以下、次の表記法を使います。

   C-x      は、コントロールキーを押しながら x を入力することです。
   C-x C-c  は、"C-x" に続けて "C-c" を入力することです。
   C-x abc  は、"C-x" に続けて "abc" を入力することです。
まず、コマンドラインから
$ mule
と入力します。そうすると、GNU Emacs 19.xx.x of ... というような行で始まる画面が見れると思います。 ここで、C-h T japanese と入力します。 そうすれば、チュートリアルをみることができます。 まずはこのチュートリアルを読んで言われた通りの練習をしましょう。 とりあえず、Mule/XEmacs の終了方法などを書いておきます。 終了方法は C-x C-c で、また、間違った時などは C-g で中止できます。とにかく、おかしいと思ったら、 まず C-gです。 なお、初心者のよくやる間違いとして *scratch* バッファで編集してそのまま、C-x C-c してしまうことが あります。*scratch* バッファはセーブの 対象になりませんのでくれぐれも注意して下さい。
新たにファイルを作成する時も、変更する時もファイルの読み込み 
C-x C-f をまず実行する。
を忘れないようにしましょう。そして、編集中は 頻繁にC-x C-s を実行する癖をつけておきましょう。 (*....* というバッファの時は ファイル名を聞いてきます。) C-x C-cしてしまったら、 もうはや、C-g は効きません。

--------------------------------------------------------------
ファイルを消すには
--------------------------------------------------------------
ファイルを削除したいときは rm を使います。 ファイル obsolete.tex を消したいときは
$ rm obsolete.tex
とします。また、空でないディレクトリをまるごと消すこともできます。
$ rm -rf directory
とすることで ディレクトリ directory は削除できます。

--------------------------------------------------------------
ファイルを見るには
--------------------------------------------------------------
ファイルの中身を確認したい時がしばしばあります。 ファイルの中身を見るコマンドには cat , more , less , head , tail などがあります。 ファイルの全体を見たい時は コマンドライン から
$ cat filename
や、
$ more filename
または
$ less filename
でみることができます。 cat は短いファイルの時などを見る時には 十分ですが、通常は画面がながれてしまい、前の方を 見ることができません。そのためふつう moreless を使います。 lessの終了は qを押すことでできます。終了した時 X の環境ではファイルの中身の表示がクリアされてしまいますが、 X にはコピー/ペーストの機能がありますし、複数のターミナルを 開くこともできますから問題ないでしょう。また、 lessの方が自動的に漢字コードを変換してくれたり 検索したりと高機能なので lessを 使うのを勧めます。 また、ファイルの先頭だけを見たい時は head、 末尾だけを見たい時は tail を使います。
$ head -20 filename
filename のファイルの先頭 20行を 見ることができます。

--------------------------------------------------------------
バッチ処理をしたい
--------------------------------------------------------------
バッチ処理(自動処理)をしたい場合には、シェルスクリプト と呼ばれるものを使います。これについては、 ここ をクリックして下さい。

--------------------------------------------------------------
メイルを送るには
--------------------------------------------------------------
ここをクリックして下さい。

--------------------------------------------------------------
メイルを読むには
--------------------------------------------------------------
ここをクリックして下さい。

--------------------------------------------------------------
ニュースを読むには
--------------------------------------------------------------
ニュースを読むには コマンドラインから mnews, trn, gnなどとうつことで読めます。 それぞれの使い方は マニュアルを見て下さい。 また、Emacs からは [ESC] x gnus とすることで読むことができます。他に gn などのコマンドもあります。

--------------------------------------------------------------
マニュアルを見るには
--------------------------------------------------------------
コマンドライン から
$ man command-name
をうって下さい。ただし、command-name はマニュアルを見たい コマンドの名前です。 日本語のマニュアルを見ることのできる WWW のサービスもあります。

--------------------------------------------------------------
ファイル名を確認したい
--------------------------------------------------------------
コマンドライン から
$ ls
をうって下さい。もっと詳しい情報を見たい時は -al オプションをつけて下さい。

--------------------------------------------------------------
ファイルの整理とディレクトリの作成
--------------------------------------------------------------
ファイルはいろいろ作っていくと膨大な数になることが あります。そんな時はディレクトリを作って部屋割のような ことをしましょう。例えばディレクトリ data を作るには、mkdir dataを実行します。 ファイルをディレクトリの下に入れるには mv コマンドを使用します。 例えば、ホームディレクトリの abc.tex, abc.log, abc.dvi を ディレクトリ abcに移動するには
$ mv abc.tex abc.log abc.dvi abc/
とします。最後の abc/abc でも 構いません。

--------------------------------------------------------------
ディレクトリを変更する
--------------------------------------------------------------
カレントディレクトリ を変更するには次のようにします。
$ cd ~/abc
これであなたのカレントディレクトリは ~/abcになりました。カレントディレクトリが 何かを確認するのはpwd コマンドです。


東大理学部物理学科へのリンク






yositomi@kusm.kyoto-u.ac.jp