レンタルサーバ + Webシステム開発 = E-business

■レンタルサーバご利用参考資料
サーバご利用の参考にJF Project によるJF (Japanese FAQ)を掲載しています。

Linux JF(Japanese FAQ)Project.
JF は, Linux に関する解説文書・FAQ などを作成・収集・配布するプロジェクトです.

グリーンネット・トップページへ戻る


一覧に戻る
  From DOS/Windows to Linux HOWTO
  By Guido Gonzato,
  (Remove
  ``REMOVE_ME'')
  v1.3.2, 22 February 1999
  宮野浩史,  
  v1.3.2, 28 April 2000

  この HOWTO は 全ての Linux (フリーの UNIX クローン) に乗り換えようと決
  心した (もうすぐ過去のものになる?) DOS と Windows ユーザに捧げます。こ
  のドキュメントの目的は読者の DOS や Windows の知識を Linux での環境に
  訳す手伝いをすることと、二つの OS 間でのファイルやリソースの交換につい
  てのヒントを提供することです。
  ______________________________________________________________________

  目次

  1. 序章
     1.1 Linux はあなたに合ってますか?
     1.2 もっと教えてください
        1.2.1 イントロダクション
        1.2.2 助力を得る
     1.3 取り決め

  2. せっかちな人達へ
  3. bash を使ってみる
  4. ファイルとプログラム
     4.1 ファイル: 予備知識
     4.2 シンボリックリンク
     4.3 パーミッションと所有権
     4.4 ファイル: コマンドを翻訳する
        4.4.1 例
     4.5 プログラムの起動: マルチタスクとセッション
     4.6 リモートコンピュータ上でプログラムを実行する

  5. ディレクトリを使う
     5.1 ディレクトリ: 予備知識
     5.2 ディレクトリのパーミッション
     5.3 ディレクトリに関して : DOS と Linux でのコマンドの対応
        5.3.1 例

  6. フロッピー、ハードディスク等
     6.1 DOS スタイルでデバイスを管理する
     6.2 UNIX スタイルでデバイスを管理する
     6.3 バックアップ

  7. Windows は?
  8. システムを自分好みに仕立てる
     8.1 システム初期化ファイル
     8.2 プログラム初期化ファイル

  9. ネットワーキング: コンセプト
  10. ちょっとだけプログラミング
     10.1 シェルスクリプト: バッチファイルの強化版
     10.2 C 言語をあなたに

  11. 残りの 1%
     11.1 tar と gzip を使う
     11.2 アプリケーションのインストール
     11.3 知っておくべきヒント
     11.4 どこでアプリケーションを見付けるか
     11.5 DOS/Win ではできなかったこと
     11.6 DOS/Windows 上で UNIX を体験
     11.7 よく使われる拡張子と関連するプログラム
     11.8 ファイルの変換
     11.9 フリーのオフィス製品

  12. 今のところはこれで終わり
     12.1 著作権
     12.2 免責

  ______________________________________________________________________

  1.  序章

  1.1.  Linux はあなたに合ってますか?

  DOS の世界 (Windows を含む) から Linux へと乗り換えたいんですか?  名案
  です。Linux は DOS や Windows 9x、さらに Windows NT よりも技術的に優れ
  ています。でも注意してください。Linux はあなたの役に立たないかもしれま
  せん。以下は DOS/Windows と Linux の基本的な違いです。

  o  Windows 上では Microsoft Office や多数のゲームが使えますし、簡単な
     インストールや設定が可能です。しかし不安定でパフォーマンスも悪い
     し、よくクラッシュします。

  o  Linux 上では StarOffice、多数の専門ソフトウェア、そして少なめのゲー
     ムが動きます。インストールや設定は難しくもありますが、岩のように堅
     固で欠点のないパフォーマンスで、クラッシュすることはほとんどありま
     せん。

  あなたにとって何が必要なのかはあなた自身が決めることです。付け加えてお
  くと、Linux はあなたにパワーを与えてくれますが、うまく使えるようになる
  まではある程度の時間が必要です。だから、商用のソフトが必要な場合がほと
  んどだったり、新しいコマンドや概念を覚えたりするのが嫌だったりしたら違
  うものを探してください。最初でつまずいて諦めてしまう新顔さんたちがたく
  さんいることを心に置いておいてください。

  Linux をもっと簡単に使えるようにするための作業は進行中ですが、ドキュメ
  ントをたくさん読んで少なくとも Linux を数ヵ月使わないかぎり、熟練した
  ユーザになることを期待しないでください。Linux はすぐには結果をくれませ
  ん。しかしながら、もしもあなたが Linux に合っているタイプの人なら必ず
  Linux に極楽を見付けることを私が保証します。ちなみに Linux と
  DOS/Windows は同じマシン上で幸せに同居できます。

  この HOWTO を読むうえでの条件:

  o  基本的な DOS コマンドとその概念を知っていること

  o  Linux と、できれば X Window System ( X11 と略す) がきちんとあなたの
     PC にインストールされていること

  o  シェル (COMMAND.COM に相当) は bash を使用していること

  特に記載がない限り、文章内の全ての情報は古き悪き DOS を対象としていま
  す。文章内には Windows の情報がちらほらとありますが、Windows と Linux
  は、DOS がお粗末ながらもどことなく UNIX と似ているのと違い、全く異なる
  ものだということを心に止めておいてください。

  注意! このドキュメントは完全な入門書でも設定ガイドでもありません。

  このドキュメントの最新版は以下のサイトからいくつかの形式で入手可能です
  (日本語訳:
  )。

  1.2.  もっと教えてください

  あなたは Linux と必要なプログラムを PC にインストールしました。ユーザ
  アカウントも自分用のものを作成し (まだやってなかったら今すぐ adduser
  あなたの名前 すること!)、Linux が起動しています。ユーザネームとパス
  ワードをタイプし、スクリーンを見つめて思っています。「ふむ、何したらい
  いんだろ?」

  絶望しないでください。あなたはこれから DOS/Win で行ってきたようなこと
  や、そのほか色々なことをする準備がほとんどできたのです。もしあなたが
  Linux ではなく DOS/Win を起動していたなら、以下のようなことをしている
  ことになります。

  o  プログラムの起動、ファイルの作成・コピー・閲覧・削除・印刷・リネー
     ム

  o  ディレクトリの CD、MD、RD、そして DIR を行う

  o  フロッピーのフォーマットとフロッピーへのコピーやその逆

  o  システムを自分好みに仕立てる

  o  ネットサーフィンする

  o  .BAT ファイルやプログラムを好きな言語で記述する

  o  残りの 1%

     あなたはこれらの仕事が、DOS 上で行うのと似た感じで Linux 上でもでき
     ることを知って喜ぶでしょう。DOS 上で普通のユーザは、100 余りあるコ
     マンドの中でも少ししか使いません。Linux でもある程度はそれと同じこ
     とが言えます。

  1.2.1.  イントロダクション

  新しいものを覚えるのに一番よい方法はとにかく試してみることです。ぜひ
  Linux で実験したり、遊んだりしてみてください。 root でログインしない限
  り (実験したり遊んだりしても) システムにダメージを与えることはありませ
  んから。

  要点

  o  まず始めに、どうやって安全に Linux をシャットダウンするか。もしテキ
     ストモードの画面が見えている状態なら  を押しシステム
     がリブートするのを待ち、それから PC のスイッチを切ります。もしも X
     Window System 上にいる場合は  してから  します。絶対にいきなり PC のスイッチを切ったり、リセットし
     たりしないください。ファイルシステムにダメージを与える可能性があり
     ます。

  o   DOS や Windows と違い、Linux には組み込みのセキュリティメカニズム
     があります。ファイルとディレクトリにはパーミッションがあり、その結
     果として普通のユーザではアクセスできないものもあります (``パーミッ
     ションと所有権''を参照)。反対に DOS や Windows ではハードディスクの
     全ての内容を削除できたりしてしまいます。

  o  「root」(システム管理者) はマシン上の全ての生と死をつかさどる特別な
     ユーザです。もしも自分の PC を使うなら、あなたも root になることが
     あります。 root で動き回るのは 危険 です。DOS/Win のように、ささい
     なミスでもシステムに深刻なダメージを与えたり、破壊したりできてしま
     います。絶対に必要というとき以外は root で動き回らないこと。

  o   Linux の複雑さは、そのほとんどどんなことでも設定できてしまうところ
     から来ます。ほとんど全ての特徴やアプリケーションはひとつかそれ以上
     の設定ファイルによって自分の好きなように変更できます。複雑さはパ
     ワーを手に入れるために支払う代償です。

  o  リダイレクトとパイプは DOS ではオマケのような機能ですが、Linux 上で
     は非常に重要で、もっと力強いものです。簡単なコマンドを束にして複雑
     なタスクをこなすこともできます。これらの使い方を覚えることを強く推
     奨します。

  1.2.2.  助力を得る

  Linux で助力を得るにはたくさんの方法があります。もっとも重要な方法は:

  o  ドキュメントを読む --- これは本当です。あなたが読んでいる HOWTO は
     Linux へのイントロダクションとして使えるかもしれませんが、あなたが
     本当に読んだ方がよい本があります。Matt Welsh の 「Linux
     Installation and Getting Started」(
     )、Larry Greenfield の
     「Linux User Guide」(
     )、
     そして Linux FAQ (
      :
     日本語訳  ) です。
     少なくともこれらの内ひとつを読むまではうしろめたい思いをしていてく
     ださい。

  o  マシンにインストールされたパッケージのドキュメントは、ほとんどの場
     合 /usr/doc/ 以下のサブディレクトリ内で見付かります。

  o  シェルの「内部コマンド」について知りたいなら、help とタイプするか、
     もっとよいのは man bash や info bash です。

  o  コマンドについてしりたいなら、man command とタイプすることで、
     command のマニュアル(「man」)ページがあればそれが起動します。または
     info command とタイプすることで、使用可能ならば command に関する
     info ページが起動します。info はハイパーテキストベース文章システム
     で、もしかしたら最初はあまり直観的に使えないかもしれません。最後
     に、apropos command や whatis command を試してみてはどうでしょう。
     これらのコマンドは全て「q」で終了します。

  o  最後にインターネットです。助力を得られる正しい場所は
      のような Usenet です。お願いですから著者
     に助けてもらうためのメールを送らないでください。自分のことだけで手
     一杯なので。

  1.3.  取り決め

  このドキュメント内で例はほとんどの場合以下の形式になります。 <...> は
  必須の引数で、[...] は省略可能です。例:

       $ tar -tf  [> redir_file]

  ここで file.tar は必ず示される必要がありますが、redir_file へのリダイ
  レクトは省略可能です。「RPM」とは「please Read the Man Pages for fur-
  ther information (詳しい情報は Man ページを読んでください)」という意味
  です。どれだけドキュメントを読むことが大切かは強調しきれないくらいで
  す。「DOSWin」とは「DOS/Windows」のことです。

  コマンドのプロンプトが # だったら、そのコマンドは root によってのみ実
  行できます。

  2.  せっかちな人達へ

  さっそく始めますか? この表を参照してください。

  DOS                     Linux                   注意書き
  ------------------------------------------------------------------------------

  ATTRIB (+-)attr file    chmod  file       全く違う
  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                      全く同じ文法でもない
  DIR file /S             find . -name file       完全に別物
  EDIT file               vi file                 好きになれないと思いますよ
                          jstar file              DOS の edit のようです
  EDLIN file              ed file                 忘れましょう
  FORMAT                  fdformat,
                          mount, umount           結構違う文法
  HELP command            man command,            同じコンセプト
                          info command
  MD dirname              mkdir dirname/          ほとんど同じ文法
  MORE < file             less file               はるかに優秀
  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                  大違い!

  もしコマンド表以上の情報が必要なら、続く各セクションを参考にしてくださ
  い。

  3.  bash を使ってみる

  吉報です。Linux ではプロンプトでタイプをするのが実に少なくて済みます。
  なぜなら bash シェルが可能な限りあなたの代わりにタイプしてくれ、さらに
  すてきなラインエディティング能力を持ちます。まず第一に、上矢印キーはひ
  とつ前のコマンドを表示させ、さらに  を押すことでファイルやディレ
  クトリ名を補完できます。

       $ ls /u[TAB]lo[TAB]b[TAB]

  は以下のようにタイプしているようなものです。

       $ ls /usr/local/bin

  タイプ時に不明確な場合は

       $ ls /u[TAB]lo[TAB]i[TAB]

  bash は補完の動きを止めます。なぜならこれが /usr/local/infoを指してい
  るのか /usr/local/include を指しているのか分からないからです。もう少し
  だけ文字を足して、その後  しましょう。

  ほかの便利なキー操作は左向きに一語を削除する  や右向き
  に一語を削除する  です。 はカーソルを一語分右に移動
  し、 は左に移動します。  は行の最初に移動し、
  で最後に移動します。  キーに相当します。

  今はこの程度でよいでしょう。一度これらのショートカットに慣れてしまうと
  DOS のプロンプトにはいらいらさせられるようになるでしょう。

  4.  ファイルとプログラム

  4.1.  ファイル: 予備知識

  Linux は DOS/Win にとても似たディレクトリやファイル構成になっていま
  す。ファイルにはファイル名があり、これらは特別なルールに従います。これ
  らはディレクトリ内にしまわれ、その中には実行可能ファイルもあり、それら
  のほとんどはコマンドスイッチをもっています。さらに、ワイルドカードやリ
  ダイレクト、パイプを使うこともできます。ただし、DOS/Win とは微妙に異な
  る点も少しだけあります。

  o   DOS 上ではファイル名は 8.3 フォームと呼ばれる形式になっています (
     例 NOTENOUG.TXT )。Linux ではよりよいものになっています。もしもあな
     たが ext2 や umsdos 等のファイルシステム上に Linux をインストールし
     た場合は、さらに長いファイル名が使えますし (255 文字まで)、複数の
     ドットを使うことができます (例えば This_is.a.VERY_long.filename)。
     ここで大文字と小文字を混ぜて使ったことに注意してください。実は、

  o  ファイル名やコマンドの大文字と小文字は区別されます。なの
     で、FILENAME.tar.gz と filename.tar.gz は二つの異なるファイルで
     す。ls はコマンドですが、LS は間違いです。

  o  Windows ユーザへ。Linux 上で長いファイル名を使う場合は気を付けなく
     てはならないことがあります。もしもファイル名にスペースが含まれてい
     る場合 (お勧めしませんが可能です)、そのファイル名を入力するときはい
     つでもファイル名を二重引用符で囲む必要があります。例えば:

       $ # 次のコマンドで 「My old files」 という名前のディレクトリを作成します。
       $ mkdir "My old files"
       $ ls
       My old files    bin     tmp

  さらに、次の文字は使うべきではありません: !*$&#

  o  プログラムには .COM や .EXE 、バッチファイルには .BAT というように
     決まった拡張子を付ける必要はありません。ls -F コマンドを実行すると
     実行ファイルにはアスタリスク 「*」がファイル名の後ろにつきます。例
     えば:

  $ ls -F
  I_am_a_dir/   cindy.jpg    cjpg*   letter_to_Joe    my_1st_script*  old~

  cjpg* と my_1st_script* は実行可能ファイル、つまりは「プログラム」で
  す。バックアップファイル名は DOS 上では .BAK でおわりますが、Linux で
  は波線「~」になります。さらに、ファイル名がドットから始まるファイルは
  隠しファイルと見なされます。例えば .I.am.a.hidden.file という名前の
  ファイルは ls コマンドでは表示されません。

  o   DOS プログラムのスイッチは /switch で使うことができますが、Linux
     でのスイッチは -switch か --switch となります。つまり dir /s は ls
     -R になります。たくさんの DOS プログラムでも、例えば PKZIP や ARJ
     などは UNIX スタイルのスイッチを使うことを覚えておいてください。

  ``コマンドを DOS から Linux へ翻訳する'' のセクションまで一気に読み飛
  ばすこともできますが、私があなただったらこのまま読み続けます。

  4.2.  シンボリックリンク

  UNIX には DOS では存在しないようなタイプのファイルがあります。シンボ
  リックリンクです。これはファイルやディレクトリを指し示すもの (ポイン
  タ) で、それが指し示すファイルやディレクトリの代わりとして使用できま
  す。これは Windows のショートカットに似ていますね。シンボリックリンク
  の例として、/usr/X11R6/ を指し示す /usr/X11、/dev/ttyS0 か /dev/ttyS1
  を指し示す /dev/modem 等があります。

  シンボリックリンクを作るには:

       $ ln -s  

  例:

       $ ln -s /usr/doc/g77/DOC g77manual.txt

  これで /usr/doc/g77/DOC を参照する代わりに g77manual.txt を参照できま
  す。ディレクトリを表示させた場合、リンクは以下のように見えます。

       $ ls -F
       g77manual.txt@
       $ ls -l
       (several things...)           g77manual.txt -> /usr/doc/g77/DOC

  4.3.  パーミッションと所有権

  DOS のファイルとディレクトリは次のような属性を持ちます。 A (アーカイ
  ブ)、H (隠しファイル)、R (読み専用)、そして S (システムファイル)。 H
  と R だけが Linux 上では意味のあるものとなります。隠しファイルはドット
  で始まります。 R 属性についてはこのまま読み進めてください。

  UNIX 上ではファイルには「パーミッション」と所有者、そして所有グループ
  が存在します。次の例を見てください。

       $ ls -l /bin/ls
       -rwxr-xr-x  1  root  bin  27281 Aug 15 1995 /bin/ls*

  最初のフィールドは /bin/ls のパーミッションを含み、 /bin/ls は root に
  所有され、グループ bin に所属します。残りの情報は置いておいて、-rwxr-
  xr-x の意味を探ってみましょう。左から右へ読んでいきます。

  - はファイルのタイプを意味します(- = 普通のファイル、 d = ディレクト
  リ、l = リンク、等)。 rwx はファイル所有者のパーミッションを意味します
  (read(読み)、write(書き)、execute(実行));(ここでは group の意味を説明
  しませんが、初心者ならこの意味を知らなくてもやっていけるでしょう ;-)
  r-x はほかのユーザに対するパーミッションです(read、execute)。

  ディレクトリ /bin もパーミッションを持ちます (詳しくは ``ディレクトリ
  のパーミッション'' を参照)。 root でない限り /bin/ls ファイルを削除で
  きないのは、パーミッションで許可されていないからです。ファイルのパー
  ミッションを変更するには次のようにコマンドを打ちます。

       $ chmod  

  who は u (user、つまり所有者)、g (group)、o (other)、 X は + か
  -、perm は r (read)、w (write)、か x (execute)。一般的な chmod の使い
  方は次のようになります。

       $ chmod +x file

  これでファイルを実行可能にします。

       $ chmod go-rw file

  所有者以外の読み書き権限を剥奪します。

       $ chmod ugo+rwx file

  全てのユーザに読み書き、そして実行の権限を与えます。

       # chmod +s file

  これは「setuid」とか、「suid」と呼ばれるファイル (全てのユーザが所有者
  の権限でファイルを実行できる) を作ります。よく見かけるのは root に
  setuid したファイルです。これらは重要なシステムファイルであることがよ
  くあります ( X サーバ等)。

  数字を使うことによってパーミッションを素早く設定できます。 rwxr-xr-x
  は 755 と表現されることができます (全ての文字はビットに対応します:---
  は 0、--x は 1、-w- は 2 、-wx は 3 というように)。難しく見えるかもし
  れませんが、ちょっと使い込めばすぐ理解できると思います。 root (スー
  パーユーザ) は全てのユーザのファイル権限を変更できます。RMP。

  4.4.  ファイル: コマンドを翻訳する

  左側は DOS コマンド、右側は対応する Linux のコマンド。

       ATTRIB:         chmod
       COPY:           cp
       DEL:            rm
       MOVE:           mv
       REN:            mv
       TYPE:           more, less, cat

  リダイレクト記号とパイプ記号:  < > >> |

  ワイルドカード: * ?

  nul:        /dev/null

  prn, lpt1:  /dev/lp0 か /dev/lp1; lpr

  4.4.1.  例

  DOS                                     Linux
  ---------------------------------------------------------------------

  C:\GUIDO>ATTRIB +R FILE.TXT             $ chmod 400 file.txt
  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
          n/a                             $ more *.txt *.asc
          n/a                             $ cat section*.txt | less

  注意:

  o  * は Linux 上では便利に使えます:* は隠しファイルを除く全てのファイ
     ルにマッチします。.* は全ての隠しファイルにマッチ (カレントディレク
     トリ「.」と、親ディレクトリ「..」にもマッチすることに注意!);*.* は
     中間か終わりがドットのファイルにマッチし、 p*r は「peter」と
     「piper」両方にマッチします。*c* は「picked」と「peck」の両方にマッ
     チします。

  o  more を使用するとき、 を押してファイルを読み進め、「q」で終
     了します。less はさらに直観的に扱え、矢印キーを使うことができます。

  o  UNDELETE は存在しないので、何を削除するまえにも良く考えてください。

  o  DOS で使える < > >> のほかにも、Linux は 2> でエラーメッセー
     ジ(stderr)をリダイレクトできます。さらに、 2>&1 は stderr から
     stdout にリダイレクトし、 1>&2 は stdout から stderr にリダイレクト
     します。

  o   Linux にはほかにもワイルドカードがあります。 [] 使い方: [abc]* は
     a、b、c で始まるファイルにマッチします。*[I-N1-3] は
     I、J、K、L、M、N、1、2、3 で終わるファイルにマッチします。

  o   lpr  はファイルをバックグラウンドで印刷します。プリント待ち
     の状態を調べるには lpq、プリント待ちの状態からファイルを削除する場
     合は lprm を使います。

  o  DOS のような RENAME は存在しません。つまり、mv *.xxx *.yyy はできな
     いということです。REN に似たコマンドは以下で入手可能です。
     

  o   cp -i や mv -i を使えばファイルが上書きされるときに警告を表示でき
     ます。

  4.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 に切替えるには  と押します。

  o  現在の仮想コンソールから去ることなく新しいセッションを同じ仮想コン
     ソール内で始めるには、su -  とタイプします。例えば su -
     root。これは root でしか実行できないタスクを実行したいときなどに役
     に立ちます。

  o  セッションを終わるには、exit とタイプします。これによって停止された
     プロセス(後を参照)があれば警告がでます。

  o  バックグラウンドでプロセスを実行するにはアンド「&」をコマンドライン
     の終わりに付け足します。

       $ progname [-switches] [parameters] [< input] [> output] &
       [1] 123

  シェルはプロセスをジョブ番号と(例:  [1]; 下を参考)、 PID 番号(Process
  Identification Number; 上記の例では 123 )で認識します。

  o  いくつのプロセスが実行されているのかを調べるには ps ax とタイプしま
     す。これは現在起動しているプロセスのリストを出力します。

  o  プロセスを kill する (終了させる) には kill  とタイプします。
     どうやればプロセスを正しい方法で終了させるか分からない場合はプロセ
     スを kill することが必要になるかもしれません。あなたが root でない
     限り、ほかのユーザのプロセスを kill することはできません。プロセス
     は kill -SIGKILL  によってでしか kill できないこともあります。

     付け加えると、シェルはプロセスを止めたり、一時的にサスペンドした
     り、プロセスをバックグラウンドに送ったり、バックグラウンドから前面
     に持って来たりできます。この環境ではプロセスは「ジョブ(job)」と呼ば
     れます。

  o  いくつのジョブが実行されているかを調べるには jobs とタイプします。
     ここではジョブは PID 番号ではなくジョブ番号によって認識されます。

  o  最前面で実行されているプロセスを止めるには  を押します (い
     つもうまく行くとは限りません)。

  o  最前面で実行されているプロセスをサスペンドするには  を押し
     ます(同上)。

  o  サスペンドされていたプロセスをバックグラウンドに呼び戻すには bg
     <%job とタイプします(これはジョブになる)。

  o  ジョブを最前面に持って来るには fg <%job とタイプします。最後にバッ
     クグラウンドに送られたジョブを最前面に持って来るには単純に fg とタ
     イプします。

  o  ジョブを kill するには、kill <%job とタイプします。 <%job の所は
     1、2、3 .. のようになります。

  これらのコマンドを使うことによってディスクをフォーマットしたり、たくさ
  んのファイルを zip で圧縮したり、プログラムをコンパイルしたり、アーカ
  イブを unzip したりしつつ、同じときにプロンプトを自由に使えます。同じ
  ことを Windows 上でやってみてどれだけパフォーマンスに違いがあるか試し
  てみてください(もちろんクラッシュしなかったらの話ですが)。

  4.6.  リモートコンピュータ上でプログラムを実行する

  remote.machine.edu という名前のリモートマシン上でプログラムを実行する
  には:

       $ telnet remote.machine.edu

  ログインの後は好きなプログラムを実行できます。当然ですが、あなたはリ
  モートマシン上にもアカウントを持っている必要があります。

  もしも X11 を持っているならリモートコンピュータ上で X アプリケーション
  を実行して、それを自分の X 画面上に表示することもできま
  す。remote.machine.edu がリモート X コンピュータで local.linux.box が
  あなたの Linux マシンだと想定すると local.linux.box から
  remote.machine.edu にある X プログラムを実行するには以下のようにしま
  す:

  o  X11 を立ち上げ xterm か同等のターミナルエミュレータを起動し、以下の
     ようにタイプします:

       $ xhost +remote.machine.edu
       $ telnet remote.machine.edu

  o   ログインが終わったら次のようにタイプします:

       remote:$ DISPLAY=local.linux.box:0.0
       remote:$ progname &

  (DISPLAY... とタイプする代わりに、setenv DISPLAY local.linux.box:0.0
  とタイプする必要があるかもしれません。これはリモートコンピュータのシェ
  ル次第)

  するとどうでしょう! progname が remote.machine.edu で起動され、あなた
  のマシン上に表示されます。しかし遅くて使い物にならないのでこれをモデム
  間では行わないください。さらに、これは危なっかしく雑な方法です。
  「Remote X Apps mini-HOWTO」
   (日本語訳:
  ) を読んでみてく
  ださい。

  5.  ディレクトリを使う

  5.1.  ディレクトリ: 予備知識

  これまで DOSWin と Linux 上でのファイルの違いについて見てきました。
  ディレクトリでは DOSWin 上ではルートディレクトリは \ ですが、 Linux 上
  では / となります。同様に、ネストされたディレクトリは DOSWin 上では \
  で、Linux 上では / で分けられます。ファイルパスの例:

       DOS:    C:\PAPERS\GEOLOGY\MID_EOC.TEX
       Linux:  /home/guido/papers/geology/middle_eocene.tex

  いつものように、.. は親ディレクトリ、. はカレントディレクトリを示しま
  す。覚えておいて欲しいのは、システムはあなたに cd や rd をどこでも実行
  させてくれるわけではないということです。それぞれのユーザはシステム管理
  者からもらう「home」と呼ばれるディレクトリ内にそれぞれのファイル等を保
  持します。例えば私のコンピュータの私のホームディレクトリは /home/guido
  です。

  5.2.  ディレクトリのパーミッション

  ディレクトリもパーミッションを持っています。``パーミッションと所有権''
  セクションで覚えたことはディレクトリにも通用します( user、group、と
  other)。ディレクトリの場合 rx というのはあなたがそのディレクトリに cd
  できるということです。そして w の意味はディレクトリ内にあるファイルや
  ディレクトリ自体を削除できるということです (もちろんファイルのパーミッ
  ションに従ってですが)。

  例えば、ほかのユーザが /home/guido/text 内でうろつくのを防ぐには:

       $ chmod o-rwx /home/guido/text

  5.3.  ディレクトリに関して : DOS と Linux でのコマンドの対応

       DIR:            ls, find, du
       CD:             cd, pwd
       MD:             mkdir
       RD:             rmdir
       DELTREE:        rm -rf
       MOVE:           mv

  5.3.1.  例

       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
               N/A - 「注意」を参照            $ 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 -rf temp/trash
       C:\GUIDO>RD NEWPROGS                    $ rmdir newprogs
       C:\GUIDO>RD \PROGS\TURBO                $ rmdir /progs/turbo

  注意:

  o   rmdir を使うときは削除されるディレクトリは空っぽでなくてはいけませ
     ん。ディレクトリとそれ以下の全てのファイルを削除するには rm -rf を
     使ってください (するときは自分の責任で)。

  o  「~」はあなたのホームディレクトリ名のショートカットです。 cd か cd
     ~ することで、どこにいても自分のホームディレクトリに移動できま
     す。cd ~/tmp とタイプすれば /home/your_home/tmp に移動します。

  o   cd - は最後の cd コマンド を 「やりなおします」。

  6.  フロッピー、ハードディスク等

  デバイスを Linux 上で管理する方法は二種類あります: DOS スタイルと UNIX
  スタイル。好きな方を選んでください。

  6.1.  DOS スタイルでデバイスを管理する

  ほとんどの Linux ディストリビューションは Mtools を含みます。これは、
  働きは DOS のものとまったく同じコマンド群ですが、コマンド名の頭に m が
  ついています。例えば mformat、mdir、 mdel、mmd といったようにです。こ
  れらはロングファイル名を保持することもできますが、ファイルのパーミッ
  ションの保持はできません。 Mtools の設定ファイル /etc/mtools.conf (サ
  ンプルはディストリビューションから提供されています) を編集すれば、
  DOS/Win パーティション、CD-ROM、ZIP ドライブにアクセスできるようになり
  ます。しかし、新しいディスクをフォーマットするには mformat ではなく
  root 権限で fdformat /dev/fd0H1440 を実行しなくてはいけません。

  less a:file.txt のようにフロッピーにアクセスすることはできません! これ
  は DOS スタイルでディスクにアクセスする不便さとも言えます。

  6.2.  UNIX スタイルでデバイスを管理する

  UNIX は異なった方法でデバイスを扱います。これには A: や C: ドライブの
  ような別々に分かれたボリュームは存在しません。フロッピーだろうが何だろ
  うが、ディスクは「マウント」することによってローカルシステムの一部にな
  ります。ディスクを使用し終わったときはディスクを取り出すまえに「アンマ
  ウント」をする必要があります。

  物理的にディスクをフォーマットするのと、ファイルシステムをその上に作成
  するのは別のことです。DOS のコマンド FORMAT A: は両方を行います
  が、Linux 上では別々のコマンドで行います。フロッピーをフォーマットする
  には上を参照してください。ファイルシステムを作成するには:

       # mkfs -t ext2 -c /dev/fd0H1440

  dos、vfat (推奨) や、そのほかのフォーマットを ext2 の代わりに使うこと
  もできます。ディスクが準備されたら次のコマンドでマウントします。

       # mount -t ext2 /dev/fd0 /mnt

  ext2 を使わない場合は正しいファイルシステムを指定してください。これ
  で、A: や B: の代わりに /mnt を使ってフロッピー内のファイルを参照でき
  ます。例:

       DOS                                     Linux
       ---------------------------------------------------------------------

       C:\GUIDO>DIR A:                         $ ls /mnt
       C:\GUIDO>COPY A:*.*                     $ cp /mnt/* .
       C:\GUIDO>COPY *.ZIP A:                  $ cp *.zip /mnt
       C:\GUIDO>EDIT A:FILE.TXT                $ jstar /mnt/file.txt
       C:\GUIDO>A:                             $ cd /mnt
       A:> _                                   /mnt/$ _

  使い終わったらディスクを引き抜くまえに絶対に次のコマンドでアンマウント
  をしてください。

       # umount /mnt

  当然ですが、fdformat と mkfs をしなくてはいけないのはフォーマットされ
  ていないディスクに対してだけで、以前使われたことのあるディスクにではあ
  りません。もし B: ドライブを使いたい場合は上の例の fd0H1440 と fd0
  を、 fd1H1440 と fd1 に入れ換えてください。

  いう必要もありませんが、フロッピーに通用することはほかのデバイスにもあ
  てはまります。例えば、ほかのハードディスクや CD-ROM ドライブをマウント
  したいときは、下の方法で CD-ROM をマウントできます。

       # mount -t iso9660 /dev/cdrom /mnt

  これは「正式」なマウントの仕方ですが、とっておきの裏技があります。フ
  ロッピーや CD-ROM をマウントするためにわざわざ root になるのも面倒なの
  で、以下の方法で全てのユーザがマウントできるようになります:

  o   root になって以下を行います:

       # mkdir /mnt/floppy ; mkdir /mnt/cdrom
       # chmod 777 /mnt/floppy /mnt/cd*
       # # 正しい CD-ROM デバイスか確認
       # chmod 666 /dev/hdb ; chmod 666 /dev/fd*

  o   /etc/fstab に次の行を付け足します:

       /dev/cdrom      /mnt/cdrom  iso9660 ro,user,noauto          0       0
       /dev/fd0        /mnt/floppy vfat    user,noauto             0       0

  そして DOS フロッピーや CD-ROM をマウントするには:

       $ mount /mnt/floppy
       $ mount /mnt/cdrom

  /mnt/floppy と /mnt/cdrom はこれで全てのユーザからアクセスできます。こ
  の方法で全てのユーザからのマウントを可能にさせることは、重大なセキュリ
  ティホールにもつながることを覚えておいてください(あなたが気にすればの
  話ですが)。

  二つの役に立つコマンドは、マウントされたファイルシステムの情報を表示す
  る df と、ディレクトリによって使われているディスク容量を報告する du
  dirname です。

  6.3.  バックアップ

  いくつかの役に立つパッケージがありますが、マルチボリュームバックアップ
  で最低限できることとして ( root 権限):

       # tar -M -cvf /dev/fd0H1440 dir_to_backup/

  フォーマットされたフロッピーがドライブに入っていて、挿入されているもの
  以外にも何枚か用意されていることを確認してください。フロッピー内のファ
  イルを元に戻すには、最初のフロッピーをドライブに入れて次のコマンドを実
  行してください。

       # tar -M -xpvf /dev/fd0H1440

  7.  Windows は?

  Windows に「相当するもの」として、グラフィックシステム X Window System
  があります。Windows や Mac と違い、X11 は使いやすくするためや、見た目
  を良くするために設計されたのではなく、UNIX ワークステーションにグラ
  フィック設備を提供するために設計されました。以下は主要な違いです。

  o  Windows の見た目と動作は世界中どこでも同じですが、X11 は違います。
     断然に設定度が自由で、X11 の全体的な見た目は「Window Manager」と呼
     ばれる要素から成り立ちます。これらには次のような種類があります:
     fvwm は基本的ですが悪くないしメモリ節約にもなります。fvwm2-95、
     Afterstep、WindowMaker、Enlightenment、とそのほか多数。 Window
     Manager は普通 .xinitrc から呼び出されます。

  o   Window Manager の設定次第では、個々のウインドウを実はあの Windows
     のように操作できてしまいます (クリックすると前面にでてくる)。ほかの
     可能性としては、マウスがそれの上に来たときに (フォーカス) 前面にで
     てきます。ウインドウが画面上に置かれる位置は自動かインタラクティブ
     かのどっちかになります。もし妙なフレームがプログラムの代わりに現れ
     たら、ウインドウを表示したい位置で左クリックをしてください。

  o  ほとんどの機能はひとつかそれ以上の設定ファイルを編集することによっ
     てカスタマイズができます。Window Manager のドキュメントを読みましょ
     う: 設定ファイルは .fvwmrc、.fvwm2rc95、.steprc 等。サンプルの設定
     ファイルは普通 /etc/X11/window-manager-name/system.window-manager-
     name で見付かります。

  o  X11 アプリケーションは特別なライブラリを使って書かれています(「ウィ
     ジェットセット」)。これにはいくつか種類がありますので、アプリケー
     ションは見た目が違って見えます。最も基本的なのは Athena ウィジェッ
     トを使ったアプリケーションです (2-D の見た目;xdvi、xman、 xcalc
     等)。Motif を使うものもあります (netscape)。ほかには
     Tcl/Tk、XForms、Qt、Gtk、等。これらほとんどのライブラリは Windows
     とほぼ同じ見た目と動作を提供します。

  o  動作はあいにく統一されていません。例えば、一行のテキストをマウスで
     選択して、 を押せばその行が消えると思いますよね? でも、
     これは Athena ベースのアプリケーションでは通用しません。それ以外で
     のウィジェットセットでは通用しますが。

  o  スクロールバーやサイズ変更がどのように作用するかは Window Manager
     とウィジェットセット次第です。ヒント: もしもスクロールバーがあなた
     の思った通りに動いてくれなかったら真ん中のボタンか、または二つのボ
     タンを一緒に押してこれらを動かしてみましょう。

  o  アプリケーションはデフォルトではアイコンを持ちませんが、たくさん持
     つこともできます。ほとんどの Window Manager はデスクトップ (「ルー
     トウインドウ」) をクリックすることでメニューがでます。言うまでもな
     く、このメニューも好きなように設定できます。ルートウインドウの見た
     目を変更するには xsetroot かxloadimage を使います。

  o  クリップボードはテキストのみ保持でき、奇妙な動きをします。 [訳注:
     左ボタンをドラッグして] テキストを選択したら、その時点でテキストは
     クリップボードにコピーされています。好きな場所に移動してから中央の
     ボタンを押して貼りつけします。xclipboard というアプリケーションを使
     えば複数のテキストがクリップボードに保存できます。

  o  ドラッグアンドドロップはサポートされているアプリケーション、または
     Window Manager 上で使用可能です。

     メモリの節約のため、同じライブラリを使うアプリケーションだけを使う
     べきですが、これは実際には難しいでしょう。

  X11 の見た目と動作を Windows と同じくらい統一させることを目的としてい
  るプロジェクトがあります。 GNOME   (日本 GNOME
  ユーザ会 ) や KDE   (日本
  KDE ユーザ会 ) は素晴らしいです。試してみてくだ
  さい。もう Windows がなくてもよくなるでしょう。

  8.  システムを自分好みに仕立てる

  8.1.  システム初期化ファイル

  DOS 上での二つの重要なファイルは AUTOEXEC.BAT と CONFIG.SYS です。ブー
  ト時にシステムを初期化したり、PATH や FILES 等の環境変数を設定したり、
  プログラムやバッチファイルを起動することもできます。 Linux 上ではたく
  さんの初期化ファイルがあります。その中のいくつかは自分が何をやっている
  のか完全に分かるようになるまではいじくらないほうがよいものもあります。
  とりあえず、どれが一番重要か紹介します。

       ファイル                                注意

       /etc/inittab                            今のところはさわらない!
       /etc/rc.d/*                             同上

  もしあなたが PATH やそのほかの環境変数の設定、ログインメッセージの変更
  や、ログイン後に自動でプログラムを起動したいだけなら、次のファイルを参
  照してください。

       ファイル                                注意

       /etc/issue                              ログインまえのメッセージ設定
       /etc/motd                               ログイン後のメッセージ設定
       /etc/profile                            $PATH やそのほかの環境変数設定、そのほか
       /etc/bashrc                             エイリアスや関数の設定、そのほか
       /home/your_home/.bashrc                 あなたのエイリアスや関数の設定
       /home/your_home/.bash_profile   または
       /home/your_home/.profile                環境設定、あなたのプログラム起動

  最後に挙げたどちらかのファイル(これは隠しファイルなので注意)が存在する
  場合、これらはログイン後に読み込まれ、ファイル内に書かれたコマンドが実
  行されます。

  例 --- これを参照 .bash_profile:

  ______________________________________________________________________
  # これはコメント
  echo Environment:
  printenv | less   # DOS 上の SET コマンドに相当
  alias d='ls -l'   # エイリアスとは何か簡単に理解できる
  alias up='cd ..'
  echo "あなたのパスは "$PATH
  echo "今日は `date`"  # コマンド 'date' の出力を使用
  echo "よい一日を、"$LOGNAME
  # これは "シェル関数" です
  ctgz() #  .tar.gz アーカイブの内容をリスト
  {
    for file in $*
    do
      gzip -dc ${file} | tar tf -
    done
  }
  # end of .profile
  ______________________________________________________________________

  $PATH と $LOGNAME はお察しの通り環境変数です。ほかにもたくさんのものが
  あります。例えば less や bash のようなアプリケーションを RMP してくだ
  さい。

  以下の行を /etc/profile に追加することで PROMPT $P$Gに相当するプロンプ
  トを提供します。

       export PS1="\w\\$ "

  8.2.  プログラム初期化ファイル

  Linux 上ではほとんど全てをあなたの好みに仕立てることができます。ほとん
  どのプログラムはひとつ以上のあなたが好きにできる初期化ファイルが普通は
  .prognamerc というような名前であなたのホームディレクトリに置かれていま
  す。最初に編集するべきなのは:

  o
      .inputrc: bash によってキーバインディングを定義する

  o
      .xinitrc: startx によって X Window System を初期化する

  o
      .fvwmrc: ウインドウマネージャ fvwm によって使用される

  o
      .joerc, .jstarrc: エディタ joe によって使用される

  o
      .jedrc: エディタ jed によって使用される

  o   .pinerc: メールリーダ pine によって使用される

  o
      .Xdefault: たくさんの X プログラムによって使用される

  以上の各ファイルのほか、あなたがいずれ扱うことになるファイルについて
  は、RMP してください。

  Configuration HOWTO を読んでみてもよいかもしれません
   (日本語訳:
  。

  9.  ネットワーキング: コンセプト

  Linux 上では「ダイアルアップネットワーク」は使用可能なだけではなく、さ
  らに安定していて速いものになっています。「PPP」(モデムを使ってインター
  ネット接続を行うプロトコル) がそれにあたります。カーネルが PPP をサ
  ポートしていることと、電話をかけて接続をするツールが必要です。

  プロバイダのサーバからあなたのメールを取って来るには、POP プロトコルを
  使用する「email fetcher」と呼ばれるツールが必要です。メールが取り込ま
  れたときには、あたかもあなたの Linux box に直接メールが届けられたよう
  に見えます。それから pine や mutt、elm 等多くの MUA(Mail User Agent)
  を使用してメールを管理します。

  Windows ではダイアラがインターネットアプリケーションを起動したときに自
  動的に起動しますが、Linux ではその逆になります。最初にダイアルして、そ
  れからアプリケーションを起動します。diald と呼ばれるものが普通この動作
  を提供します。ダイアルアップネットワークのインストールと設定をすること
  は Linux で達成するのがもっとも難しいと言われていましたが、今はもう違
  います。Configuration HOWTO を参照してみてください。

  最後に 「ネットワークコンピュータ」について。あなたの Linux ワークス
  テーション を Windows で組まれたローカルネットワーク上で Windows NT/9x
  のように見せかけることができます! この魔法の合い言葉は Samba です。こ
  れはブラジルのダンスではなく、Linux のための SMB プロトコルを実行する
  ものです。  (日本 Samba ユーザ会 If all
  you need is setting the PATH and other:  ) に
  行ってみましょう。

  10.  ちょっとだけプログラミング

  10.1.  シェルスクリプト: バッチファイルの強化版

  DOS を利用していたとき長いコマンドラインのショートカットを作るために
  バッチファイルを使用していたなら (私もよくしました)、同じ目的は適切な
  エイリアスをprofile や .bash_profile に記述することで達成できます (上
  の例を参照)。 でも、もっと複雑なバッチファイルを使っていたならシェルに
  よるスクリプト言語をきっとあなたは好きになるはずです。これは古き良き
  QBasic と同じか、それ以上にパワフルです。これは変数や while、for、
  case、if... then... else  のような構造を持ち、そのほかにもたくさんの特
  徴があります。これは「本物」のプログラミング言語の代わりになります。

  スクリプト (DOS 上の .BAT に相当) を書くには、命令を含んだ標準の ASCII
  ファイルを記述し、セーブします。その後 chmod +x  コマンド
  で実行可能にすればよいだけです。スクリプトを実行するにはファイル名をタ
  イプしてください。

  注意! vi と呼ばれるシステムエディタがありますが、これは私の経験から
  言って初心者の方には使うのがとても難しいと感じると思います。ここでは使
  い方などは説明しませんが、Matt Welsh の本やネットでチュートリアルを探
  してそれらを参考にしてください。ここでは以下の説明にとどめておきます。

  o  テキストを挿入するには i とタイプしてから

  o  文字を削除するには  の後に x とタイプ

  o  セーブしないで終了するには  の後に :q! とタイプ

  o  セーブしてから終了するには  の後に :wq とタイプ

  初心者向けのよいエディタに joe があります。jstar とタイプすることで起
  動でき、これは DOSWin のエディタと同じキーバインディングを持ちま
  す。jed の WordStar や IDE モードはさらによいです。 ``どこでアプリケー
  ションを見付けるか'' のセクションで、どこからこれらのエディタをダウン
  ロードできるか見付けてください。

  bash 上でのスクリプト記述はとても幅の広いサブジェクトであり、それだけ
  で本が書けてしまえますので、これ以上は深入りしません。ここでは単純に基
  本となるルールを覚えてもらうためにシェルスクリプトの例を挙げることにし
  ます:

  ______________________________________________________________________
  #!/bin/sh
  # sample.sh
  # これはコメント
  # 一行目を編集しないように。それはそこにある必要があります。
  echo "このシステムは:" `uname -a` # コマンドの出力を使う
  echo "私の名前は $0" # 組込みの変数
  echo "あなたは次の" $# "パラメータを与えました: "$*
  echo "最初のパラメータは: "$1
  echo -n "あなたの名前は? " ; read your_name
  echo 違いに気づきますか: "hi $your_name" # " で引用
  echo 違いに気づきますか: 'hi $your_name' # ' で引用
  DIRS=0 ; FILES=0
  for file in `ls .` ; do
    if [ -d ${file} ] ; then # ファイルがディレクトリなら
      DIRS=`expr $DIRS + 1`  # DIRS = DIRS + 1
    elif [ -f ${file} ] ; then
      FILES=`expr $FILES + 1`
    fi
    case ${file} in
      *.gif|*jpg) echo "${file}: 画像ファイル" ;;
      *.txt|*.tex) echo "${file}: テキストファイル" ;;
      *.c|*.f|*.for) echo "${file}: ソースファイル" ;;
      *) echo "${file}: 一般的なファイル" ;;
    esac
  done
  echo " ${DIRS} 個のディレクトリと ${FILES} 個のファイルが見付かりました"
  ls | grep "ZxY--!!!WKW"
  if [ $? != 0 ] ; then # コードの最後のコマンドから exit する
    echo "ZxY--!!!WKW not found"
  fi
  echo "これで十分かな。。さらなる情報は 'man bash'"
  ______________________________________________________________________

  10.2.  C 言語をあなたに

  好む好まざるとを問わず、UNIX 上でのシステム言語は C です。ほかにもたく
  さんの言語 (Java、FORTRAN、Pascal、Lisp、Basic、Perl、awk...) が使用可
  能です。

  あなたが C を知っているものとして、これらは今まで Turbo C++ やそれら
  DOS 用のコンパイラを使ってきた人へのガイドラインです。Linux の C コン
  パイラは gcc と呼ばれ、これはベルや笛などの DOS のもので通常付属されて
  いる機能を欠きます。IDE、オンラインヘルプ、統合されたデバッガなどもあ
  りません。単純なコマンドラインのコンパイラですがとても強力で有能です。
  標準の hello.c をコンパイルするには:

       $ gcc hello.c

  これで実行ファイル a.out を作成します。実行ファイルに違う名前を与える
  には

       $ gcc -o hola hello.c

  ライブラリをプログラムにリンクするには、-l のようなスイッチを
  追加します。例えば数学ライブラリをリンクするには

       $ gcc -o mathprog mathprog.c -lm

  (-l スイッチは gcc にライブラリ /usr/lib/lib.so をリ
  ンクさせます。つまり -lm は /usr/lib/libm.so をリンクします)

  ここまではいい感じですね。でもプログラムが複数のソースファイルによって
  できている場合は、make というユーティリティを使う必要があります。仮に
  あなたが式の構文解析をするプログラムを書いたとします。これのソースファ
  イルには parser.c と #include される二つのヘッダファイル、parser.h と
  xy.h があります。 parser.c にあるルーチンを parser.h を #include する
  calc.c で使いたいとします。なんてめちゃくちゃな! どうやったら calc.c
  をコンパイルできるのでしょう?

  そこで、コンパイラにソースとオブジェクトファイル間の依存状況を教える
  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 は二つのソースファイルに依存します

  parser.o:  parser.c parser.h xy.h
  gcc -c parser.c
  # parser.o は三つのソースファイルに依存します

  # Makefile 終了
  ______________________________________________________________________

  このファイルを Makefile という名前で保存し、プログラムをコンパイルする
  ために make とタイプしましょう。そのほかの手段として、 calc.mak という
  名前で保存し、make -f calc.mak とタイプすることもできます。そしてこれ
  はもちろん RMP してみてください。 man に載っている C 関数についての情
  報を使用することもできます。例えばセクション 3 だったら以下のようにし
  ます。

       $ man 3 printf

  プログラムをデバッグするには gdb を使いましょう。使い方は info gdb で
  学びましょう。

  Linux ではたくさんのライブラリが使用可能です。この中でも ncurses (テキ
  スト効果)、そして svgalib (コンソールグラフィックス) を最初に使ってみ
  たくなるでしょう。もしあなたに勇気があれば X11 プログラミングに挑戦し
  てみるのも悪くないかもしれません (そんなには難しくありません)。 X11 プ
  ログラム記述を簡単にする複数のライブラリがあります。
   を見てみてください。でも
  Gtk が Linux 標準になって来ていることを忘れずに。

  たくさんのエディタは IDE となることもできます。例えば emacs と jed に
  は文章構成ハイライト、自動インデント、といったたくさんの機能がありま
  す。ほかの方法として、
  .  から rhide パッ
  ケージを入手してみるのもいいかもしれません。これは Borland IDE のク
  ローンで、あなたも気に入ると思います。

  11.  残りの 1%

  実際にはとても 1% ではすみませんが……

  11.1.  tar と gzip を使う

  UNIX 上ではファイルをまとめたり(アーカイブ、書庫)、圧縮するのに、よく
  使われるアプリケーションがあります。tar は書庫を作成するのに使われま
  す。これは PKZIP や Winzip に似ていますが、圧縮は行わず、ファイルをま
  とめて書庫を作るのみです。新しいアーカイブを作るには:

       $ tar -cvf   [file...]

  アーカイブからファイルを抽出するには:

       $ tar -xpvf  [file...]

  アーカイブの内容を参照するには:

       $ tar -tf  | less

  ファイルを圧縮するには compress (もう古いので使わないべき) か、gzip が
  使えます:

       $ compress 
       $ gzip 

  これで拡張子 .Z (compress) や .gz (gzip) のついた圧縮ファイルが作成さ
  れます。これらのプログラムは一回にひとつのファイルしか圧縮できません。
  ファイルを解凍するには:

       $ compress -d 
       $ gzip -d 

  RMP。

  そのほかにも unarj、zip や unzip (PK??ZIP 互換)といったユーティリティ
  があります。.tar.gz や .tgz (tar でアーカイブされて、gzip で圧縮され
  たもの)といった拡張子のファイルは UNIX の世界では DOS でいう .ZIP
  ファイルと同じくらい一般的に使われます。.tar.gz アーカイブの内容を参照
  するには:

       $ tar -ztf  | less

  11.2.  アプリケーションのインストール

  まず最初に: パッケージのインストールは root の役目です。ほとんどの
  Linux のアプリケーションは .tar.gz アーカイブで配布され、それらのアー
  カイブには適切な名前のついたディレクトリがひとつ入っており、そのディレ
  クトリ内には各種ファイルやサブディレクトリが入っています。これらのパッ
  ケージをインストールする上での決まりは、以下のコマンドを使って
  /usr/local 配下にインストールすることです。

       # tar -zxf 

  その後 README や INSTALL ファイルを読みましょう。ほとんどの場合アプリ
  ケーションはソースで配布されているので、コンパイルする必要があります。
  ほとんどの場合 make そして、make install とタイプするだけでよいでしょ
  う。もしアーカイブが configure スクリプトを含んでいる場合それを先に実
  行しましょう。当然ですが、これらには gcc や g++ コンパイラが必要です。

  ほかのアーカイブは / からアンパックする必要があります。 Slackware の
  .tgz アーカイブの場合です。そのほかのアーカイブはファイルを含んでも、
  サブディレクトリを含まない場合があります。システムをめちゃくちゃにしな
  いように気を付けましょう! インストールをするまえに、常にアーカイブの内
  容を参照するようにしましょう。

  Debian と Red Hat は独自のアーカイブ形式を持っています。それぞれ .deb
  と .rpm。後者は広く使われ始めています。 rpm パッケージをインストールす
  るには

       # rpm -i package.rpm

  とタイプします。

  11.3.  知っておくべきヒント

  バックスクロール:  (灰色のキー) を押すことでページを
  バックスクロールさせることができます (どのくらいできるかはあなたのビデ
  オカードのメモリに左右されます)。

  画面のリセット: もしバイナリファイルを more や cat してしまった場合、
  画面がめちゃくちゃになってしまうかもしれません。これを修正するに
  は、reset とブラインドタイプするか、次のようにタイプしてください: echo
  CTRL-V ESC c RETURN。

  テキストのペースト: コンソール上では下を参照; X 上ではクリックアンドド
  ラッグで xterm 上のテキストを選択し、中央ボタン( 2 ボタンマウスの場合
  は二つのボタンを同時に押す)をクリックすることでテキストのペーストがで
  きます。そのほかにも xclipboard (残念ながらテキストのみ) があります。
  とても遅い反応に混乱しないでください。

  マウスを使う: もし gpm 、コンソール用マウスドライバ、をインストールし
  てある場合、クリックアンドドラッグでテキストを選択して、右クリックで選
  択したテキストをペーストできます。これは異なった仮想コンソール間でも働
  きます。

  カーネルからのメッセージ: /var/adm/messages や /var/log/messages を
  root 権限で参照することでブートアップメッセージを含めたカーネルからの
  メッセージを読むことができます。 dmesg コマンドも便利です。

  11.4.  どこでアプリケーションを見付けるか

  もしあなたが古き良き DOS/Win アプリケーションを Linux のものと交換でき
  るかどうか悩んでいるなら、Linux ソフトウェアリポジトリを見てみることを
  勧めます。

  
  や、 。

  そのほか始めるのによい場所は 「Linux Applications and Utilities Page」
   や、「公式」 Linux ページ
   です (日本では「日本の Linux 情報」ページ
  )。

  11.5.  DOS/Win ではできなかったこと

  Linux では DOS/Windows では面倒、難しかった、または不可能だった無数の
  ことができます。以下はあなたの欲求を満たしてくれるかもしれないもののリ
  ストです。

  o   at は指定した時間にプログラムを実行します。

  o  awk は単純ながらもパワフルな、データファイルを扱う言語です (それだ
     けではありません)。例えば data.dat がマルチフィールドデータファイル
     の場合、

       $ awk '$2 ~ "abc" {print $1, "\t", $4}' data.dat

  data.dat 内の全ての行の 2 番目のフィールドが 「abc」 を含む 1 番目と 4
  番目のフィールドの内容を表示します。

  o  cron は指定した日付時間に定期的にタスクを実行するのに使えます。man
     5 crontab とタイプ。

  o

     file  は filename が何か教えてくれます (ASCII テキスト、
     実行ファイル、アーカイブ、その他)。

  o   find (セクション ``ディレクトリ:  コマンドを翻訳する'' を参照) は
     非常にパワフルで便利なコマンドです。このコマンドはファイルを複数の
     特徴にマッチさせることで捜し出し、それに対して動作を行います。一般
     的な find の使い方は

       $ find  

   は検索基準と動作を含みます。例えば:

       $ find . -type l -exec ls -l {} \;

  全てのシンボリックリンクとそれらの指し示す場所を表示します。

       $ find / -name "*.old" -ok rm {} \;

  パターンにマッチする全てのファイルを見付けてそれらを削除します。削除す
  るまえに、本当に削除してよいか聞きます。

       $ find . -perm +111

  パーミッションが 111 (実行ファイル) のファイルを探します。

       $ find . -user root

  root の所有する全てのファイルを探します。たくさんの可能性がありますね
  --- RMP。

  o   grep はパターンにマッチするファイル内のテキストを探します。例え
     ば、

       $ grep -l "geology" *.tex

  「geology」 という単語を含む、*.tex ファイルをリストします。相違した
  zgrep は gzip されたファイルに働きます。 RMP;

  o   正規表現 は複雑ですが、テキストの検索を行う、とてもパワフルなやり
     方です。例えば、^a[^a-m]X{4,}txt$ は a で始まる行でそれに続く文字列
     が  a から m ではなく、その次の文字が、4 つ以上の X で、txt で終わ
     るものに該当します。正規表現は発達したエディタや、 less、そのほかた
     くさんのアプリケーションと合わせて使用します。 man grep をイントロ
     ダクションにしてください。

  o  script  は画面の内容を exit コマンドを実行するま
     で、script_file にダンプします。デバッグするときに使えます。

  o  sudo は一般ユーザに root のタスクの一部を実行することを許可します。
     (例: ディスクのフォーマットやマウント; 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。

  11.6.  DOS/Windows 上で UNIX を体験

  信じられないかもしれませんが、DOS/Windows 上で UNIX のような環境を提供
  する素晴らしいツールがあります! ひとつは DOS 用の Djgpp (
  )、さらに Cygnus (
  ) はさらに複雑な Win32 用です。両方とも同じ GNU
  開発ツールやユーティリティを含みますが、両方とも同じ程度の安定性やパ
  フォーマンスという訳でもありません。

  もしあなたが Linux を味見してみたいなら Djgpp を試してみましょう。次の
  ファイルをダウンロード、インストールします (本文筆記時点で最新バージョ
  ンは 2.02)。djdev202.zip、bnu281b.zip、bsh1147b.zip、fil316b.zip、
  find41b.zip、grep22b.zip、gwk303b.zip、lss332b.zip、shl112b.zip。 イン
  ストール方法は提供されています。さらに   で
  助力をもらえます。
  特に bash を DOSWin 上で使うときは新鮮な体験です。きちんと設定するに
  は、自分の環境を反映させるため提供されている BOOT.BAT を編集し、以下の
  ファイルをホームディレクトリ(Windows パーティション内) に元からあるも
  のの代わりに置きましょう。

       # これは _bashrc

       LS_OPTIONS="-F -s --color=yes"
       alias cp='cp -i'
       alias d='ls -l'
       alias l=less
       alias ls="ls $LS_OPTIONS"
       alias mv='mv -i'
       alias rm='rm -i'
       alias u='cd ..'

       # これは _bprof
       if [ -f ~/_bashrc ]; then
         . ~/_bashrc
       fi
       PS1='\w\$ '
       PS2='> '
       CDPATH="$CDPATH:~"
       # less(1) のためのもの
       LESS="-M-Q"                     # 冗長なプロンプト、ベルを鳴らさない
       LESSEDIT="%E ?lt+%lt. %f"       # 一番上の行を編集
       VISUAL="jed"                    # エディタ
       LESSCHARSET=latin1              # 強調文字を見えるようにする
       export PS1 PS2 CDPATH LS_OPTIONS LESS LESSEDIT LESSOPEN VISUAL LESSCHARSET

  11.7.  よく使われる拡張子と関連するプログラム

  これからあなたはたくさんの拡張子に出会うと思います。風変わりなものは含
  めていませんが、これはどの拡張子がついたファイルが何かのリストです。

  o  1 〜 8: man ページ。groff -Tascii -man  で読みます。

  o  arj: arj で作成されたアーカイブ。

  o   dvi: Tex (下を参照)によって作成された出力ファイル。 xdvi で見ま
     す。dvips で PostScript .ps ファイル に変換します。

  o   gz: gzip によって作成されたアーカイブ。

  o  info: info ファイル (man ページのようなもの)。Get info。

  o   lsm: Linux ソフトウェアマップファイル。これはパッケージの説明を含
     んだ普通の ASCII ファイルです。

  o   ps: PostScript ファイル。見たり、プリントしたりするには gs とその
     ほかにも ghostview や gv を使います。

  o   rpm: Red Hat パッケージ。パッケージマネージャ rpm を使うことでどん
     なシステムにでもインストールできます。

  o  taz、tar.Z: tar で書庫にされ、compress で圧縮されたアーカイブ。

  o   tgz、tar.gz: tar で書庫にされ、gzip で圧縮されたアーカイブ。

  o   tex: パワフルな文書整形システム TeX に読み込ませるテキストファイ
     ル。パッケージ tex を入手しましょう。たくさんのディストリビューショ
     ンで入手可能です。

  o   texi: texinfo ファイル、TeX と info ファイルの両方を作成します。
     (cp. info)。Get texinfo。

  o  xbm、xpm、xwd: グラフィックファイル。

  o   Z: compress によって作成されたアーカイブ。

  11.8.  ファイルの変換

  もし DOS/Win と Linux 間でテキストファイルを交換したいのなら、「end of
  line」の問題に気を付けてください。DOS 上ではテキストの行は CR/LF (これ
  は ASCII 13 + ASCII 10) で終了しますが、Linux 上では LF になります。も
  しあなたが DOS のテキストを Linux 上で編集したら、それぞれの行がおかし
  な終わりを持つことが多いです(「M」に見える文字)。 Linux で作成された
  ファイルは DOS 上では段落のない kilometric single line として表示され
  ます。dos2unix や unix2dos といったファイルを変換するツールがありま
  す。

  もしテキストのみのファイルが強調された文字を含む場合、それが DOS 上で
  はなく Windows (のメモ帳) で作成されていることを確認しましょう。そうで
  ないと強調された文字はめちゃくちゃになってしまいます。

  Word や WordPerfect ファイルを普通のテキストに変換するのはちょっとやっ
  かいですが、不可能ではありません。必要なファイルは CTAN の各サイトで見
  付かります。ひとつは     です。プログラム word2x
  をディレクトリ /pub/tex/tools/ から入手するか、/pub/tex/support/ 内で
  入手可能なプログラムを試してみましょう。特に、 word2x は Word 6 ファイ
  ルを変換しますが、Word 97 ファイルには HTML に変換してくれる
  mswordview ( ) を使
  用する必要があります。

  11.9.  フリーのオフィス製品

  もしファイルの変換で満足できないなら、Microsoft Office に似たパッケー
  ジ (フリー!) を試してみることができます。 StarOffice は個人使用なら無
  料です。これは大きいし、ちょっと遅いですがそれをふまえても素晴らしいソ
  フトで、Microsoft Office にないようなたくさんの機能を提供します。さら
  に、いつも完璧に変換できるわけではありませんが Word や Excel のファイ
  ルを読み書きできます。ホームページ:  

  そのほかのとてもよいパッケージとしては Corel WordPerfect があります。
  無料版をダウンロード可能です。これ以上いう必要はありませんね。今すぐ入
  手しましょう   。

  12.  今のところはこれで終わり

  おめでとうございます! これであなたは多少ながらも UNIX を理解し、 UNIX
  を扱う準備ができました。あなたのシステムについての知識は限られてお
  り、Linux を心地よく使えるようになるにはまだまだ練習が必要なことを心に
  止めておいてください。でも、あなたのしたいことがたくさんのアプリケー
  ションを入手して使い始めるだけなら、ここに含まれている情報だけで十分で
  す。

  これからあなたも楽しく Linux を使い、もっとたくさんのことを覚えていく
  ことでしょう (みんなそうです)。DOSWin に戻ったりしないと思いますよ!
  自分のいうことを理解してもらえ、私の 3、4人の読者のお役に立てたことを
  願います。

  12.1.  著作権

  以下の文は参考のため訳文を挙げますが、原文が優先されます。

  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.

  特別に述べられていない限り、Linux HOWTO ドキュメントはそれらの著者に著
  作権があります。Linux HOWTO ドキュメントはこのライセンスの記載があれ
  ば、ドキュメントの全体、一部にかかわらず、物理的にも電子的にも複製や配
  布が可能です。商用配布は奨励しますが、配布の際には著者に通知してくださ
  い。

  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.

  全ての翻訳、改変、そして集合の Linux HOWTO ドキュメントが取り入れられ
  た文章はこのコピーライトに保護されていなければなりません。つまりは改変
  された文章を作成し、その配布時にさらなる規制を課すことはできないという
  ことです。状況によってはこれらの規則に例外が承諾されることもあります。
  下のアドレスの Linux HOWTO コーディネーターにコンタクトしてください。

  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.

  簡単にいうと、私達はこの情報をできるだけ広めたいと思っていますが、
  HOWTO ドキュメントの著作権は私達が保持し、さらに HOWTO の再配布時には
  事前に通知を頂きたいと思っています。

  If you have questions, please contact Tim Bynum, the Linux HOWTO
  coordinator, at   via email.

  質問がありましたら Tim Bynum ( Linux HOWTO コーディネーター) まで電子
  メールでコンタクトしてください。 

  12.2.  免責

  以下の文は参考のため訳文を挙げますが、原文が優先されます。

  ``From DOS to Linux HOWTO'' was written by Guido Gonzato,
  . (Remove ``REMOVE_ME''.)  Many
  thanks to Matt Welsh, the author of ``Linux Installation and Getting
  Started'', to Ian Jackson, the author of ``Linux frequently asked
  questions with answers'', to Giuseppe Zanetti, the author of
  ``Linux'', to all the folks who emailed me suggestions, and especially
  to Linus Torvalds and GNU who gave us Linux.

  This document is provided ``as is''. I put great effort into writing
  it as accurately as I could, but you use the information contained in
  it at your own risk. In no event shall I be liable for any damages
  resulting from the use of this work.

  「From DOS to Linux HOWTO」は Guido Gonzato
  (「REMOVE_ME」を取り除いてください)
  によって書かれました。「Linux Installtion and Getting Started」の著者
  Matt Welsh 、「Linux frequently asked questions with answers」の著者
  Ian Jackson、「Linux」の著者 Giuseppe Zanetti、メールで提案をくださっ
  た皆さん、そして特に Linux を私達に与えてくれた Linus Torvalds と GNU
  に多大に感謝します。

  (訳注: 日本語訳をするのにあたって、日下部さん、武井さん、中野さん、藤
  原さん、山下さんに大変お世話になりました。どうもありがとうございまし
  た。)

  この文章は「無保証」で提供されています。私はこの文章をできるだけ正確に
  記述するために多大な努力を注ぎましたが、文章内に含まれる情報を使用する
  ときは自分の責任で行ってください。文章内に書かれていることを実行したこ
  とによって被るいかなる損害も著者は責任を持ちません。

  フィードバックは歓迎です。要求、提案、お叱り等を気兼ね無く著者まで送っ
  てください。

  Enjoy Linux and life,

  Guido   =8-)

一覧に戻る
グリーンネット・トップページへ戻る

http://www.green.ne.jp/