Unix Tutorial
Unix 練習

班分け

以下の班分けに従って着席せよ.

表 1.1 午前クラス座席表
午前座席表

表 1.2 午後クラス座席表
午後座席表

Ubuntu 10.04.1 LTS のインストール

まず,以下の手順でインストールディスクからの起動を行う.

  1. Ubuntu 10.04.1 LTS と書かれたディスクを準備する.
  2. esc キー(キーボード左上)を押す準備をして電源ボタン(その上)を押す.
  3. 起動時に HP のロゴが出ている間に esc キーを押す. 失敗して Window が起動した場合は CD トレーを開き, 「Ubuntu 10.04.1 LTS」ディスクを入れて再起動し,5. に進む.
  4. 起動の中断に成功したらCD ドライブを開き 「Ubuntu 10.04.1 LTS」ディスクを入れ,Enter キーを押す.
  5. Ubuntu インストール CD が起動した後, 「Ubuntu 10.04.1 LTS を試す」を選択せよ.

以上の操作で Ubuntu Linux の Live CD が起動するので 以下のウェブページを参考に USB メモリへのインストールを行う.

Ubuntu に関する情報は以下のページで参照できる

Ubuntu Japanese Team

上のメニューの「コミュニティ」から「日本語 Wiki へ移動」を選ぶ. 「Ubuntu の利用」内にある 「Ubuntu に関する Tips 」 を選択する.「USBデバイスへのインストール」内の 「Ubuntu をUSBストレージ(USBメモリ・HDDなど)にインストールするには」 に従って作業する.OS のバージョンが異なるため, 画面表示などが一部異なるが対応するメニュー等を 探して操作を行う.ただし,以下の点に注意する.

インストールが終ると表示されるダイアログの「今すぐ再起動する」 を選んで再起動せよ.再起動中に CD を取り出す 指示が表示されるのでそれに従って操作せよ.

Unix 入門

GUI と CUI

GUI とはグラフィカルユーザインターフェース, CUI はキャラクタユーザインターフェースの略である. GUI の特徴は画面上のボタンやマウスを使った直感的な操作であり, CUI での操作はキーボード入力によるコマンド操作が主体になる. パーソナルコンピュータにおいて GUI は計算機の能力の向上と共に普及し, 現在一般ユーザは GUI でほぼすべての PC を操作することが主流となっている.

CUI は GUI に取って代わられたわけではなく,CUI にも利点がある.そのうち,

のような利点から,サーバソフトウェアでは現在も CUI を用いて 設定作業を行い,設定状況はテキストファイルとして保持する方式が 主流であり,GUI インターフェースをもつ画面上でも CUI インターフェースを エミュレートして実現しているほどである.

Ubuntu などの最新の Linux では GUI 環境も充実しているが, 本演習はサーバ管理の演習であるため,CUI の操作も重視する.

ターミナル

nauser でログインすると,GUI 環境でのログインが完了した状態に なっているはずである. Unix 系 OS で CUI 操作に用いるソフトウェアが「ターミナル」である.

画面左上のメニューの「アプリケーション」→「アクセサリ」→「端末」 でターミナルを起動せよ.

ターミナルを開くとシェルと呼ばれるプログラムが動作し, ユーザの入力を待つ状態になる.

コマンドを入力するにはキーボードでコマンド名を打ち込み,Enter キーを押せば良い. 例えば計算機内の時計が指している現在時刻を表示するコマンドは date である. ターミナルにキーボードから date と打ち込んで Enter キーを押せ. このとき入力が日本語モードにならないように注意する. コマンド入力では日本語モードの文字は使用しない.

次に使用頻度の高いコマンドをいくつか説明するが,その前にファイル構造, 特にディレクトリ構造について説明する.

階層構造は非常に多いアイテムを検索しやすくするためによく使われる. たとえば図書館の本を 「技術」→「電気工学,電子工学」→「コンピュータ」→「オペレーティングシステム」 (日本十進分類法)として検索する方法で,書籍のように膨大なアイテムでも効率よく 管理できる.計算機の世界ではドメイン名,IP アドレスなども階層構造を利用している.

計算機が保持するデータの単位が「ファイル」である.計算機では多数のファイルを 効率よく検索できるように階層構造を持たせ,木構造を利用してファイルを管理している. 四角で囲まれているのがディレクトリ名で角が丸いものは末端のファイルを示している.

ディレクトリ構造
図 2.1 ディレクトリ構造

図 2.1 のような木構造の中で,シェルは自分が現在どこにいるのかの情報を保持している. 自分が現在いるディレクトリをカレントディレクトリとよぶ.

ls

ls とだけ入力した場合,カレントディレクトリに存在するファイル, ディレクトリのリストが表示される.以下のコマンドを実行してみよ.

nauser@na-NNN:~$ ls

いくつか日本語のディレクトリが表示されるはずである. Ubuntu では日本語ファイル名,ディレクトリ名を使うことができるが, サーバの設定ファイルではファイル名,ファイルの内容に日本語モードの 文字が紛れ込むと紛らわしいエラーを起こす場合がある.本実習では特にファイル名に 関しては日本語のファイル名を使用しないように注意せよ. ファイルの内容には日本語が使えることが多いがサーバの設定を記述するファイルでは 日本語によってエラーが起こることも少なくないので注意せよ. 特に日本語の空白文字は設定ファイル等では「空白」と扱われないので注意せよ.

上で ls を実行したとき Desktop という名前のディレクトリが表示されるはずである. この Desktop 内のファイルのリストを見たいときは以下のコマンドを実行すればよい. 実際に試してみよ.

nauser@na-NNN:~$ ls Desktop

上の入力例で ls をコマンド,Desktop を引数という.引数は入力情報として コマンドに渡され,コマンドは入力に応じた処理結果を出力する. 引数は複数ある場合もある.

コマンドの振る舞いを微調整するために コマンドと引数の間にオプションと呼ばれるデータを与えることができるコマンドがある. オプションは多くの場合 -で始まる文字,または --で始まる文字列である. ls コマンドにも多くのオプションがあり,-l オプションはデフォルトよりも 多くの情報を出力する(ロングフォーマット)ためのオプションである.以下を実行せよ.

nauser@na-NNN:~$ ls -l Desktop

cd

cd はカレントディレクトリを変更するコマンドである. cd にディレクトリを引数として与えることでそのディレクトリに移動する. 以下を実行せよ.

nauser@na-NNN:~$ cd Desktop

上記の後,ls コマンドで Desktop ディレクトリの内容を再確認せよ.

現在図 2.1 の Desktop ディレクトリがカレントディレクトリであるが, もとのディレクトリである nauser に戻る場合も cd コマンドを使う. ただし,木構造では全ての節点の親節点(自分の上)は一意に決まるので ファイル名を引数で与える必要はない.自分の親節点を示す特別な記号が ピリオド 2 個である.下記コマンドを実行せよ.

nauser@na-NNN:~/Desktop$ cd ..

ls コマンドを実行せよ.自分がどのディレクトリにいるか判断せよ.

ターミナルを起動した時に初期状態でカレントディレクトリ となっている場所をホームディレクトリと呼ぶ.ここまでの実習では ホームディレクトリは図 2.1 の nauser である. cd コマンドを引数無しで実行するとカレントディレクトリがどこであっても ホームディレクトリがカレントディレクトリになる. ディレクトリの奥深くに入ったときも引数無しで下記ように cd コマンドを入力すればただちにホームディレクトリに戻る.

nauser@na-NNN:~/Desktop$ cd

pwd

複雑なディレクトリ構造を移動していると,自分のカレントディレクトリを確認したい場合がある. pwd コマンドはカレントディレクトリを表示するコマンドである.cd コマンドで ディレクトリを移動し,pwd でカレントディレクトリを表示してみよ.

nauser@na-NNN:~/Desktop$ pwd

絶対パスと相対パス

ls や cd の引数にファイル名,ディレクトリ名を与えたが,この記述の方法には 絶対パスと相対パスと呼ばれる 2 種類の方法がある.

pwd コマンドで表示されるパスの表記を絶対パスとよぶ.絶対パスには 図2.1 のディレクトリ構造の根からのたどるべき全ての情報が含まれている. 例えば cd コマンドでカレントディレクトリに戻って pwd コマンドを実行すると, /home/nauser と表示されるはずである.絶対パスは必ず / で始まり, 途中で通るディレクトリ名を順に / で繋げたものとなっている. / だけからなる絶対パスは木構造の根のディレクトリを示し, ルートディレクトリと呼ばれる.

いろいろなディレクトリに移動してコマンド ls /home/nauser を実行してみよ カレントディレクトリがどこであっても同じファイルが表示されることが確認できる はずである.

絶対パスに対し,自分のカレントディレクトリからの相対的な位置を示すのが 相対パスである./ で始まらなければ相対パスであると区別できる. この実習の最初に行った ls Desktop や cd Desktop は相対パスの例である. 自分のいるディレクトリの直下のファイルやディレクトリを操作する場合に 簡単で便利である.相対パスも繋げて表現することができる.図 2.1 の home がカレントディレクトリである場合,Desktop を示す相対パスは nauser/Desktop であり, log を示す相対パスは ../var/log である.以下のようにして確認できる.

以下のコマンドでカレントディレクトリを home にする.

nauser@na-NNN:~$ cd
nauser@na-NNN:~$ cd ..

pwd コマンドで home に移動できていることを確認し,ls nauser/Desktop や ls ../var/log を実行してみよ.

テキストエディタ

フォント,文字の大きさ,色などの書式情報をもたない文字データをプレーンテキストと呼ぶ. プログラムのソースコード,サーバソフトウェアの設定ファイルなどはプレーンテキストで 書かれるのでその操作に特化したソフトウェアが存在し,テキストエディタと呼ばれる.

ヘビーユーザーのこだわりどころなので高機能なエディタ,伝統的なエディタなど 多数のものが好んで使われている.Unix 文化で有名なものは ed, vi, emacs 等であるがこの実習では標準でインストールされている gedit を使用する. 「アプリケーション」→「アクセサリ」→「gedit テキストエディタ」で起動せよ.

gedit で自己紹介文を書け.ここでは日本語を使用しても良い. 「半角/全角」キーで日本語モードと英語モードの切り替えができる.

文書を書いたら保存を行う.今回は自分のホームディレクトリに text1.txt というファイル名で保存する. gedit の「ファイル」メニューから「保存」でダイアログを開き, 「フォルダの中に保存」の表示が nauser ディレクトリになっていることを 確認し,「名前」を text1.txt として保存せよ.

「ファイル」→「終了」で gedit を終了せよ.ls を使って作成したファイルが あることを確認せよ.

cat

cat コマンドでファイルの内容を確認できる.ホームディレクトリで ls text1.txt によりファイルが存在することを確認したのち, cat text1.txt を実行してみよ.

cp

cp コマンドは引数を 2 個とる.第一引数はここではディレクトリではなくファイルとする. 第二引数としてファイルを指定する場合とディレクトリを指定する場合で動作が違うので 注意せよ.以下は第二引数が新規ファイル名の場合である.ホームディレクトリで実行せよ. 第一引数がコピー元,第二引数がコピー先となる.

nauser@na-NNN:~$ cp text1.txt text2.txt

ls, cat を利用してファイルが複製されていることを確認せよ.

mkdir

mkdir は新規ディレクトリを作成するコマンドである. ホームディレクトリで

nauser@na-NNN:~$ mkdir testdir

を実行し, ls -l 等で状況を確認せよ

ホームディレクトリがカレントディレクトリの状態で

nauser@na-NNN:~$ cp text1.txt testdir

上記が cp の第二引数をディレクトリ名とした場合の動作である.コピー先の ディレクトリ内に同じ名前のファイルが作成される.cd, ls 等で確認せよ.

cp の第二引数(コピー先)にカレントディレクトリを指定したい場合がある. カレントディレクトリを指定する相対パスはピリオド1個(.)である. testdir にいるときに

nauser@na-NNN:~/testdir$ cp ../text2.txt .

を実行すると一つ上のディレクトリの text2.txt がカレントディレクトリにコピーされる. 確認せよ.

第 1 回課題「誓約書の提出」 を提出せよ.


Updated in April 23, 2012, index.html, Yamamoto Hiroshi