第1回 Unixコマンドに慣れよう (1/2)


1.基本操作

これまではWindowsでMathematicaを扱いましたが、今回はLinuxでログインしましょう。ログインできたらターミナルを立ち上げましょう。ターミナルをインストールされているプログラムから探してもいいのですが、UbuntuというOSではショートカットコマンドがあり、デスクトップ画面のままで以下のように入力するとターミナルが立ち上がります。

[Ctrl]+[Alt]+[T]

「Unix」とはもともと、このターミナルの画面だけを使って操作するタイプのOSを指します。LinuxはUnixをもとに開発され、より使いやすくしたものです。 どちらもWindowsやMacよりも費用を抑えられて、かつ安定的に動作するので、企業や大学などでよく用いられています。 LinuxやUnixの特徴は、ターミナルを用いた操作にあります。最近のLinuxはターミナルを使わずとも、マウスでポインタを操作して、ウインドウを出したり消したり、というようにWindowsとほとんど同じように操作ができます。しかし、Linuxの良さはこのターミナルを用いた操作にあります。この授業では、基本的にこのターミナル画面を用いた操作法を学びます。


a) ディレクトリの移動ができるようになろう

まず、ターミナルにpwdと入力してenterを押してみましょう。

1+1

1+1

こうなりますね。最後のishiki.goro.gmという部分はアカウント名で、ここは人によって変わります。この出力は「今自分のいる場所 (カレントディレクトリ)は/home/********だよ」ということを意味しています。このようにpwdというコマンドは、今いる場所「カレントディレクトリ」を表示するのに使うことができます。

さて次に、今いる場所にどのようなファイルがあるのか表示させてみましょう。 lsというコマンドは、そのディレクトリにあるファイルやサブディレクトリを表示してくれます(lsの一文字目は数字の1ではなくて、小文字のエルです)。lsと打って[enter]を押してみましょう。

1+1

ここにDesktopというおなじみのディレクトリがありますね。今いる場所はデスクトップを含んだ、一つ上のディレクトリだったわけです。次に、ディレクトリを移動してみましょう。cdというコマンドによって今いる場所(カレントディレクトリ)から移動することができます。cdを使ってデスクトップに移動してみましょう。cd Desktopと打ちましょう。コマンドを打ったら、enterを押すのを忘れないようにしましょう。

1+1=2

移動したら、pwdで自分の場所をチェックしてみましょう。

1+1=2

確かにカレントディレクトリがデスクトップになっていますね。こうしてデスクトップに来ることができたわけです。
次に、Desktop上に新しいディレクトリを自分で作ってみましょう。ディレクトリを作るためのコマンドが「mkdir」です。mkdir compphysとしてenterを押しましょう。

1+1=2

デスクトップを見て下さい。compphysという名前のフォルダができたと思います。(ターミナルで隠れている場合は、マウスを使ってターミナルをどけてください)この授業ではマウスを使うのは邪道なので、マウスなしでもフォルダができたことを確認できなくてはいけません。lsコマンドを使えば確認できますね。

1+1=2


確かにcompphysがありますね。このように、ターミナルではコマンドを打ってenterを押す、という操作の繰り返しにより、いろいろな操作が可能です。「なんかめんどくさい」、「マウスを使った方がいい」とか思う人もいるかもしれませんが、このターミナル操作にはそれなりの利点があります。この授業ではこの利点について紹介できればと思います。

練習問題

  • コマンド「cd」を使って、上で作ったディレクトリ「compphys」をカレントディレクトリにしてみましょう。cd ./compphys [enter]とすればいいですね。 ([enter]はenterボタンを押すことを意味しますが、煩わしいので以下ではいちいち書かないことにします。) その後、pwdで場所を確認してみましょう。
  • compphysの中に、「test1」という名前の新たなディレクトリを作ってみましょう。
  • test1の中に移動(cd test1)して、pwdで場所を確認してみましょう。
  • もう一度test1の外に出てみましょう。これにはcd ../ とすればOKです。「../」は、今いるディレクトリの一つ上の階層を指します。今の場合、test1の上のディレクトリはcompphysなので、compphysに戻ることができます。
  • 今度は、test1の中に、さらにtest2というディレクトリを作ってみましょう。cdでtest1の中に入ってからやってもいいですが、mkdir ./test1/test2 とするとcompphysにいるままでも作ることができます。mkdir ./test1/test2の意味は、./(今のディレクトリ)の下にある「test1」というディレクトリのさらに下に「test2」というディレクトリを作れ、ということです。test2が出来たら、test2に入って、またpwdで場所確認をしてみましょう。
  • 今度は今作ったtest2を消去してみましょう。まずtest1にcdで移動してから、rmdir ./test2 としてみましょう。lsコマンドでtest2が消えたか確かめてみましょう。
  • test2のディレクトリをもう一度作って消してみましょう。
  • cdコマンドを使っていろんなところに移動してみましょう。移動したらその都度、lsコマンドでどんなファイルがあるかをチェックしてみましょう。
  • 単に cd [enter]とすると、ログインの直後に自分がいたディレクトリ(ホームディレクトリ)に移動します。試してみましょう。
  • いろいろ練習してみましょう。

b) emacsを使ってみよう

まず、compphysの下に作ったtest1のディレクトリに移動しましょう。今度はここで、テキストファイルを作ってみましょう。Unixには標準的なテキストエディタとして、「emacs」が搭載されています。emacsを使ってtest.txtというファイルを作ってみましょう。まず、emacs test.txt [enter]としてみましょう。すると、emacsが立ち上がり、test.txtという新しいファイルを編集する画面に移ります。

1+1=2

試しに、この画面で「abc」と打ってみましょう。

1+1=2

このままファイルを保存するには「ctrlボタンを押しながら x s の順に入力」します。 ctrlボタンはずっと押しっぱなしにしましょう。これで保存できたことになります。emacsの最下段の欄に以下のように表示されれば保存成功です。

1+1=2

保存出来たらemacsを終了しましょう。終了するためには「ctrlボタンを押しながら x c の順に入力」しましょう。emacsを無事終了できたら、今作ったファイルがあるか、lsコマンドで確かめてみましょう。無事test.txtというファイルができていたら、今度はその中身をチェックしましょう。「cat test.txt [enter]」としてみましょう。catはファイルの中身を表示するコマンドです。先ほど入力した「abc」が表示されたでしょうか?

1+1=2

次に、test.txtを編集してみましょう。「emacs test.txt [enter]」とすると、今度はすでにtest.txtというファイルがあるので、この既存のファイルを編集することができます。abcとすでに書いてあると思いますので、これに2文字付け足して「abcde」としてみましょう。その後また保存して、emacsを終了してください。そして、きちんとファイルが編集できたか、catで確かめましょう。

練習問題
  • 「test2.txt」という名前の新しいテキストファイルをemacsで作ってみましょう。書く内容は、各自で自由に決めましょう。
  • catでtest2.txtを表示してみましょう。
  • cat test.txt test2.txtとすると、二つのファイルを続けて表示できます。やってみましょう。
  • cat test.txt test2.txt > test3.txtとしてみましょう。>の記号はリダイレクトといって、出力を新しいファイルtest3.txtに書き込むという意味です。test3.txtという新しいファイルができていますので、lsコマンドで確かめてみましょう。また、catコマンドでその内容を確かめてみましょう。
  • いろいろ試してみましょう。

c) 絶対パスと相対パス

cdでディレクトリを移動するときには、移動先を指定する必要がありました。また、catでファイルを見る場合も、ファイルを指定しなければいけません。このように何かの場所を指定する場合には、二通りのやり方があります。この二つは、絶対パスと相対パスと呼ばれます。相対パスとは、今のディレクトリから見てどの位置にあるか、という指定の仕方です。例えば上で出てきたcd ../ というのは、今のディレクトリの上のディレクトリに行け、という意味ですから、相対パスの一つです。他にも例えば cd ./test1/test2 という書き方も、今のディレクトリ(./)の中のtest1の中のtest2の中に行け、ということですから、相対パスになります。逆に、絶対パスというのは ./ や ../ を使わずに指定する方法です。pwd で表示されるのは絶対パスです。

練習問題
  • ディレクトリ test1 でpwdコマンドを使って、test1の絶対パスを見てみましょう
  • ディレクトリcompphysに移動してから、test1の絶対パスを使ってtest1に移動してみましょう。(cd /home/xxxxxxxx/Desktop/compphys/test1/の形)
  • 絶対パスを使って、test.txtをcatで表示してみましょう。cat /home/xxxxxxxx/Desktop/compphys/test1/test.txt の形)
  • 相対パスを使って、test.txtをcatで表示してみましょう。 (cat ./test.txt や cat ./test1/test.txt の形)
  • いろいろ試してみましょう。

d) 便利な操作法
ウインドウズでは1クリックで済むのに、Unixではファイルを見るためにわざわざcat ./test.txtなどと打ち込まなければならず結構面倒です。しかし、これを少し楽にする方法があります。例えばcat ./test.txtと打ちたい場合、cat ./test.まで入力して、[Tab]キーを押してみてください。test.txtがカレントディレクトリにちゃんとある場合は、残りのtxtが自動的に補完されます。

もうちょっと楽をしてcat ./teで[Tab]キーを押すとどうなるでしょうか。上のテキストの練習問題をきちんとやった人は、test.txtがあるディレクトリ内に、teで始まる他のファイルtest2.txt test3.txtがあります。このように複数の候補があって、cat ./teだけでは決まらない場合、[Tab]キーを一回だけ押しても何も出てきません。しかし2回押すとteで始まるファイルの候補を表示してくれます。これも便利なので覚えておきましょう。(練習問題をやっていない人で、test.txtしかファイルがない人は、cat ./t [Tab]とするだけで補完してくれます。)

また、キーボードの↑(上矢印)ボタンも便利です。押してみると、前に入力したコマンドを再度表示してくれます。表示後、それを編集して[enter]とすれば、一からコマンドを書く手間が省けますので、似たようなコマンドを何回も打ちたい場合などには便利です。


Home Top Back Next