UNIXにはディレクトリと呼ばれる階層構造が存在します。まずは階層構造を実感するために、ターミナルで次のコマンドを入力して下さい。こういった概念は UNIX 以外の OS (Windows や MacOS 等)でも役に立ちます。
pwd
pwdコマンドは Print Working Directory の略で、現在自分が階層構造のどの位置にいるのかを表示してくれます。例えば次の様な出力が得られます。(各自、異なります)
/Users/odagiri
この出力から、現在階層構造の3段目の odagiri という場所にいることが分かります。 通常、ターミナルを起動した直後はホームディレクトリと呼ばれる場所にいますので、ここで表示されたものが自分の正式なホームディレクトリ名です。
階層構造の区切りは / (スラッシュ)で現わします。では、その下に階層構造を一段作ってみましょう。それには mkdir コマンドを用います。
mkdir foofoo
mkdirコマンドは Make Directory の略で、階層構造(ディレクトリ・フォルダー)を一段作成します。 foofoo というディレクトリができたはずです。できているかどうかは ls コマンドでみることができます。ls コマンドは LiSt の略で、現在いるディレクトリー内のファイルの一覧を表示します。
ls -l
では、作成した場所に移動してみましょう。それには cd コマンドを用います。
cd foofoo
cdコマンドは Change Directory の略で、自分のいる場所を変更します。移動できたか pwd コマンドで確認してみましょう。
pwd
次の様な出力が得られます。
/Users/odagiri/foofoo
ちゃんと移動できたようです。では、一段下(先ほどの場所)に戻りましょう。
cd ..
ピリオド二つは、一段下(人によっては一段上と呼ぶ人もいます)の場所をあらわします。期待通りに移動できたか pwd コマンドで確かめてみましょう。
cd コマンドを引数なしに実行すると、各自のホームディレクトリに移動します。 ホームディレクトリとは、各自のホームポジションであり、UNIXで作業をする上での各自の基準の場所となります。 ホームディレクトリは各自違った場所になっています。
cd
また、ホームディレクトリは 〜 (チルダー)であらわされ、
cd 〜
でも同様に移動できます。pwdコマンドを実行し、隣の人と見比べて見ましょう。違うはずです。
UNIX(MacOSXのターミナル上でも同じ)では全ての物をファイルとして扱います。 たとえば、メール、CやFORTRANプログラムのソース、実行可能なプログラム、これらすべてがファイルとして存在します。 先に説明したディレクトリも特殊なファイルの一つです。 では、簡単なファイルを作ってみましょう。エディター(他のエディターでも良い)で適当な文章を作って、 ファイル 〜/Documents/profile として新規に保存してみましょう。 では、ファイルができたか確かめてみましょう。
ターミナル 上で確かめます。まずは 〜/Documents に移動します。つづいて次の ls コマンド(エルエスコマンド)を実行して下さい。
cd Documents
ls
いくつかファイル名が表示されたはずです。lsコマンドは現在いるディレクトリのファイル一覧を表示するコマンドです。 そのなかに profile というファイルがありますか?profileというファイルの中身を見てみましょう。
cat profile
catコマンドはファイルの中身をみるときに用います。これで profile というファイルを作ることが出来ました。しかし、このままではファイルを作成した貴方以外の人は profile の中身を見ることが出来ません。そこで次のコマンドが必要となります。
cp コマンドは Copy の略でファイルを複製します。では先ほど作成した profile というファイルを複製してみましょう。まずは 〜/Documents に移動します。続いて次のようにして profile を profile2 にコピーしましょう。
cp profile profile2
lsコマンドで確かめてみると profile の他に profile2 というファイルが出来ているはずです。では profile2 を エディターで開いてみて下さい。profile と同じ内容が表示されましたか?
UNIX には man コマンドがあり、それによってオンラインマニュアルを参照することができる。 オンラインマニュアルにはセクション番号があり、 ターミナルで実行するコマンド(cp, man, ls, mv, rm, cc, gnuplot 等)のマニュアルはセクション1に載っている。 また、C言語の標準関数や数学関数(printf, sprintf, scanf, sin, cos 等)についてはセクション3に載っている。
通常、例えば、ターミナル上で、
man printf
とすれば、C言語の標準関数である printf 関数のマニュアルを見ることができるが、欲しい出力が得られない場合がある。 そういう場合は、セクション番号を明記する。 printf 関数を調べたいので、
man 3 printf
と、セクション3のprintfについて調べるといったふうである。
例えば、UNIXのコマンドである cp 等についても、
man 1 cp
とすれば、詳しい情報が得られる。例えば次を試してみると良い。
man 1 man
man 1 ls
man 3 sin
man 1 mkdir
man 1 mv
man 3 scanf
man 1 gnuplot
man 3 rand
最後の rand のマニュアルには,#include <stdlib.h> が必要とも書いてある。 (sin 等も同様に #include <math.h> が必要とある)
ただし、GLSCの関数のマニュアルはこの方法では見ることができない。