ターミナルでのファイル操作等


1.ディレクトリ(フォルダー)とは

 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コマンドを実行し、隣の人と見比べて見ましょう。違うはずです。

2.ファイルとは

 UNIX(MacOSXのターミナル上でも同じ)では全ての物をファイルとして扱います。 たとえば、メール、CやFORTRANプログラムのソース、実行可能なプログラム、これらすべてがファイルとして存在します。 先に説明したディレクトリも特殊なファイルの一つです。 では、簡単なファイルを作ってみましょう。エディター(他のエディターでも良い)で適当な文章を作って、 ファイル  〜/Documents/profile として新規に保存してみましょう。 では、ファイルができたか確かめてみましょう。

ターミナル 上で確かめます。まずは 〜/Documents に移動します。つづいて次の ls コマンド(エルエスコマンド)を実行して下さい。

cd  Documents

ls

いくつかファイル名が表示されたはずです。lsコマンドは現在いるディレクトリのファイル一覧を表示するコマンドです。 そのなかに profile というファイルがありますか?profileというファイルの中身を見てみましょう。

cat   profile

catコマンドはファイルの中身をみるときに用います。これで profile というファイルを作ることが出来ました。しかし、このままではファイルを作成した貴方以外の人は profile の中身を見ることが出来ません。そこで次のコマンドが必要となります。

3.cp コマンド

 cp コマンドは Copy の略でファイルを複製します。では先ほど作成した profile というファイルを複製してみましょう。まずは 〜/Documents に移動します。続いて次のようにして profile を profile2 にコピーしましょう。

cp  profile  profile2

lsコマンドで確かめてみると profile の他に  profile2 というファイルが出来ているはずです。では profile2 を エディターで開いてみて下さい。profile と同じ内容が表示されましたか?


man コマンドによるオンラインマニュアルの参照

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の関数のマニュアルはこの方法では見ることができない。


戻る