〜 プログラミング演習 No.3 〜
1
コマンドの実行と停止GNOMEデスクトップ環境でターミナルGNOME端末(gnome-terminal)を起動しましょう。ウイン ドウ内に「$」が現れると思います。これはプロンプトと言い、UNIX/Linuxに命令(コマンド)を与え ることができる状態を示しています。このプロンプトの後にコマンドを入力し、 Enter を押すと命令 を実行してくれます。コマンドが入力できるところをコマンドラインと言います。
コマンドラインに、日時を表示するコマンドdateを入力してみましょう。次の行に日時が表示され て、その次にプロンプトが現れます。すなわち、dateが実行され、終了したので、次の命令が受け付け られる状態になっています。
$ date [Enter]
2001年 4月11日(水) 10時18分12秒 JST
$
さて、もう1つ別の例をやってみましょう。ここでは、電卓 xcalcを実行してみましょう。コマンド ラインに xcalcと入力します。
$ xcalc
電卓が起動できましたか? 起動後、入力したコマンドの下にはプロンプトが現れていないことに注意 して下さい。これは電卓が実行中であるため、次のコマンドをまだ受け付けていないことを示していま す。電卓の終了はウィンドウ上で q を入力します。こうすると、次のプロンプトが現れます。
電卓を使っているときに、日時を調べたいときもありますね。このような時のための仕組みをUNIX では用意しています。xcalc の後に&を入力してから実行してみて下さい。こうすると、すぐにプロン プトが現れて、次のコマンドが実行できるようになります。
1
$ xcalc &
$
2
ファイルとディレクトリこれから、プログラミングの演習を行っていきますが、プログラムはファイルに保存されます。そこ で、ファイルの操作について勉強しておきましょう。
2.1 ファイルの一覧
既にいくつかのファイルが標準で用意されていますので、ちょっと見てみましょう。ファイルの一覧 を表示するにはlsコマンドを用います。
$ ls
GNUstep/ hello.c public_html/ rpm/ ...
また、ls -lとするとファイルの詳細な情報を見ることができます。さらに、ls -aとすると隠しファ
イルに相当するファイルも表示されます。これらの多くはユーザ環境の設定ファイルですので、削除し たりしないようにして下さい。
2.2 ホームディレクトリ
ユーザには自分だけが使用できるファイル領域が用意されます。ログインした状態では、先ほどlsコ マンドを実行したファイルが表示されたところにいます。ここをホームディレクトリと呼びます。この 中に様々なファイルを作成することができます。このディレクトリはユーザによって異なります。
$ pwd
/fs/export2/st9/k000xx ← あなたのホームディレクトリの位置
2.3 ディレクトリ
ホームディレクトリにファイルを作成していくと、lsコマンドを実行したときに、ファイルを探すの が大変になります。そこで、ディレクトリを作成し、関連のあるファイルをそのディレクトリの中に置 くことにします。ファイルを管理する特別なファイルをディレクトリと言います。先程のlsコマンドを 使って、ファイルシステムの構成をちょっと見てみましょう。次の様に入力してみて下さい。
$ ls /
bin etc fs home ... tmp usr var ...
いくつかのファイルやディレクトリが表示されます。/はルートディレクトリと呼ばれ、全てのファイ ルとディレクトリのトップに置かれています。今度は ルートディレクトリ/の下にある /binを見てみま しょう。
$ ls /bin
同様にたくさんのファイルやディレクトリが表示されます。このようにlsの後にディレクトリ名を指 定すれば、そのディレクトリに含まれるファイルとディレクトリが表示されます。このことからファイ ルシステムは木構造をしていることがわかりますね。
/
bin etc lib home root usr sbin var ルート・ディレクトリ
bash cp mv … bin lib … users
… …
※ ここで、「エディタの操作」の章に進む
3
基本操作3.1 ディレクトリの作成
はじめにC言語のプログラミング用に Prog Cと言うディレクトリを作成してみましょう。ディレク トリの作成にはmkdirコマンドを用います。
$ mkdir Prog_C
$ ls Prog_C
以後は、C言語プログラムはこの中に作るようにしてください。ちなみに、ファイル名は~/Prog C/file.c のように表記します。ここで、~/はホームディレクトリを示します。
3.2 カレントディレクトリの移動
ファイルシステムは木構造をしていると述べました。では、ホームディレクトリはどこにあるのでしょ うか? pwdコマンドはカレント(現在の)ディレクトリを表示します。
$ pwd
/fs/export1/at2/software
先程作成したディレクトリProg Cに移動してみましょう。移動にはcdコマンドを用います。
$ cd Prog_C
$ pwd
/fs/export1/at2/software/Prog_C
カレントディレクトリが変わっていることがわかります。ホームディレクトリに戻るには単にcdとだ け入力します。
3.3 ファイルの移動・コピー・削除
「エディタの操作」の章で次のようなhello.cを作成したはずです。
¶ ³
#include <stdio.h>
int main(void) {
printf("Hello, Warld\n");
µ} ´
以下では、hello.cが作成済として、ファイルの操作を説明します。もし、ファイルが存在しない場合は、
次のようにtouchコマンドを利用してhello.cと言う空のファイルを用意して、練習してください。
¶ ³
$ touch hello.c
µ ´
この.cと付くファイルはC言語のファイルとして扱われます。ディレクトリProg Cへ移しておきま しょう。ファイルの移動とファイル名の変更はmvコマンドを用います。
$ mv hello.c Prog_C
$ ls
$ ls Prog_C hello.c
次に、ディレクトリProg Cに移動して、hello.cをコピーしてみましょう。コピーにはcpコマンドを 用います。
$ cd Prog_C
$ cp hello.c goodbye.c
このようにすると、hello.cと同じ内容のファイルgoodbye.cができます。内容を確認してみましょう。
ファイルの内容を見るには、catコマンドまたはlessコマンドを用います。
$ cat hello.c goodbye.c
(ファイル hello.cと goodbye.cの内容が続けて表示される)
$ less hello.c
$ less goodbye.c
catコマンドはconCATenate(連結する)と言う意味で、上記の様に二つのファイルを結合して出力し ます。lessコマンドは内容が多い場合にページ単位で表示してくれる機能があります。
最後に、不要になったファイルを削除しておきましょう。ここでは、先程コピーして作成したファイ ルgoodbye.cを削除します。削除するにはrmコマンドを用います。
$ ls
hello.c goodbye.c
$ rm goodbye.c
$ ls hello.c
ディレクトリを削除したい場合は、rmdirコマンドを用います。使い方はrmコマンドと同じです。
さて、ここで、ホームディレクトリに戻っておきましょう。もうできますね?
4
コマンド一覧コマンド名 機能
ls ファイルの一覧
mkdir ディレクトリの作成
pwd カレントディレクトリの表示 cd カレントディレクトリの移動 mv ファイルの移動、ファイル名の変更 cp ファイルのコピー
cat ファイルの内容の表示、ファイルの結合 less ファイルの内容の表示
rm ファイルの削除
rmdir ディレクトリの削除