ソフトウェアを構成するプログラムも,ワープロなどで作ったデータもファイルとして保存され,必要に応じて読み書きされている。これを管理するのもOSの大きな仕事である。
パーソナルコンピューターではファイルは名前で区別され,フォルダ(ディレクトリ)で保存する場所を指定する。同じフォルダ内には同じ名前のファイルは作ることができない。
フォルダはファイルを入れる入れ物と考えればよい。
フォルダの中にもフォルダを作ることができる。
UNIX系のOSでは,一番上のフォルダをルートとよび,/ で表し,その下に全てのフォルダとファイルが入っている。たとえば主要なフォルダだけ書くと次のようになっている
/ +--bin +--boot +--etc +--home | +--koizumi | +--abe | +--fukuda | +--hoge | +--sbin +--tmp +--usr | +--bin | +--lib | +--lacal | +--sbin | +--share | +--var
これはそれほどポピュラーな書き方でない。ルートの下に bin, boot, etc, home, sbin, tmp, usr, var のフォルダがあり、home のフォルダの中には koizumi, abe, fukuda, hoge のフォルダがある…、と読んでいく。
フォルダは実は特別なファイル(内容がファイルの一覧)なのでコンピュータは区別をしないことがある。区別するために表示に色を付けたり、末尾に / を付けたりすることがある。
フォルダが違えば名前が同じでもかまわないので、ファイルを最も確実に指定するには、フォルダ名も加える必要がある。この場合、区切り文字として / を使う。たとえば、
/home/hoge/abcd
は、ルートの home の中の hoge の中の abcd というファイルを表している。
ファイル名の前の部分をパス、パス名などということがある。(語源はpathつまり経路)
/home/hoge/abcd パス名 |ファイル名
このようにルートから全部のフォルダ名を指定したファイルの名前をフルパス名という。実際の使用には長すぎて不便なので省略形がある。
上記の多くのフォルダはシステムの維持のために必要なもので一般ユーザーには読み込みや書き込みについて制限がかかっている。
それぞれのフォルダの役割はたとえば次のようになっている。UNIX系のOSではだいたいこのようになっているが、種類によってまちまちである。最近統一しようという動きがある。
/bin 一般ユーザーも使用するコマンド(プログラム) /boot 起動時に使うプログラムや設定 /etc 諸設定をまとめて入れておく /home ユーザー毎の設定と保存データの親フォルダ /sbin 管理用コマンド /tmp 作業用一時ファイル置き場 /usr このコンピュータ独自のソフトウェア /var 運用記録等
ユーザーホームとは一般ユーザーが個別に割り当てられたフォルダで、ここはそのユーザーだけが読み書きできるようになっているのが普通。(かつては読むことは誰にでも許していたシステムが多かった)
多くのシステムでは、/homeというフォルダの下に配置する。
上記の例では /home/koizumi はユーザー koizumi , /home/hoge はユーザー hoge のユーザーホームということ。
/home/hoge ユーザー hoge のユーザーホーム
UNIX系のシステムでは、ユーザーホームを ~ で表すことができる。(チルダと読む。日本のキーボードではかなの「へ」が書いてあるキーをShiftキーを押しながら押すと出すことができる。)
次のように短くできるほか、ユーザーホームが /home の下にないシステムでも使える。
学校のようにユーザーが利用するコンピュータが1つとは限らず、複数のコンピュータを渡り歩いて使用するところでは、ユーザーホームのフォルダをサーバーに置いておき、ログイン時に/home以下に接続して使うというシステムが便利である。
別のコンピュータのフォルダを自分のコンピュータのあるフォルダ以下にあるかのようにすることをマウントとか接続などと呼ぶ。
このような仕組みになっている場合は /home 以下にあるのは実質上、自分のユーザーホームだけである。