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