From DOS to Linux HOWTO By Guido Gonzato v1.0, 11 December 1996 こじまみつひろ この HOWTO は、DOS から 386 以上のコンピュータ用のフリー Unix クローン である Linux に乗り替えようと決心した全てのユーザのために書かれまし た。この文書の目的は、DOS と Unix の間の類似性を紹介して、DOS ユーザが 持っている知識を Linux 環境で応用できるようになり、すみやかに Linux 上 で仕事ができるようにすることです。 ______________________________________________________________________ 目次 1. 前置き 1.1 Linux はあなたに適していますか? 1.2 次は何? 1.3 短気な人のために 2. ファイルとプログラム 2.1 ファイルとは: 簡単な紹介 2.2 シンボリック・リンク 2.3 ファイルの許可属性と所有者 2.4 DOS から Linux へのコマンドの翻訳 2.5 プログラムの起動: マルチタスクとセッション 2.6 離れた場所にあるコンピュータ(リモートコンピュータ)でプログラムを実行する 3. ディレクトリの使い方 3.1 ディレクトリとは: 簡単な紹介 3.2 ディレクトリの許可属性 3.3 ディレクトリ処理コマンドの DOS と Linux の対応 4. フロッピーやハードディスクなどの扱い 4.1 デバイス管理 4.2 バックアップ 5. システムの調整 5.1 各種初期設定用ファイル 5.2 各種プログラム用初期設定ファイル 6. 簡単なプログラミング 6.1 シェルスクリプト: 強化された .BAT ファイル 6.2 C でのプログラム 7. 残りの 1 % 7.1 仮想メモリの作り方 7.2 tar & と gzip の使い方 7.3 アプリケーションのインストール 7.4 必須のテクニック 7.5 役に立つプログラムとコマンド 7.6 一般的な拡張子の付け方と関係するプログラム 8. とりあえずおしまい 8.1 著作権表示(Copyright) 8.2 責任の放棄 ______________________________________________________________________ 1. 前置き 1.1. Linux はあなたに適していますか? DOS から Linux へ乗り替えたいのですか?それはいい考えです。でも、注意し てください。Linux はあなたの役に立たないかも知れません。卑見では、「最 良のコンピュータ」や「最良のオペレーティングシステム」などは存在しませ ん: それらは使う人が何をしたいかに依存します。ですから、私は Linux が 万人にとっての最善の解だとは思っていません。例え Linux が数々の商用の OS よりも技術的に優れていたとしても、です。もしあなたの必要とするもの がプログラミングやインターネット、TeX といった技術的なソフトウェアなら ば、Linux はきわめて役に立つことでしょう。しかし、主に使うものが、市販 のアプリケーションソフトだったり、コマンドを憶えたりタイプするのが面倒 だと感じるならば、何か別のものを探した方がいいでしょう。 Linux は(少なくとも現時点では) Windows や Mac ほどには設定が簡単には なっていませんので、入門の際に多少の苦労は伴います。いくつか注意もして きましたが、もしあなたが「正しい」タイプのユーザならば、Linux の世界が コンピュータの楽園のように感じられるでしょう。それは 100%保証できま す。Linux が役に立つかどうかはあなた次第です。それに、Linux は DOS/Windows と同じマシンに共存できることもお忘れなく。 この HOWTO の前提条件として、 o 基本的な DOS のコマンドと概念を理解していること o Linux と可能ならば X ウィンドウシステムが適切に PC にインストールさ れていること。日本語を使いたいならば、JE がインストールされているこ と。 o シェル ---DOS のCOMMAND.COMの同等品---がbash であること。 o このガイドが不完全な入門書であることを理解していること。より詳しく は Matt Welsh の ``Linux Installation and Getting Started'' と/ある いは Larry Greenfield の ``Linux User Guide'' (ftp://sunsite.unc.edu:/pub/Linux/docs/LDP/) を御覧ください。 この howto は ``From DOS to Linux - Quick!'' mini-howto に置き替るもの です。 1.2. 次は何? Linux と必要なプログラムを PC にインストール済とします。自分用のアカウ ントがあり(もし無ければ、今すぐ adduser して作ってください)、 Linux は 起動しています。あなたのログイン名とパスワードを入力しました。そして、 スクリーンをみながら考えています: 「さて、、どうしよう?」 落胆する必要はありません。現在、あなたは DOS でしていたことと同じこと やさらにもっと色々なことができるようになりつつあるのです。Linux の代り に DOS を使っていれば、次のような作業をしていることでしょう。 o プログラムを動かして、ファイルを作ったり、コピーしたり、閲覧した り、削除したり、印刷したり、名前を変えたり、、など。 o ディレクトリを移動(CD)したり、作成したり(MD)、消去したり(RD)、リス トを取ったり(DIR)、、など。 o フロッピーをフォーマットして、ファイルをフロッピーとやりとりする。 o AUTOEXEC.BAT やCONFIG.SYS を修正する。 o 専用のバッチファイル(.BAT ファイル)を作ったり、QBasic でプログラム したりする。 o その他、1% ほどの仕事をする。 これらの仕事は Linux でも DOS 同様の方法で行うことが可能です。平均的な ユーザは 100 個以上ある DOS のコマンドのほんの一部しか使っていません: 同じことは Linux についても言えます。 先に進む前に少しだけチェックしておきましょう。 o まず最初に終了の仕方を説明します。テキストモードの画面にいれば CTRL-ALT-DEL を同時に押し、システムが内部処理を終えて、「準備が整っ たよ」というメッセージを出すまで待ってから PC の電源を切ります。X ウィンドウを使っている場合、まず CTRL-ALT-BACKSPACE を押して X ウィ ンドウを終了させてから CTRL-ALT-DEL します。直接 PC の電源を切った り、リセットしてはいけません。ファイルシステムに重大なダメージを与 える恐れがあります。 o DOS とは異なり、Linux はもともとマルチユーザ用に設計されているで、 セキュリテイ機能もあらかじめ組みこまれています。ファイルやディレク トリには所有者の許可属性を設定可能で、一般ユーザには見えないファイ ルを作ることも可能です;(詳細については ``許可属 性''の節を参照して ください) o 自分の手でいろいろ試して、遊んでみてください。プロンプトが出ている 状態で help と入力すれば、いくつか有用なメッセージが出力されます。 (以下の例では $は一般ユーザのプロンプトで、#はルートのプロンプトで す)。 $ help (これで出力されるのはbashのヘルプメッセージです)あるいは、 $ man command と入力します。man ページをインストールしていれば command に関するマ ニュアル(``man'')ページが表示されます。あるいは $ apropos command $ whatis command としてみるのもいいでしょう。終了するには 'q' を押します。 o Unix の力と柔軟性の源はリダイレクトとパイプ処理という単純な概念にあ ります。リダイレクトとパイプ処理は DOS にもありますが、Unix ではそ れらがずっと強力になっています。一つ一つは単純なコマンドをパイプと 使って連結することで、ずっと複雑な作業をやってのけることが可能に なっています。これらの機能を積極的に活用しましょう。 o 用例: <...> は特定しなければならない項目です。一方、 [...] は略すこ とのできる項目です。例えば: $ tar -tf [> redir_file] この場合、 file.tar は必須の項目です。しかし、 redir_file へのリダイレ クトはあっても無くても構いません。 o 以下では「詳細については man ページを参照のこと」という意味で ``RMP'' (please Read the Man Pages for further information)というマ ークを使います。 1.3. 短気な人のために さっそくやってみたいのですか? では、以下のリストを御覧ください : DOS Linux メモ ---------------------------------------------------------------------- BACKUP tar -Mcvf device dir/ 全く異なる CD dirname\ cd dirname/ 文法はほぼ同じ COPY file1 file2 cp file1 file2 上に同じ DEL file rm file 注意 : undelete はありません DELTREE dirname rm -R dirname/ 上に同じ DIR ls 似ているが完全に同じではない EDIT file vi file これは多分気にいらないでしょう。 emacs file こっちの方がいいよね jstar file DOS の edit 風に使えます FORMAT fdformat, mount, umount 文法は全く異なる HELP command man command 考え方は同じ MD dirname mkdir dirname/ 文法はほぼ同じ MOVE file1 file2 mv file1 file2 上に同じ NUL /dev/null 上に同じ PRINT file lpr file 上に同じ PRN /dev/lp0, /dev/lp1 上に同じ RD dirname rmdir dirname/ ほぼ同じ書き方 REN file1 file2 mv file1 file2 複数ファイルを一度に処理できない RESTORE tar -Mxpvf device 文法は異なる TYPE file less file こっちの方がずっといい WIN startx 正反対! この表以上の説明が必要ならば以下のセクションを読んでください。 2. ファイルとプログラム 2.1. ファイルとは: 簡単な紹介 Linux には DOS によく似たファイルシステム --- すなわち、「ディレクトリ とファイルの構造」 --- があります。ファイルは一定のルールに従って名前 が付けられ、ディレクトリに保存され、いくつかのファイルは実行可能で、実 行可能なファイルにはいくつかのコマンドスイッチが用意されています。加え てワイルドカードやリダイレクト、パイプを使うことも可能です。DOS のファ イルシステムとはわずかな違いしかありません。 o DOS の世界では、ファイル名はいわゆる 8.3 形式になっています; 例えば NOTENOUG.TXT など。Linux ではそのような制限はありません。 Linux を ext2 や umsdos を使ってインストールしていれば、(最大 255 文字まで の)ずっと長いファイル名を使うことも、一個以上のドットを使うことも可 能です。例えば、This_is.a.VERY_long.filename など。大文字と小文字の 両方を使っていることに注意してください。実際のところ、、 o ファイル名やコマンド名の大文字と小文字は区別されます。すなわち、 FILENAME.tar.gz と filename.tar.gz は違うファイルになります。コマン ド名も ls であり、LS は間違いです。 o プログラムには .COM や .EXE という拡張子を付け、バッチファイルには .BAT という拡張子を付けるなどの制限はありません。実行可能ファイルは ls -F した時にアスタリスク '*' で示されます。例えば: $ ls -F letter_to_Joe cindy.jpg cjpg* I_am_a_dir/ my_1st_script* old~ cjpg* と my_1st_script は「プログラム」、すなわち実行可能ファイルで す。DOS では、バックアップファイルは .BAK という拡張子を持ちますが、 Linux では、ファイル名の末尾にチルダ(~) が付きます(emacs/mule を使う場 合)。また、ドットで始まるファイル名は隠しファイルになります。例えば、 .I.am.a.hidden.file というファイルは ls コマンドでは表示されません。 o DOS プログラムは /switch がプログラムのオプションスイッチになりま す。一方、Linux では -switch か --switch がオプションスイッチとなり ます。例えば dir /s は ls - R になります。多くの DOS プログラム、例 えば PKZIP や ARJ は Unix 風のオプションスイッチを使っていることに 注意してください。 次に ``各種コマンドの DOS から Linux への翻訳'' の章へ進んでも構いませ んし、このまま読み進めてもらっても構いません。 2.2. シンボリック・リンク Unix には DOS にない種類のファイル、すなわちシンボリック・リンクがあり ます。シンボリック・リンクはファイルやディレクトリへのポインタと考えら れ、実際のファイルやディレクトリの代りに使うことが可能です。シンボリッ ク・リンクは Win 95 の「ショートカット」によく似ています。シンボリッ ク・リンクの例として、例えば /usr/X11 は /usr/X11R6 へのシンボリック・ リンクになっており、/dev/modem は /dev/cua0 か /dev/cua1 へのポインタ になっています。 シンボリック・リンクを作るには以下のようにします。 $ ln -s 例: $ ln -s /usr/doc/g77/DOC g77manual.txt これで /usr/doc/g77/DOC の代りに g77manual.txt というファイル名が使え ます。 2.3. ファイルの許可属性と所有者 DOS のファイルとディレクトリには以下の 4 つの属性があります: A (アーカ イブ)、H (隠しファイル)、R (リードオンリー)、S (システムファイル)。こ のうち H と R の属性のみ、Linux に対応する属性があります。隠しファイル はドットで始め、リードオンリーの属性については、、もう少し読み続けてく ださい。 Unix の世界では、ファイルには各種の「許可属性(パーミッション)」と所有 者の概念があります。所有者は何らかの「グループ」に属しています。以下の 例を見てください。 $ ls -l /bin/ls -rwxr-xr-x 1 root bin 27281 Aug 15 1995 /bin/ls* 最初の欄が /bin/ls の許可属性を示しています。所有者はルートで、グルー プは bin です。のこりの情報は別の機会に説明することにして(Matt の著書 がそれらを説明しています)、ここでは-rwxr-xr-x の意味を説明します(左か ら右に読みます)。 - はファイルの種類を示します(- は一般のファイル、d はディレクトリ、l はリンク、などなど)。その次の 3 つ、rwx はファイルの所有者に対する許可 属性です(この例では読み出し、書きこみ、実行の全てが可能になっていま す)。次の 3 つ、-xr はファイルの所有者が属するグループに対する許可属性 です(読み出しと実行のみが可能です)(この文書ではグループについては扱い ません。初心者の間はグループを気にしないでも大丈夫です ;-)。最後の r-x はその他全てのユーザに対する許可属性です(読み出しと実行のみが可能)。 このような許可属性になっているため、ルート以外のユーザには /bin/ls は 削除できません。なぜならば、ルート以外のユーザには書きこみ許可が与えら れていないからです。ファイルの許可属性を変えるためのコマンドは $ chmod です。 ここで、who は u (ユーザ、すなわち所有者自身)、か g (ユーザの属するグ ループ)、o (その他のユーザ) で、X は + か - になります。perm はr (読み 出し) か w (書きこみ)、あるいは x (実行) のいずれかです。例えば、 $ chmod u+x file この指定では、ファイルの所有者に実行許可を与えます。一種のショートカッ トとして使えますね。 $ chmod go-wx file この指定では、所有者以外(グループと一般ユーザ)の書きこみと実行許可を外 しています。 $ chmod ugo+rwx file こうすれば誰でも読みこみや書き出し、実行が可能になります。 # chmod +s file この指定はいわゆる ``setuid''、すなわち ``suid'' されたファイルを作り ます。このファイルは誰もがルートの権限で実行できます。 許可属性は数字で指定することも可能です。rwxr-xr-x は 755 と表現できま す(許可属性を示す各文字が一つのビットに対応します。すなわち、 --- は 0 で、--x は 1 、-w- が 2 で、 -wx は 3 等々)。一見複雑そうですが、しば らく練習すればその意味が理解できるでしょう。 ルート、いわゆるスーパーユーザ、は全てのユーザのファイルの許可属性を変 更することができます、詳細については --- chmod について RMP してくださ い。 2.4. DOS から Linux へのコマンドの翻訳 次の表の左が DOS のコマンドで、右に示すものが対応する Linux のコマンド です。 COPY: cp DEL: rm MOVE: mv REN: mv TYPE: more, less, cat リダイレクトと標準入力を切り替えるオペレータは < > >> | です。 ワイルドカード: * ? nul: /dev/null prn, lpt1: /dev/lp0 か /dev/lp1; lpr いくつか例を示します。 DOS Linux --------------------------------------------------------------------- C:\GUIDO>copy joe.txt joe.doc $ cp joe.txt joe.doc C:\GUIDO>copy *.* total $ cat * > total C:\GUIDO>copy fractals.doc prn $ lpr fractals.doc C:\GUIDO>del temp $ rm temp C:\GUIDO>del *.bak $ rm *~ C:\GUIDO>move paper.txt tmp\ $ mv paper.txt tmp/ C:\GUIDO>ren paper.txt paper.asc $ mv paper.txt paper.asc C:\GUIDO>print letter.txt $ lpr letter.txt C:\GUIDO>type letter.txt $ more letter.txt C:\GUIDO>type letter.txt $ less letter.txt C:\GUIDO>type letter.txt > nul $ cat letter.txt > /dev/null 該当なし $ more *.txt *.asc 該当なし $ cat section*.txt | less 注意点: o Linux では、ワイルドカードキャラクタである * は、DOS よりもずっと賢 くなっています。* は隠しファイル以外の全てのファイルにマッチしま す。.* は全ての隠しファイルにマッチします。*.* は、ファイル名の中 に他の文字にはさまれた '.' を持つファイルにのみマッチします。p*r は `peter' とも `piper' ともマッチします。*c* は `picked' にも `peck' にもマッチします。 o more を使う場合、続きを読むには SPACE を押し、終了するには `q' か CTRL-C を押します。less は more よりもさらに賢くて、矢印キー(カーソ ルキー)を使うことも可能です。 o less で日本語のファイルを表示する際には環境変数 LESSCHARSET を設定 する必要があります。bash を使う場合、 ___________________________________________________________________ $ export LESSCHARSET=japanese-ujis ___________________________________________________________________ 等を実行します。 o DOS とは異なり、UNDELETE はありません。ですから、何かを削除する際に は十分注意してください。 o DOS の <、>、>> に加えて、Linux では 2> でエラーメッセー ジ(stderr)を切り変えることが可能です。加えて、2>&1 とすると stderr を stdout に出力し、 1>&2 で stdout を stderr にリダイレクトできま す。 o Linux では [] というワイルドカードも使えます。 [abc]* は最初の文字 が a か b か c で始まるワイルドカードの指定です。*[I-N,123] は末尾 が I, J, K, L, M, N, 1, 2, 3 で終わるファイルにマッチします。 o DOS 風の RENAME はありません。すなわち、 mv *.xxx *.yyy は使えませ ん。 o ファイルの上書きを防ぐには cp -i か mv -i を使って、確認モードで実 行してください。 2.5. プログラムの起動: マルチタスクとセッション プログラムを動かすには DOS と同様にそのコマンドの名前を打ちこむだけで す。起動したいプログラムがパス環境変数 (``システムの初期設定''を参照) が通っているディレクトリにあれば、そのまま実行することが可能です。DOS とは異なり、Linux では今いるディレクトリにあるプログラムでも、パスが 通っていないと実行することはできません。その場合、プログラム名を prog とすると./prog と入力します。 典型的なコマンドラインは以下のようになります。 $ command -s1 -s2 ... -sn par1 par2 ... parn < input > output ここで -s1, ... ,-sn はプログラムのオプションスイッチで、par1, ..., parn はプログラムのパラメータです。以下のように ; で区切って複数のコマ ンドを並べることも可能です。 $ command1 ; command2 ; ... ; commandn これでプログラムの動かし方については終りですが、もう一歩を進めるのは簡 単でしょう。Linux を使う理由の一つに、Linux はマルチタスク OS で、複数 のプログラム(以後プロセスと呼びます)を同時に動かせるから、というのがあ ります。この機能を使えばプログラムをバックグラウンドで実行しながら今の 仕事を続けることも可能です。加えて、Linux では複数のセッションを同時に 動かすことも可能です。その場合、同時に複数のコンピュータを使っているよ うに感じます。 o セッション 1 から セッション 6 に切り替えるには、 $ ALT-F1 ... ALT-F6 とします。 o 今あるセッションを残したまま新しいセッションを起動するには、 $ su - とします。 例えば、 $ su - root 通常、ルートのみがディスクをマウントできるので、ディスクをマウントした い場合(詳細は ``フロッピー'' の章を参照のこと)、こうしてセッションを切 り替えれば便利です。 o セッションを終えるには、 $ exit とします。停止中のジョブが残っていれば(詳細は後述)警告が表示されます。 o フォアグラウンドでプロセスを起動するには、 $ progname [-switches] [parameters] [< input] [> output] とします。 o バックグラウンドでプロセスを起動するにはコマンド行の最後に `&' を付 けます。 $ progname [-switches] [parameters] [< input] [> output] & [1] 123 シェルはプロセスをジョブ番号(この例では [1] がジョブ番号です。詳細は後 述)とプロセス ID(この例では 123) で区別しています。 o いくつのプロセスが動いているかを見るには、 $ ps -a とすると、現在動いているプロセスのリストが表示されます。 o プロセスを殺すには、 $ kill プログラムの正しい終了方法が分らない場合など、プロセスを殺す必要が生じ るかも知れません、、;-) プロセスの中には、以下のようにしないと死なない ものもあります。 $ kill -15 $ kill -9 加えて、シェルはプロセスを一時停止したり、バックグラウンドに送ったり、 バックグラウンドからフォアグラウンドへ戻したりすることが可能です。この 場合、プロセスは特に「ジョブ」と呼ばれます。 o どれだけのジョブが動いているかを見るには $ jobs とします。この場合、各ジョブはプロセス ID ではなくジョブ番号で表示され ます。 o フォアグラウンドで動いているプロセスを終了するには(常に動いていると は限りませんが)、 $ CTRL-C を入力します。 o フォアグラウンドで動いているプロセスを一時停止するには(同上)、 $ CTRL-Z を入力します。 o 一時停止したプロセスをバックグラウンドに送るには(そのプロセスはジョ ブになります) $ bg とします。 o ジョブをフォアグラウンドへ移すには $ fg とします。 o ジョブを殺すには $ kill <%job> とします。 ここで、 は 1, 2, 3, ... などの番号です。これらのコマンドを駆使す ることで、ディスクのフォーマットや複数ファイルの圧縮、プログラムのコン パイル、アーカイブファイルの展開などを同時に行ないながら、さらにプロン プトを出して、コマンド入力を可能にしておくことができます。これを DOS でやってごらんなさい! また、Windows でやってみて、どれくらい性能に違い があるかを見るのも面白いでしょう。 2.6. 離れた場所にあるコンピュータ(リモートコンピュータ)でプログラムを 実行する ホスト名が remote.bigone.edu のリモートコンピュータでプログラムを実行 するには、まず $ telnet remote.bigone.edu してそのコンピュータにログインします。 ログインすれば好きなプログラムを動かすことができます。言うまでもありま せんが、remote.bigone.edu にはあなたのアカウントが必要です。 X11 を使えば、X 用のアプリケーションをリモートコンピュータで実行して、 表示を手元のマシンの X ウィンドウの画面に出力することも可能です。 remote.bigone.edu が X ウィンドウの動かせるリモートコンピュータで local.linux.box をあなたの Linux マシンとします。 local.linux.box から remote.bigone.edu にある X のプログラムを動かすには以下のようにしま す。 o X11 を起動して、xterm か同等のターミナルエミュレータを起動します(日 本語を使う場合 kterm を使います。以下でも xtermはktermと読みかえて ください)。そして、以下のように入力します。 $ xhost +remote.bigone.edu $ telnet remote.bigone.edu o remote.bigone.edu にログインして、以下のように入力します。 remote:$ DISPLAY=local.linux.box:0.0 remote:$ progname & (remote.bigone.edu に csh 系のシェルが乗っていれば DISPLAY=... の代り に setenv DISPLAY local.linux.box:0.0 とする必要があるかも知れません) これで、progname が remote.bigone.edu で起動して、画面があなたの local.linux.box で表示されます。でも、これは ppp のような遅い接続経由 ではやらない方が無難です。 3. ディレクトリの使い方 3.1. ディレクトリとは: 簡単な紹介 今までに DOS と Linux でのファイルの違いについて見てきました。ディレク トリについても、DOS ではルートディレクトリは \ なのに対して、Linux で は / です。同様に、DOS では複数のディレクトリは \ で区切りますが、 Linux では / で区切ります。ファイルのパスの例を見てみましょう。 DOS: C:\PAPERS\GEOLOGY\MID_EOC.TEX Linux: /home/guido/papers/geology/mid_eocene.tex 通常、.. は親ディレクトリを示します。. は自分の今いるディレクトリで す。どこでも自由に cd したり rd したり md したりできるわけではないこと をお忘れなく。システムにログインすると各ユーザはシステムの管理者があら かじめ用意している各自の「ホーム」ディレクトリに入ります。例えば、私の PC では、私のホームディレクトリには /home/guido です。 3.2. ディレクトリの許可属性 ディレクトリにも各種の許可属性があります。`` 許可属性''の章で見た「所 有者」、「グループ」、「その他ユーザ」という区分はディレクトリにも同様 にあてはまります。ディレクトリの場合、 rx はそのディレクトリに cd でき ることを意味し、 w はそのディレクトリにあるファイル、あるいはディレク トリ自身を削除できることを意味します(実際にファイルを削除できるかどう かは、そのファイル自身の許可属性によって決まることは言うまでもありませ ん)。 例えば、他のユーザが /home/guido/text ディレクトリを覗けないようにする には $ chmod o-rwx /home/guido/text とします。 3.3. ディレクトリ処理コマンドの DOS と Linux の対応 DOS Linux ------------------------- DIR : ls, find, du CD : cd, pwd MD : mkdir RD : rmdir DELTREE : rm -R MOVE : mv いくつか例をしめします。 DOS Linux --------------------------------------------------------------------- C:\GUIDO>dir $ ls C:\GUIDO>dir file.txt $ ls file.txt C:\GUIDO>dir *.h *.c $ ls *.h *.c C:\GUIDO>dir/p $ ls | more C:\GUIDO>dir/a $ ls -l C:\GUIDO>dir *.tmp /s $ find / -name "*.tmp" C:\GUIDO>cd $ pwd ありません。下の「注意」を参照 $ cd 同上 $ cd ~ 同上 $ cd ~/temp C:\GUIDO>cd \other $ cd /other C:\GUIDO>cd ..\temp\trash $ cd ../temp/trash C:\GUIDO>md newprogs $ mkdir newprogs C:\GUIDO>move prog .. $ mv prog .. C:\GUIDO>md \progs\turbo $ mkdir /progs/turbo C:\GUIDO>deltree temp\trash $ rm -R temp/trash C:\GUIDO>rd newprogs $ rmdir newprogs C:\GUIDO>rd \progs\turbo $ rmdir /progs/turbo 注意: 1. rmdir する際には、そのディレクトリは空でなければいけません。ディレ クトリをその中身ごと削除する場合、 rm -R を使います(自分の責任で実 行してください)。 2. チルダ(~)キャラクタはホームディレクトリを示します。引数を指定しない cd や cd ~ すると、どこにいようと、自分のホームディレクトリに移動し ます。cd ~/tmp は /home/your_home/tmp へ移動します。 3. cd - は直前までいたディレクトリに戻ります。 4. フロッピーやハードディスクなどの扱い 4.1. デバイス管理 気づくことはまずありませんが、DOS の FORMAT A: コマンドは見た目よりも ずっとたくさんの仕事をしています。実際、FORMAT コマンドは、1) 物理的に ディスクをフォーマットし、2) A:\ ディレクトリを作成(= ファイルシステム の作成)し、3) ディスクを使えるように準備(= ディスクのマウント)する、と いった一連の作業をしています。 Linux では、これら 3 つの仕事はそれぞれ別々にやることになります。フ ロッピーディスクを MS-DOS フォーマットで使うことは可能ですが、MS-DOS フォーマットの場合、長いファイル名が使えないので、別の種類のフォーマッ トを使う方が便利です。以下にディスクを使う方法を示します(以下のセッ ションはルートで実行しなければなりません)。 o 標準の 1.44M フロッピーディスクをフォーマットする(A:) # fdformat /dev/fd0H1440 o ファイルシステムを作成する。 # mkfs -t ext2 -c /dev/fd0H1440 あるいは # mformat a: で MS-DOS ファイルシステムを作ります。ディスクを使う前にマウントする必 要があります。 o ディスクをマウントするには、 # mount -t ext2 /dev/fd0 /mnt か # mount -t msdos /dev/fd0 /mnt とします。 これでフロッピーとファイルをやりとりすることができます。作業を終えて ディスクを抜く前には、アンマウントしなければならないことをお忘れなく。 o ディスクをアンマウントするには、 # umount /mnt とします。 これでディスクを抜くことが可能です。fdformat と mkfs は今まで使ったこ とのない未フォーマットのディスクにのみ必要となる作業です。 B: ドライブ を使う場合、上記の例の fd0H1440 と fd0 の代りに fd1H1440 と fd1 を使っ てください。 こうしておけば、 DOS では A: や B: として指定するところを /mnt という ディレクトリ名を使って指定することになります。例を示します。 DOS Linux --------------------------------------------------------------------- C:\GUIDO>dir a: $ ls /mnt C:\GUIDO>copy a:*.* $ cp /mnt/* /docs/temp C:\GUIDO>copy *.zip a: $ cp *.zip /mnt/zip C:\GUIDO>a: $ cd /mnt A:>_ /mnt/$ _ 言うまでもなく、フロッピーディスクでできることは他のデバイスでも可能で す。例えば別のハードディスクや CD-ROM ドライブをマウントしたくなった場 合、CD-ROM をマウントするにはルートになって以下のように実行します。 # mount -t iso9660 /dev/cdrom /mnt これが「公式」の方法ですが、フロッピーや CD-ROM をマウントするたびにル ートになるのは面倒なので、一般ユーザがマウントできるような抜け道も用意 されています。 o ルートになって /mnt/a と /mnt/a:、 /mnt/cdrom ディレクトリを作る。 o /etc/fstab に以下のような行を加える。 /dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 0 0 /dev/fd0 /mnt/a: msdos user,noauto 0 0 /dev/fd0 /mnt/a ext2 user,noauto 0 0 これで以下のように一般ユーザでも DOS フロッピーや ext2 フロッピー、 CD-ROM をマウントできるようになります。 $ mount /mnt/a: $ mount /mnt/a $ mount /mnt/cdrom /mnt/a や /mnt/a:、/mnt/cdrom は全てのユーザからアクセスできます。ルー トにならずに /mnt/a に書きこむためには、一旦ルートになって以下のように 準備しておきます。 # mount /mnt/a # chmod 777 /mnt/a # umount /mnt/a 一般ユーザにディスクをマウント可能にするのはセキュリティホールになりか ねないことをお忘れなく。 4.2. バックアップ これでフロッピーの扱い方が分ったと思います。次にバックアップの取り方を 説明します。バックアップ用のソフトもいくつかありますが、最低限、以下の ようにすれば複数のフロッピーにバックアップを取ることが可能です(ルート になって作業することが必要です) # tar -M -cvf /dev/fd0H1440 /dir_to_backup あらかじめフロッピーをドライブに入れてから実行してください。また、フォ ーマット済のフロッピーを複数枚用意しておくこともお忘れなく。 バックアップしたデータを取り出すには、最初のフロッピーをドライブに入れ て、 # tar -M -xpvf /dev/fd0H1440 とします。 5. システムの調整 5.1. 各種初期設定用ファイル DOS では AUTOEXEC.BAT と CONFIG.SYS の 2 つのファイルが特に重要でし た。これらのファイルは起動時にシステムを初期設定するため利用され、PATH や FILES といった環境変数を設定したり、特定のプログラムやバッチファイ ルを実行したりします。Linux にはもっと多くの初期設定用ファイルがありま す。中には、初心者の間はいじらない方がいいファイルもあります。最も重要 な初期設定用ファイルをいくつか紹介します。 FILES NOTES ---------------------------------------------------------- /etc/inittab 現時点では触らないこと /etc/rc.d/* 上に同じ。 PATH やその他の環境変数を変えたり、ログイン時のメッセージやログインし た時に自動的に実行されるプログラムを変えたいだけなら、以下のファイルを 調べてみましょう。 FILES NOTES -------------------------------------------------------------- /etc/issue login 前に表示されるメッセージ /etc/motd login した時に表示されるメッセージ /etc/profile PATH などの環境変数の設定など /etc/bashrc エイリアスやファンクションの設定(後述) /home/your_home/.bashrc 専用のエイリアスやファンクションの設定 /home/your_home/.bash_profile 環境変数の設定と自分用のプログラムの起動 /home/your_home/.profile 同上 上記のリストで、後半に紹介したファイルが自分のホームディレクトリに存在 していれば(これらは隠しファイルになっていることに注意)、ログイン後に読 みこまれて指定したコマンドが実行されます。 例 --- 以下に示す .profile を見てください ______________________________________________________________________ # これはコメントです echo Environment: printenv | less # equivalent of command SET under DOS alias d='ls -l' # easy to understand what an alias is alias up='cd ..' echo "I remind you that the path is "$PATH echo "Today is `date`" # use the output of command 'date' echo "Have a good day, "$LOGNAME # これはシェル関数の設定です ctgz() # List the contents of a .tar.gz archive. { for file in $* do gzip -dc ${file} | tar tf - done } # end of .profile ______________________________________________________________________ PATH と LOGNAME は想像どおり環境変数になっています。これら以外にもさま ざまな環境変数があります。例えば less のマニュアルを RMP してみてくだ さい。 5.2. 各種プログラム用初期設定ファイル Linux では、ほぼ全てのことが好きなように設定できます。ほとんどのプログ ラムに自由に設定できる一つ以上の設定用ファイルが用意されています。設定 用ファイルはしばしば .prognamerc という名前であなたのホームディレクト リに用意されています。まっさきに修正したくなる設定用ファイルは以下のよ うなものでしょう。 .inputrc bash のキーバインディングの設定に使います .xinitrc startx が X ウィンドウの初期設定に使います .fvwmrc fvwm ウィンドウマネージャ用の設定ファイルです。サンプルは /usr/lib/X11/fvwm/system.fvwmrc にあります。 .Xdefault X 用の端末エミュレータ rxvt などが使います。 これら全てや近い将来に使うコマンドについては RMP してください。 6. 簡単なプログラミング 6.1. シェルスクリプト: 強化された .BAT ファイル DOS のバッチファイル(.BAT ファイル)は長いコマンドラインのショートカッ トを作るのによく用いられます(私はそういう風によく使いました)。Linux で 各種コマンドへのショートカットを作るには、適切な alias 行を profile か .profile に記載します(上記の例を見てください)。でも、バッチファイルを より複雑な目的に使っていたならシェルのスクリプト機能を使うのが便利で しょう。シェルのスクリプト機能は QBasic と同等の機能を持っています。 シェルスクリプトは変数や while, for, case, if... then... else といった 制御構造など、多くの機能を持っています。シェルスクリプトは多くの場合 「本物」のプログラム言語の代りに使えます。 シェルスクリプト --- DOS の .BAT ファイルの同等物 --- を書くには、必要 な指示を並べた通常のアスキーファイルを作り、セーブして chmod +x として実行許可を与えます。実行するにはそのファイル名を入 力します。 一言注意しておきますと、システムに付属のエディタは通常 vi ですが、私の 経験から言うと、ほとんどの新しいユーザには vi は使いづらいようです。私 自身 vi は好きではないし使ってもいないので、ここでは使い方の説明はしま せんが、必要ならば Matt Welsh の ``Linux installation...'' を参照して ください(X が動くなら joe や emacs のような別のエディタを使う方がいい と思います)。ここでは vi については以下のコマンドだけを説明しておきま す。 o テキストを入力するには、まず 'i' を入力してから実際のテキストを入力 する。 o セーブせずに vi を終了するには を押してから :q! を入力。 o セーブして終了するには を押して :wq と入力。 bash のスクリプトの書き方についてはそれだけで本が一冊必要になるので、 ここではこれ以上は触れずに、基本的な使い方が分かるサンプルスクリプトを 示すだけにしておきます。 ______________________________________________________________________ #!/bin/sh # シェルスクリプトのサンプル # これはコメント行 # 1 行目は変更しないこと。#!/bin/sh は1行目にないといけません echo "This system is: `uname -a`" # use the output of the command echo "My name is $0" # built-in variables echo "You gave me the following $# parameters: "$* echo "First parameter is: "$1 echo -n "What's your name? " ; read your_name echo look the difference: "hi $your_name" # quoting with " echo look the difference: 'hi $your_name' # quoting with ' DIRS=0 ; FILES=0 for file in `ls .` ; do if [ -d ${file} ] ; then # if file is a directory DIRS=`expr $DIRS + 1` # DIRS = DIRS + 1 elif [ -f ${file} ] ; then FILES=`expr $FILES + 1` fi case ${file} in *.gif|*jpg) echo "${file}: graphic file" ;; *.txt|*.tex) echo "${file}: text file" ;; *.c|*.f|*.for) echo "${file}: source file" ;; *) echo "${file}: generic file" ;; esac done echo "there are ${DIRS} directories and ${FILES} files" ls | grep "ZxY--!!!WKW" if [ $? != 0 ] ; then # exit code of last command echo "ZxY--!!!WKW not found" fi echo "enough... type 'man bash' if you want more info." ______________________________________________________________________ 6.2. C でのプログラム Unix では、好き嫌いにかかわらず、システム言語は C です。その他の言 語(FORTRAN, Pascal, Lisp, Basic, Perl, awk...)も利用可能です。 すでに C については御存知のこととして、ここでは Turbo C++ やその親戚を 使ったことがある人向けにいくつかのガイドラインを紹介します。Linux での C コンパイラは gcc で、DOS の C コンパイラに付いてくるような統合環境や オンライン・ヘルプ、統合デバッガの類いは一切ありません。 gcc は単なる コマンドライン・コンパイラですが、きわめて強力かつ効率的です。標準的な hello.c プログラムをコンパイルするには $ gcc hello.c とします。この結果、a.out と呼ばれる実行形式が作成されます。実行形式に 別の名前を付けたいなら、 $ gcc -o hola hello.c のようにします。 何らかのライブラリをリンクしたければ -l スイッチを付けます。 例えば、数学ライブラリをリンクするなら $ gcc -o mathprog mathprog.c -lm とします。 (-l スイッチを使うと gcc は /usr/lib/lib.a という名 前のライブラリをリンクします。ですから、-lm を指定すると /usr/lib/libm.a をリンクします) 簡単なプログラムならばこれで十分ですが、コンパイルするプログラムが複数 のソースファイルからできている場合、make というユーティリティを使うの が一般的です。何らかのパーサを書いているとしましょう。このソースコード は parser.c というファイルになっており、 parser.h と xy.h の 2 つの ファイルをインクルードします。さて、 calc.c というプログラムの中で parser.c の中にあるルーチンを使いたくなりました。calc.c は parser.h を インクルードします。さて、calc.c をコンパイルするにはどうすればいいで しょう? この場合、makefile と呼ばれるファイルを書くのがいいでしょう。 makefile はコンパイラにソースファイルとオブジェクトファイルの依存関係を教えま す。今回の例では以下のようになります。 ______________________________________________________________________ # calc.c をコンパイルするための makefile # 適切な場所で キーを入力すること! calc: calc.o parser.o gcc -o calc calc.o parser.o -lm # calc には calc.o と parser.o が必要 calc.o: calc.c parser.h gcc -c calc.c # calc.o には 2 つのソースファイルが必要 parser.o: parser.c parser.h xy.h gcc -c parser.c # parser.o には 3 つのソースファイルが必要 # これでお終い ______________________________________________________________________ このファイルを makefile という名前で保存して $ make とすると、プログラムがコンパイルされます。あるいは calc.mak という名前 で保存して、 $ make -f calc.mak とすることも可能です。詳細については RMP してください。 man ページの 3 章には C の関数についての説明があります。 $ man 3 printf Linux にはさまざまな種類のライブラリが公開されています。まず最初に紹介 すべきはテキストモードで各種の効果を出すための ncurses ライブラリとグ ラフィック用の svgalib でしょう。X プログラムに挑戦する勇気があれ ば、XForms ライブラリ( bloch.phys.uwm.edu:/pub/xforms) と/あるいは MGUI ライブラリ( www.volftp.vol.it:/IT/IT/ITALIANI/MORELLO/index.htm) を入手してみましょう。この 2 つのライブラリは X でのプログラムをずっと 簡単にしてくれます。ボーランド風の統合環境が無いと困る人は sunsite.unc.edu:/pub/Linux/apps/editors/ から入手できる xwpe がお勧め です。ただし、多少好き嫌いはありそうですが。 7. 残りの 1 % 7.1. 仮想メモリの作り方 理論的には、Linux は 4M の RAM で動くはずですが、メモリが多ければ多い ほど、ずっといろいろなことができるようになります。X ウィンドウを動かす には最低でも 8M のメモリが必要です。X ウィンドウを快適に使うには 16M のメモリが必要でしょう。X ウィンドウ上で日本語を快適に使うには、32M の メモリが欲しくなります。もう 8M 分の仮想メモリ(スワップファイル)を作る には、ルートになって以下のようにしてください。 # dd if=/dev/zero of=/swapfile bs=1024 count=8192 # mkswap /swapfile 8192 # sync # swapon /swapfile 最後の行を /etc/rc.d/rc.local に加えて次からは起動時にスワップファイル を使うようにしましょう。あるいは、/etc/fstab に以下のように加える方法 もあります。 /swapfile swap swap defaults 7.2. tar & と gzip の使い方 Unix の世界で広く使われているアーカイブと圧縮のためのプログラムは tarと gzip です。tar はアーカイブを作るために使われます。tar は PKZIP に似ていますが、圧縮機能は持たず、アーカイブファイルを作るだけです。新 しいアーカイブファイルを作るには、 $ tar -cvf [file...] とします。アーカイブファイルからファイルを取り出すには $ tar -xpvf [file...] とします。アーカイブファイルの中身を表示するには、 $ tar -tf | less とします。 ファイルを圧縮するには compress か gzip を使います。 compress は時代遅 れのプログラムでこれからはあまり使われなくなるでしょう。 ファイルを圧縮するには以下のようにします。 $ compress $ gzip これで拡張子が .Z(compressの場合) か、.gz(gzipの場合) の圧縮したファイ ルが作成されます。これらのプログラムは一度に一つのファイルしか圧縮でき ません。圧縮したファイルを展開するには以下のようにします。 $ compress -d $ gzip -d 詳細については RMP すること。 unarj や zip、unzip (PK??ZIP 互換)といったプログラムもありま す。.tar.gz か .tgz という拡張子を持つファイル(tar でアーカイブしてか ら gzip で圧縮したファイル)は DOS の .ZIP ファイルのように Unix の世界 で使われているアーカイブファイルを圧縮した形式です。.tar.gz アーカイブ の中身を表示する方法を示します。 $ gzip -dc | tar tf - | less 最近のGNU tarでは tar にファイルの圧縮/展開機能が組みこまれており、 -z オプションを追加することで圧縮/展開処理が可能です。 $ tar -cvzf file [file...] (圧縮してアーカイブ) $ tar -xvzf file [file...] (圧縮アーカイブの展開) $ tar -tzvf | less (圧縮アーカイブのリスト) 7.3. アプリケーションのインストール まず最初に: 各種ソフトウェアをインストールするのはルートの仕事で す。.tar.gz や .tgz の形式で配布されているアプリケーションは通常その ままインストールできるようになっているので、ルートになって / ディレク トリで以下のようにすればインストールできます。 # gzip -dc | tar xvf - 展開されたファイルは正しいディレクトリにインストールされ、必要ならば ディレクトリが自動的に作成されます。Slackware を使っている場合、 pkgtool を使うことも可能です。もう一つ、Red Hat が配布してくれている rpm という形式もあります。 / ディレクトリからはインストールすべきでないプログラムもあります。例え ば、アーカイブファイルに pkgname/ というディレクトリがあって、多くの ファイル、と/あるいは、サブディレクトリが pkgname/ 以下にあるような場 合です。これらのプログラムは /usr/local 以下にインストールするのがいい でしょう。加えて、C や C++ のソースファイルの形式で流通しているソフト ウェアもあります。これらはコンパイルして実行形式を作る必要があります。 コンパイルといっても、ほとんどの場合は make と入力するだけです。もちろ ん、これらのソフトウェアをインストールするには gcc コンパイラが必要で す。 7.4. 必須のテクニック コマンドの補完: 途中まで入力したコマンドを完成するには キーを押 します。例えば、gcc this_is_a_long_name.c と入力すべき場合、gcc thi とすれば、残りは自動的に補完してくれる場合があります(同じ文字 で始まるファイルが複数ある場合は、一つに確定できるまでの部分を入力する 必要があります)。 逆スクロール: SHIFT + PAGE UP(たいてい灰色のキー)を押せば、数ページ分 画面が逆スクロールします。何ページ分戻れるかは使っているビデオメモリに 依存します。 画面のリセット: more や cat でバイナリファイルを表示してしまうと、画面 がおかしくなるかも知れません。その場合、以下のコマンドを(入力が表示さ れないかも知れませんが)入力して画面をリセットします。 echo CTRL-V ESC c RETURN 行の切り貼り: コンソールの場合は次を見てください。X の場合、 xterm の 中で、必要な部分の先頭でマウスの左ボタンをクリックして、そのまま必要な 部分をマウスで選択します。必要な部分を選択すれば、ボタンを離して、テキ ストを貼り付けたい部分にマウスを移動します。テキストを貼り付けたい場所 でマウスの真中のボタン(2 ボタン式のマウスならば二つのボタンを同時に)押 すと、その部分に選択したテキストが貼り付け(ペースト) られま す。xclipboard というプログラムもあります(残念なことにテキストにしか対 応していません)。xclipboard の反応はとても遅いので、反応がなかなか返っ てこなくても慌てないでください。 マウスの使い方: X を使わないコンソール画面でマウスを使いたい場合、 gpm というマウスドライバをインストールします。必要なところの先頭でマウスの 左ボタンをクリックしながら必要な範囲をマウスで選択し、右ボタンをクリッ クすれば選んだ部分が貼りつけられます。これは異なる仮想コンソール間でも 使えます。 カーネルからのメッセージ : カーネルが出力しているメッセージを見るに は、ルートになって/var/adm/messages か /var/log/messages を見てくださ い。ここには起動時のメッセージも保存されています。 7.5. 役に立つプログラムとコマンド 以下に示すリストは私の個人的な好みと必要性に基づいたものです。みなさん は既にネットサーフの仕方や archie や ftp の使い方を知っているでしょう から、これらのプログラムを入手する先として以下に Linux にとってもっと も重要な 3 つのアドレスを示します。それらは、 sunsite.unc.edu, tsx-11.mit.edu, nic.funet.fi です。 これらのサイトには多数のミラーサイトがあるのでお近くのミラーサイトをお 使いください。例えば、国内では KDD Lab や ftp.hitachi.co.jp ftp.kuis.kyoto-u.ac.jpなどがミラーサイトになっています。 o at を使えば指定した日時にプログラムを実行することができます。 o awk は、簡単ですが強力なデータファイル(だけではありませんが)処理言 語です。例えば data.dat というデータファイルがある場合、 $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat とすれば、data.dat の各行のうち、2 つ目のデータに ``abc'' という文字列 がある各行の 1 つ目と 4 つ目のデータを表示します。 o delete-undelete は名前の示す通りです。 o df はマウントしているディスクの容量を表示します。 o dosemu は(全てではありませんが)さまざまな DOS のプログラムを実行可 能にします。少々の工夫が必要ですが Windows 3.x も動きます。 o file は filename が何か(アスキーテキストファイル、実行形 式、アーカイブ、等)を表示します。 o find (``dir'' の章も見てください)はもっとも強力で有用なコマンドの一 つでしょう。このコマンドは、さまざまな特徴を持つファイルを見つけだ して、指定した処理を行ないます。 find の一般的な使い方は以下の通り です。 $ find ここで で探す項目や処理方法を指定します。例えば、 $ find . -type l -exec ls -l {} \; とすれば、カレントディレクトリ以下にあるシンボリックリンクになっている ファイルを見つけて、それぞれのリンク先を表示します。 $ find / -name "*.old" -ok rm {} \; この例では ``.old'' というファイル名を持つファイルを見つけて削除します が、削除する際に確認を求めます。 $ find . -perm +111 この例では実行許可が設定されているファイルを見つけます。 $ find . -user root この例ではルートユーザが所有者のファイルを表示します。この他にもさまざ まな指定方法がありますので、詳細については RMP してください。 o gnuplot はさまざまなデータをグラフ化する優れたプログラムです。 o grep はファイルの中の指定したパターンに一致する行を表示します。例え ば、 $ grep -l "geology" *.tex とすれば、*.tex のファイルのうち、``geology'' という語を含むファイルを 表示します。zgrep は gzip 形式で圧縮したファイルも扱えます。詳細につい ては RMP してください。 o gzexe は実行形式を圧縮し、圧縮したまま実行可能にします。 o joe は優れたエディタです。jstar というコマンド名でこのプログラムを 起動すると WordStar やその後継者である DOS やボーランドの Turbo シ リーズのエディタと同様のキーバインディングが実現できます(残念ながら これらのエディタは日本語を表示できません)。 o less はテキストを見る最良のツールでしょう。正しく設定すれば、gzip されたファイルや tar ファイル、zip 形式のファイルなども見ることが可 能です。less で日本語ファイルを表示する場合、環境変数 LESSCHARSET を忘れず指定してください。 o lpr はファイルをバックグラウンドでプリントします。プリントの 待ち行列の状態をチェックするには lpq を使います。待ち行列から削除す るには lprm を使います。 o mc はすぐれたファイルマネージャです。同様のファイルマネージャとし て、日本語のファイル名を持つファイルも操作できる FD があります。 o pine はすぐれた e-mail プログラムです。mnews はネットニュースと e- mail の双方を読み書きできます。 o script は画面出力を script_file にコピーします。終了 するのは exit です。デバッグに便利な機能でしょう。 o sudo は一般ユーザにルート権限の仕事を可能にします(例えばディスクの フォーマットやマウント。詳細は RMP のこと) o uname -a はシステムについての情報を表示します。 o zcat と zless は gzip で圧縮されているテキストファイルを圧縮したま ま見ることができます。こういう使い方が可能です。 $ zless textfile.gz $ zcat textfile.gz | lpr o 以下に示すコマンドも便利です。bc, cal, chsh, cmp, cut, fmt, head, hexdump, nl, passwd, printf, sort, split, strings, tac, tail, tee, touch, uniq, w, wall, wc, whereis, write, xargs, znew 各コマンドの 内容については RMP してください。 7.6. 一般的な拡張子の付け方と関係するプログラム 以下にフォント類のような複雑なものを除いた拡張子の付け方の一般的なルー ルを示します。 o .1 ... .8 は man ページです。見るためには man します。 o .arj は arj で作ったアーカイブです。展開するには unarj を使いま す。 o .dvi は TeX (後述)の出力形式です。画面に表示するには xdvi を使いま す。ポストスクリプト形式の .ps に変換するには dvips を使います。日 本語の入った dvi ファイルの場合、jdvi2kps か、日本語化された dvi2ps を使います。 o .gif はグラフィックデータです。見るには seejpeg か xpaint を使いま す。シェアウェアですが、 xv はさまざまな形式のグラフィックデータを 表示することが可能です。 o .gz は gzip で作った圧縮ファイルです。 o .info は INFO 形式(man ページの代りになるもの)のファイルです。使う には info を入手してください。 o .jpg、 .jpeg はグラフィックファイルです。表示するにはseejpeg を使 います。xv でも表示できます。 o .lsm は Linux Software Map のエントリです。通常のテキストファイル で、そのソフトウェアについて説明しています。 o .ps はポストスクリプト形式のファイルです。画面に表示したり出力する には gs あるいは ghostview を使います。 o .tgz, .tar.gz は tar で作ったアーカイブを gzip で圧縮したファイル です。 o .tex は TeX のソースファイルです。TeX は強力なタイプセットプログラ ムです。TeX を使うには様々な種類のある tex パッケージをインストール してください。ただし Slackware96 以前のバージョンに含まれている NTeX はフォントが壊れているので注意すること。 o .texi は texinfo 形式のファイル(info 形式と比較してください)です。 使うには texinfo が必要です。 o .xbm, .xpm, .xwd はグラフィックデータです。xpaint を使います。xv でも表示できます。 o .Z は compress で作った圧縮ファイルです。 o .zip は zip が作った圧縮ファイルです。zip と unzip を入手してくだ さい。 8. とりあえずおしまい おめでとう。これで Unix の一端を眺めて、Linux 上で仕事ができるようにな りました。ここで紹介したものはごく限られた知識であり、Linux を快適に使 いこなせるようになるには練習が必要なことをお忘れなく。しかし、必要なソ フトウェア一式を入手して、それらを使い始めれば、ここで示した知識で充分 間に合うはずです。 誰もがやってるように Linux を楽しみながら、さまざまなことを学んでいく ことになるでしょう。DOS へ戻る必要はもはやありません。この文書を書くこ とで、私自身が知識を整理できました。例え 3、4 人しか読者がいなくても、 この文書が誰かの役に立つことを望んでいます。 8.1. 著作権表示(Copyright) Unless otherwise stated, Linux HOWTO documents are copyrighted by their respective authors. Linux HOWTO documents may be reproduced and distributed in whole or in part, in any medium physical or electronic, as long as this copyright notice is retained on all copies. Commercial redistribution is allowed and encouraged; however, the author would like to be notified of any such distributions. All translations, derivative works, or aggregate works incorporating any Linux HOWTO documents must be covered under this copyright notice. That is, you may not produce a derivative work from a HOWTO and impose additional restrictions on its distribution. Exceptions to these rules may be granted under certain conditions; please contact the Linux HOWTO coordinator at the address given below. In short, we wish to promote dissemination of this information through as many channels as possible. However, we do wish to retain copyright on the HOWTO documents, and would like to be notified of any plans to redistribute the HOWTOs. If you have questions, please contact Greg Hankins, the Linux HOWTO coordinator, at gregh@sunsite.unc.edu via email. 他に明示されていない限り、Linux HOWTO 集はそれぞれの著者が著作権を有し ています。この著作権表示が全てに残されている限り、HOWTO 集は全体、もし くは部分的に、あらゆる物理的、電気的な方法でコピー、再配布することがで きます。商業的な配布も可能で推奨しますが、そのような場合は著者に一報し てくださるようお願いします。 Linux HOWTO 集の翻訳や HOWTO から派生した文書、あるいは HOWTO を集めた 文書集などもこの著作権表示に従う必要があります。すなわち、HOWTO から派 生した文書を作った場合、その文書の配布も HOWTO の規定に従い、新たな制 限を加えることはできません。一定の条件のもとで例外措置も可能ですので、 詳細については以下に示す Linux HOWTO のコーディネータへ連絡してくださ い。 簡単に言うと、私たちはあらゆる種類のチャンネルを通じて情報を広く伝えた いと考えています。しかしながら、HOWTO 文書には著作権を設定しており、 HOWTO を配布する計画についてはあらかじめ連絡していただきたいと願ってい ます。 疑問があれば Linux HOWTO のコーディネータである Greg Hankins まで e-mail で連絡してください。 8.2. 責任の放棄 ``From DOS to Linux HOWTO'' は Guido Gonzato guido@ibogfs.df.unibo.it が書きました。``Linux Installation and Getting Started'' の著者、Matt Welsh、``Linux frequently asked questions with answers'' の著者 Ian Jackson、 ``Linux'' の著者 Giuseppe Zanetti に感謝します。また、メール で色々なことを教えてくれた皆さんに感謝します。とりわけ Linux を作った Linus Torvalds と GNU に感謝します。 この文書は「このまま(as is)」の形で提供されます。可能な限り正確である ように務めていますが、この文書にある情報を使うときは自分の責任で実行し てください。この文書の情報に従って生じたいかなる障害にも責任は負いませ ん。 フィードバックを歓迎します。あらゆる種類のリクエストや提案、フレームな どなどは自由に送ってください。 Linux と人生を楽しんでくださいね。 Guido =8-)