この文書の URL は http://www.cc.kyoto-su.ac.jp/~mtkg/lecture/comp_A/2012/06.html です。

Linux / Ubuntu とは

Linux

Ubuntu

その他

Linux ディストリビューション(カーネルに Linux を採用した OS)には多くのバリエーションがあります。 日本語の情報も多いので、興味のある人は Google 検索して調べてみましょう。

参考書

Linux の入門書はたくさん出ていますが、はずれも多いので気をつけましょう。

は比較的評判がよいようです。

Ubuntu の起動と終了

Ubuntu の起動

  1. 液晶モニタと本体の電源を入れる
  2. 「Linux (ubuntu)」を選択する(矢印キーで選択し Enter キーを押す)

ログイン

  1. 「ユーザ名」を入力しリターンキーを押す
  2. 「パスワード」を入力しリターンキーを押す

ログアウト

  1. 画面右上の「ログアウト」ボタン(非常口のマーク?)をクリック

Ubuntu の終了

  1. すべてのアプリケーションを終了する
  2. ログアウトする
  3. 画面右下の「シャットダウン」ボタン(電源ボタンのマーク?)をクリック
  4. 電源が切れたことを確認

または

  1. すべてのアプリケーションを終了する
  2. 左上の「メインメニュー」から「シャットダウン」を選択

端末(ターミナル)の使い方

Linux では GUI (グラフィカルユーザインターフェース)ではなく CUI (文字によるユーザインターフェース)が主流です。 「端末(ターミナル)」に「コマンド」と呼ばれる文字列の命令を打ち込んで様々な操作を行います(Linux を快適に使うにはタッチタイピング能力が重要。練習しましょう)。

端末の起動

ログイン後の画面左上にある「ターミナル」アイコンをクリックするとターミナルソフトが起動します。 ターミナルの中では「シェル」というプログラムが動いており、コマンド入力を待っています。 Ubuntu では bash (バッシュ)というシェルが使われています(別のシェルに変更することもできます)。

ターミナルウィンドウの中には

mtkg@ubuntu:~$

のような表示があります。 これを「プロンプト」といいます。

端末の終了

ターミナルを終了するには、プロンプトに続けて

mtkg@ubuntu:~$ exit

と入力します。 "C-d" (コントロールキーを押しながら d を押す)でもターミナルを終了できます。 (できなくなっていることもあります。)

コマンドの入力

プロンプトに続けて次のようなコマンドを入力してみましょう。 バックスラッシュ "\" はキーボード上で¥マークになっていることもあります。

mtkg@ubuntu:~$ echo -e 'hello \nworld'

コマンドは基本的に

$ コマンド名 [オプション] [引数]

という並びで与えます。 この例では

echo              コマンド名
-e                オプション
'hello \nworld'   引数

です。

UNIX には非常に多くのコマンドが用意されています($ ls /usr/bin でコマンドをみてみましょう)。 コマンドの使い方になれることが UNIX 習得の第一歩です。

オンラインマニュアル

UNIX にはコマンドに関するオンラインマニュアルが整備されています。

mtkg@ubuntu:~$ man echo

とすれば echo コマンドについてのマニュアルが画面に表示されます。

mtkg@ubuntu:~$ man -k キーワード

とすれば「キーワード」に関係したコマンドの一覧をみることができます。

ヒストリー(履歴)機能

同じコマンドをもう一度入力したい場合や、一部を変更して実行したい場合にはヒストリー機能が便利です。 ターミナルで上下の矢印キーを押すとこれまでに入力したコマンドの履歴をたどることができます。

補完機能

文字数の多いコマンドを入力する場合やコマンド名をちゃんと覚えていない場合には補完機能が便利です。 これには「TAB」(タブキー)を使います。 ターミナルで ec と2文字だけ入力してから TAB を押すとどうなるでしょう。

補完機能はコマンド名だけでなく、コマンドオプションやファイル名、さらにはホスト名(計算機についているネットワーク上での名前)などにも有効なことがあります。 適当なタイミングで TAB を押して補完してくれないか試してみましょう。

ファイルシステム

データを整理するのに UNIX もファイルとディレクトリという構造を利用しています。 文書ファイルや画像ファイルをディレクトリに入れて整理するという基本概念は Windows と同じです。

ディレクトリの表示

ディレクトリの内容を表示するには ls コマンドを使います。

mtkg@ubuntu:~$ ls [ディレクトリ名]

ディレクトリ名を省略するとカレントディレクトリの内容が表示されます。

ファイルやディレクトリの名前

ファイルやディレクトリには好きな名前を付けることができますが長さは255文字までという制限があります。 また、ターミナルからファイル名を入力するのにいちいち日本語変換するのは面倒です。 ファイル名・ディレクトリ名には

だけを使うようにするとよいでしょう。

名前に注意

次の文字はコマンドを入力するさいに特別な意味を持つので、ファイル名に使ってはいけません。

また、ハイフン (-) で始まるファイル名はコマンドのオプションとして扱われてしまう危険性があります。 CUI で操作する場合は日本語のファイル名もできれば避けた方がよいでしょう。

拡張子

ファイル名の末尾にドット (.) ではじまる文字列を付加してファイルの種類を表すことがあります(index.html の .html など)。 これを「拡張子 (suffix)」といいます。 index.html の例では「.html」が拡張子で、ファイルが HTML 形式であることを示しています。 拡張子は用途ごとにだいたい決まっており、次のようなものがあります。

.doc, .docx    Microsoft Word 形式
.xls, .xlsx    Microsoft Excel 形式
.ppt, .pptx    Microsoft PowerPoint 形式
.txt           プレーンテキスト (plain text)
.c, .h         C 言語のソース/ヘッダファイル
.c++, .cpp     C++ 言語のソース
.f90, .f95     Fortran 90 のソース
.sh            B-Shell のソース
.pl            Perl のソース
.py            Python のソース
.rb            Ruby のソース
.gif           GIF フォーマット
.png           PNG フォーマット
.jpg           JPEG フォーマット
.mp3           MP3 フォーマット

隠しファイル

名前がピリオド (.) で始まるファイルはいわゆる「隠しファイル」です。 隠しファイルは通常 ls コマンドなどでは表示されないので、誤って消去しては困るファイルや、普段は表示する必要のない設定ファイルなどの名前に用いられます。

隠しファイルを表示するには ls コマンドに -a オプションを付けて実行します。

mtkg@ubuntu:~$ ls -a
.              .config           .gnuplot-wxt         .viminfo
..             .dbus             .gnuplot_history     .xdvirc
.ICEauthority  .emacs            .gvfs                .xsession-errors
(中略)
.compiz        .gnome2_private   .update-notifier

特別な意味・呼び名のあるディレクトリ

ホームディレクトリ

UNIX では複数のユーザでファイルシステムを共有していますが、ユーザごとに専用の「ホームディレクトリ」が用意されています。 特別な理由がない場合はホームディレクトリの下にファイルやディレクトリを作成する決まりになっています。

ホームディレクトリはチルダ記号「~」とユーザ名を使って表すことができます。 例えば「~mtkg」は mtkg というユーザのホームディレクトリを表します。

カレントディレクトリ

現在作業しているディレクトリのことをカレントディレクトリといいます。 カレントディレクトリを確認するには、プロンプトに続けて pwd コマンドを入力します。

mtkg@ubuntu:~$ pwd
/NF/home/kyoin0/mtkg

カレントディレクトリを示すのにドット (.) を使うことができます。

カレントディレクトリの変更

カレントディレクトリを変更するには cd コマンドを使います。

mtkg@ubuntu:~$ cd [移動先のディレクトリ名]

ディレクトリ名を省略するとホームディレクトリに移動します。

親ディレクトリ

一つ上の階層のディレクトリを親ディレクトリといいます。 親ディレクトリを示すのに .. (ドット2つ)を使うことができます。

cd コマンドを使って親ディレクトリに移動してみましょう。 次のコマンドを端末から実行して cd .. の前後で pwd の出力がどのように変わるか確認してください。

mtkg@ubuntu:~$ pwd
mtkg@ubuntu:~$ cd ..
mtkg@ubuntu:~$ pwd

ホームディレクトリに戻るには cd を引数なしで実行します。

mtkg@ubuntu:~$ cd

相対パスと絶対パス

カレントディレクトリが

だったとき、

という2つの表記は同じディレクトリを指します。 絶対パスはカレントディレクトリがどこであっても意味は変わりませんが、相対パスは起点であるカレントディレクトリの位置によって意味が変わることに注意しましょう。

ルートディレクトリと UNIX のディレクトリ構造

もっとも上位に位置するディレクトリをルートディレクトリ (root directory) といいます。 UNIX では次のようなディレクトリ配置が標準的です(細かい違いはありますが)。

/               ルートディレクトリ
|-/bin          基本的なコマンド
|-/boot         起動に必要なファイル
|-/dev          デバイスファイル
|-/etc          設定ファイル
|-/home         ユーザのホームディレクトリ(京産大では /NF/home/g020 などに変更されている)
|-/lib          ライブラリ
|-/mnt          一時的なマウントポイント
|-/opt          追加アプリケーションなど
|-/proc         プロセス情報
|-/root         管理者 (root) 用のディレクトリ
|-/sbin         システム管理コマンド
|-/tmp          一時的なファイル
|-/usr          各種プログラムなど
  |-/usr/local  独自アプリケーションやライブラリなど
|-/var          頻繁に更新されるデータ

ターミナルで次のコマンドを実行し結果を確認してみましょう。

$ ls /
$ ls /bin
$ ls /NF/home
$ ls /NF/home/g020
$ ls /usr/local
$ ls /usr/local/bin

ファイルとディレクトリの操作

ファイルとディレクトリの操作には次のようなコマンドがよく使われます。

コマンド名 語源 概要 重要オプション
cd change directory カレントディレクトリの移動
pwd print working directory カレントディレクトリの表示
ls list ファイル一覧の表示 -l -a -d -F
cp copy ファイルの複製 -R -f
touch touch タイムスタンプの更新・空ファイルの作成
mkdir make directory ディレクトリの作成
mv move ファイルの移動・ファイル名の変更
rm remove ファイルの削除 -r -f -i
rmdir remove directory ディレクトリの削除

注意: rm コマンドで削除したファイルは復元できません。 実行には十分注意しましょう。

とりあえずカスタマイズ

キーの変更

キーボードの「Caps Lock」キーを「Control」キーとして動作するように設定します。 ターミナルを起動し gnome-keyboard-properties コマンドを実行してください。

mtkg@ubuntu:~$ gnome-keyboard-properties [RET]   ([RET] はリターンキーを押す)

ibus の設定

日本語入力のトリガーになるキーを設定します。 ターミナルから ibus-setup コマンドを実行してください。

mtkg@ubuntu:~$ ibus-setup [RET]

背景の変更

背景を変更することもできます。 デスクトップ上で右クリックし、「背景の変更」をクリックします。 適当な画像を選んだら「閉じる」で終了します。

ログアウト&ログイン

ここでいったんログアウトし、ログインし直しておきましょう。

本日の課題

次の課題に挑戦してみましょう。

  1. ホームディレクトリに移動する
  2. ディレクトリ test を作成する
  3. ファイル一覧を表示して test が作成できたことを確認する
  4. ディレクトリ test に移動する
  5. 隠しファイルも表示するオプションを付けて ls を実行し、test の中には . と .. しかないことを確認する
  6. hoge というディレクトリを作成する
  7. ファイル一覧を表示して hoge が作成できたことを確認する
  8. 親ディレクトリに移動する
  9. ディレクトリ test を test2 という名前で丸ごとコピーする
  10. ディレクトリ test と test2 を削除する

解答例は次のようになります。 他の方法もあるかもしれません。 コマンドオプションの意味などは man で確認しましょう。

  1. cd (cd を引数なしで実行するとホームディレクトリに移動する)
  2. mkdir test
  3. ls
  4. cd test
  5. ls -a
  6. mkdir hoge
  7. ls
  8. cd ..
  9. cp -r test test2
  10. rm -rf test test2 (rmdir は削除するディレクトリが空でないとエラーになる)

Windows パソコンで Ubuntu を使うには

一番簡単なのは VMware などの仮想化ソフト(ソフトウェア的にパソコンをエミュレートするソフトウェア)を利用することです。 これを使うと Windows の中で別の Windows を動かしたり、別の OS を動作させることが可能になります。

仮想化ソフトにはいくつかの選択肢があります。 Windows 7 なら VMware Player (無料)、Mac なら VMware Fusion (有料)がよいでしょう。

Windows 7 には Microsoft Virtual PC もありますが Linux のインストールにはくせがあるようです。