「UNIX/Linux入門」の版間の差分

削除された内容 追加された内容
22 行
==UNIXを扱う上での基礎知識==
 
ここでは、UNIXを扱う上で必要になる基礎知識を紹介する。具体的なUNIXの操作方法に移る前に、ここで挙げる項目については理解しておくとよい。
 
=== 操作インターフェース ===
 
基本的には、[[w:CUI]]で操作を行う。CUIとは、コマンドベースのインターフェイスのことで、逐次シェルを通してコマンドを実行していくことでコンピュータを操作する。近年、ウィンドウシステムの発達もあって、特にクライアント分野では起動から終了まで[[w:GUI]]で操作を完結できる環境が整いつつあるが、簡素かつ強力なコマンドラインベースの操作環境は根強く支持されている。グラフィカルな環境でも、ターミナルエミューレータを利用してコマンドを実行するのが一般的である。
まず、UNIXは基本的に、Microsoft Windows等のOSと違って[[w:CUI|CUI]]での利用が一般的に行われている。Windowsでいうコマンドプロンプト(スタート→プログラム→アクセサリ→コマンドもしくはMS-DOSプロンプトで使用できる)と同じである。最近は数種類の[[w:GUI|GUI]](Windowsが採用している、画像や映像を多用し視覚的な操作を可能とした操作)環境がUNIXにも提供されているが、UNIXの強力な処理能力を最大限発揮するにはやはりCUIでの操作が中心となる。
 
=== ファイル構造システム ===
 
UNIXのファイル構造システムは、ツリーディレクトリ構造と呼ばれている。ディレクトリと言うのは、Windowsでいうフォルダとほぼ同じ意味である。/(ルート)ディレクトリを頂点として、その下に次々とディレクトリが枝分かれしていく構造である。ディレクトリ構造上の位置を'''パス ''' ''(path)''と呼ぶ。
 
例えば
45 ⟶ 44行目:
 
また、処理を行うときは「自分がいる場所」すなわち'''カレントディレクトリ'''での処理が基本となるので、常に自分がどこにいるのかを把握している必要がある。Windowsでも基本は同じで、複数のウィンドウを開いていたとしても、アクティブにできるウィンドウは1つだけ。このアクティブになっているウィンドウが「自分のいる場所」なのだ。GUIではカレントディレクトリが視覚的な効果により明示的に表現されているのでカレントディレクトリを意識する必要性は少ないが、CUIではカレントディレクトリを把握しているか、明示的に確認する必要がある。
 
それでは、居場所の確認やディレクトリ・ファイルの作成、各種処理などはどうやって行うのか? そこで登場するのが、以下に紹介する「コマンド」と呼ばれるものである。
 
=== コマンド ===
 
コマンドとは、簡単にいうとコンピュータ上で処理を行うための、特定の書式に則った簡易なフレーズ一連の手続きである。[[w:シェル|シェル]]上でコマンドを入力し、実行する(Enter(通常はEnterキーを押す)ことで、そのコマンドに応じた処理が実行される。コマンドには'''オプション'''が存在する。オプションはコマンドに対して通常の挙動と異なる処理を指定するためのもので、コマンドのあとに-(ハイフン)をつけて記述するものが多い
 
例:
例:(以下、_は半角スペースを意味する)
date
Sun Feb 12 22:11:48 JST 2006
 
この例では、'date'というコマンドを実行している。これにより、コンピュータは'date'という指示を受け、その結果'Sun Feb 12 22:11:48 JST 2006'を返す。結果は、通常は標準出力に返される(コマンドのオプションや実装具合によっては、別に出力されることもある)。
<pre>
rm_-r_main
</pre>
 
コマンドには引数として様々なオプションを付加することが出来、これにより、コマンドの挙動を変更することが出来る。オプションは、通常は'-'か、'--'を付けて実行される。
この文の意味は、「'''rmというコマンド(ファイルやディレクトリを削除するコマンド)を用いるが、その際にrというオプション(削除対象をディレクトリも含め[[w:再帰|再帰]]的に検索するというオプション)を付加し、mainというディレクトリを削除する'''」という処理を意味する。これを実行することで、mainというディレクトリが削除されるわけである。また、ここではmainの具体的な場所が示されていないが、このような場合はシェルによってカレントディレクトリに存在しているファイル/ディレクトリが暗黙に指定される。「'''現在自分がいる場所の中にあるmainというディレクトリを削除する'''」というのが正確な処理の意味である。
例:
date -u
Sun Feb 12 13:11:48 UTC 2006
 
この例では、'date'というコマンドに'-u’というオプションを付けている。これにより、返される結果が異なっている。
 
また、コマンドには、入力を指示することも出来る。
 
例:
rm test.txt
 
この例では、'rm'というコマンドに'test.txt'というファイルを指示している。これにより、'rm'というコマンドを通じて、'test.txt'というファイルを操作する。この場合は、φ理が消去される。
 
=== シェル ===
 
先述の通りシェルとはCUIコンピュータ指示を出す際に利用される対話インターフェイスである。コマンドなどの各種処理の書式は、シェル定義たプログラムて実行されるシェルは複数開発されており、どのシェルを適用しているかによって、コマンドの表現方法が違ったり、同じ意味でもコマンド自体が違ったりする場合もある。それに伴って「できること」も異なってくる。
 
Bシェル、Kシェル、bash(Linuxでの標準シェル)、zsh、Cシェル、tcshなどがある。
Bシェル、[[w:ksh]]、[[w:bash]]、[[w:zsh]]、[[w:csh]]、[[w:tcsh]]などがある。Linuxの各ディストリビューションでは、bashをデフォルトのシェルに指定していることが多い。
 
=== 標準入力、標準出力、標準エラー出力 ===
標準入力とは、シェルに与えられる入力の最初のものである。各コマンドは、これを受けて指示を実行する(不要な場合もある)。通常は、利用しているコンソールからのキーボード入力を標準入力とする。
 
標準出力とは、コマンドが出力した結果を返すところである。通常は、利用しているコンソールが出力先となる。
 
標準エラー出力とは、プログラム上エラーとして指示された出力で、通常は利用しているコンソールが出力先となる。
 
これらは、リダイレクト、パイプといった処理によって切り替えることができ、これにより、自在にコマンドを操作することが出来る。
 
=== 環境変数 ===
77 ⟶ 96行目:
といった情報を項目として、その値(この値が環境変数)を変えることで情報を書き換えることができる。ただし、適用しているシェルによって設定方法は異なる。
 
例えば使用言語(LANG)は? → 日本語(ja)としたい場合は
 
export LANG=ja
<pre>
export LANG=ja
</pre>
 
といった具合である。
 
通常は、大文字で指定される。環境変数を設定、取り消しするコマンドはシェルによってことなる。確認するには、echoコマンドを使う。
 
例:
echo $LANG
ja_JP.UTF-8
といった風になる。
 
=== パーミッション ===