Linux / Ubuntu とは
Linux
- 「リヌクス」「リナックス」と読む
- http://www.kernel.org/
- UNIX に似たオペレーティングシステム (OS) のカーネル(中核部分)
- ヘルシンキ大学の学生だった Linus Torvalds 氏が作成した(1991年)
- 物理業界ではよく使われている
- Scientific Linux — フェルミ国立加速器研究所と欧州原子核研究機構 (CERN)
Ubuntu
- 「ウブンツ」と読む
- http://www.ubuntulinux.jp/
- Debian GNU/Linux をベースとしたオペレーティングシステム
- Linux ディストリビューションの中では使いやすい UI (ユーザインターフェース)を備えている
その他
Linux ディストリビューション(カーネルに Linux を採用した OS)には多くのバリエーションがあります。 日本語の情報も多いので、興味のある人は Google 検索して調べてみましょう。
参考書
Linux の入門書はたくさん出ていますが、はずれも多いので気をつけましょう。
- 改訂 新 Linux/UNIX 入門(林晴比古・ソフトバンククリエイティブ)
は比較的評判がよいようです。
Ubuntu の起動と終了
Ubuntu の起動
- 液晶モニタと本体の電源を入れる
- 「Linux (ubuntu)」を選択する(矢印キーで選択し Enter キーを押す)
ログイン
- 「ユーザ名」を入力しリターンキーを押す
- 「パスワード」を入力しリターンキーを押す
ログアウト
- 画面右上の「ログアウト」ボタン(非常口のマーク?)をクリック
Ubuntu の終了
- すべてのアプリケーションを終了する
- ログアウトする
- 画面右下の「シャットダウン」ボタン(電源ボタンのマーク?)をクリック
- 電源が切れたことを確認
または
- すべてのアプリケーションを終了する
- 左上の「メインメニュー」から「シャットダウン」を選択
Windows からの利用
Ubuntu はアクセシビリティに関する機能(VoiceOver など)が弱いので、 Tera Term という通信端末を利用し、Windows から UNIX システムを使う方法があります。 Windows を起動し、共通アプリケーションから Tera Term を実行、cc2000.kyoto-su.ac.jp にログインしてください。
- Tera Term を起動する。
- サービス欄を確認し、サービスは「SSH」のチェックボックスを ON にし、SSHバージョンは「SSH2」を選択する。
- ホスト欄に接続するIPアドレスまたはホスト名を入力する。ここでは cc2000.kyoto-su.ac.jp がホスト名。
- ユーザ名とパスワードを入力し OK ボタンをクリックする。
cc2000 からログアウトする場合は
- exit
と入力し、リターンキーを押してください。 その後、Windows をシャットダウンしてください。
端末(ターミナル)の使い方
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文字までという制限があります。 また、ターミナルからファイル名を入力するのにいちいち日本語変換するのは面倒です。 ファイル名・ディレクトリ名には
- 英数字 (a-zA-Z0-9)、ハイフン (-)、ピリオド (.)、アンダースコア (_)
だけを使うようにするとよいでしょう。
名前に注意
次の文字はコマンドを入力するさいに特別な意味を持つので、ファイル名に使ってはいけません。
- アスタリスク (*)
- クエスチョンマーク (?)
- バックスラッシュ (\)
また、ハイフン (-) で始まるファイル名はコマンドのオプションとして扱われてしまう危険性があります。 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
相対パスと絶対パス
カレントディレクトリが
/NF/home/kyoin0/mtkg/lecture/comp_A/2012
だったとき、
../../math_C/2012
(相対パス)/NF/home/kyoin0/mtkg/lecture/math_C/2012
(絶対パス)
という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] はリターンキーを押す)
- 「レイアウト>オプション>Ctrlキーの位置>Make CpasLock an additional Ctrl」を選択し「閉じる」
- 「閉じる」で
gnome-keyboard-properties
を終了
ibus の設定
日本語入力のトリガーになるキーを設定します。
ターミナルから ibus-setup
コマンドを実行してください。
mtkg@ubuntu:~$ ibus-setup [RET]
- 「一般>切り替え」を選択して「トリガーのキーボードショートカットを選択」を表示します。
- 「Zenkaku_Hankaku」以外のキーボードショートカットを削除します。
- マウスで「Control+space」などを選択し、「削除」ボタンを押します。
- 「OK」ボタンを押します。
- 「閉じる」ボタンで終了します。
背景の変更
背景を変更することもできます。 デスクトップ上で右クリックし、「背景の変更」をクリックします。 適当な画像を選んだら「閉じる」で終了します。
ログアウト&ログイン
ここでいったんログアウトし、ログインし直しておきましょう。
本日の課題
次の課題に挑戦してみましょう。
- ホームディレクトリに移動する
- ディレクトリ test を作成する
- ファイル一覧を表示して test が作成できたことを確認する
- ディレクトリ test に移動する
- 隠しファイルも表示するオプションを付けて ls を実行し、test の中には . と .. しかないことを確認する
- hoge というディレクトリを作成する
- ファイル一覧を表示して hoge が作成できたことを確認する
- 親ディレクトリに移動する
- ディレクトリ test を test2 という名前で丸ごとコピーする
- ディレクトリ test と test2 を削除する
解答例は次のようになります。 他の方法もあるかもしれません。 コマンドオプションの意味などは man で確認しましょう。
- cd (cd を引数なしで実行するとホームディレクトリに移動する)
- mkdir test
- ls
- cd test
- ls -a
- mkdir hoge
- ls
- cd ..
- cp -r test test2
- rm -rf test test2 (rmdir は削除するディレクトリが空でないとエラーになる)
Windows パソコンで Ubuntu を使うには
一番簡単なのは VMware などの仮想化ソフト(ソフトウェア的にパソコンをエミュレートするソフトウェア)を利用することです。 これを使うと Windows の中で別の Windows を動かしたり、別の OS を動作させることが可能になります。
仮想化ソフトにはいくつかの選択肢があります。 Windows 7 なら VMware Player (無料)、Mac なら VMware Fusion (有料)がよいでしょう。
- VMware — 仮想化ソフトの老舗
- Oracle VM VirtualBox — こちらも無料
Windows 7 には Microsoft Virtual PC もありますが Linux のインストールにはくせがあるようです。