ディレクトリとファイルについて

ディレクトリ

ディレクトリとは複数のファイルを置ける場所のことで、Windows でいうフォルダと同じようなものである(以下ではディレクトリの代わりにフォルダという名称を使うことがある)。

ディレクトリにはファイルだけでなく、さらにディレクトリを置いて入れ子にすることもできる。 Unixでは実際に様々なディレクトリが入れ子状態になっている。

自分のホームディレクトリの下なら自由にディレクトリやファイルを作成したり削除したりできる。 その他の場所のディレクトリには制限がかかっており、例えば他人のホームディレクトリの下にあるディレクトリやファイルを勝手にいじることはできないようになっている。

本学のサーバのディレクトリは具体的に以下のような階層構造になっている。

上流 <-----------------------> 下流
/
├── bin/
├── etc/
└── home/
    ├── career/
    └── irhome/
        └── c1xx/
            ├── c1xxaaa/
            ├── c1xxbbb/
            └── c1xxxxx/
                ├── Desktop/
                ├── Mail/
                └── public_html/

多くのディレクトリは入れ子になっており、 ディレクトリの場所は「/」(スラッシュ)で区切って表す。 これをパス名という。

例えば、パス名「/home/irhome/c1xx/c1xxxxx/」は、以下の階層構造を表す。

シェル上では特別なディレクトリを記号で表すことができる。 「/」はディレクトリの場所を表す区切りで使われるが、単独もしくは一番頭にあるとルートディレクトリを意味する。

記号 ディレクトリ
/ ルートディレクトリ
~/ ホームディレクトリ
. カレントディレクトリ
.. 一つ上のディレクトリ

例えば、パス名「/home/irhome/c1xx/c1xxxxx/」は次のように表してもよい。

/home/career/../irhome/c119/c119xxx

ファイル

ファイルにはテキストファイルや画像ファイルなど様々な種類がある。 ファイル名には「.」(ドット)の後ろに拡張子1)という短い文字列を付けてファイルの種類を表すのが一般的である。

ファイル名の例 拡張子 ファイルの種類
report.txt .txt テキストファイル
program.rb .rb Rubyプログラムファイル
data.csv .csv CSVファイル
sport.jpg .jpg JPEG画像ファイル
picture.png .png PNG画像ファイル
anime.gif .gif GIF画像ファイル
history1.doc .doc Microsoft Word用ファイル(97-2003)
history2.docx .docx Microsoft Word用ファイル(2007以降)
data1.xls .xls Microsoft Excel用ファイル(97-2003)
data2.xlsx .xlsx Microsoft Excel用ファイル(2007以降)
lecture1.ppt .ppt Microsoft PowerPoint用ファイル(97-2003)
lecture2.pptx .pptx Microsoft PowerPoint用ファイル(2007以降)
introduction.pdf .pdf PDF(Portable Document Format)ファイル

ただし、拡張子はファイル名の一部でしかなく、自由に変えられるため、拡張子とファイルの種類が必ずしも対応するわけではない。


Unixの特殊ファイル

Unixには特殊なファイルがいくつかある。

ディレクトリ名とファイル名

ディレクトリ名とファイル名にはある程度好きな言葉を使うことができるが、Unix では以下のような注意点がある。

ファイルの容量

ファイルの容量の単位にはバイト(byte)が使われる。 バイトは略して「B」で表されることが多い。

例えば、日本語1文字は(UTF-8 で)データ量としては 3B(3バイト)になる。 日本語1000文字だと 3,000B(3,000バイト)になる。

容量が大きくなると桁が大きくなり、バイトだけで表すのが厳しくなってくる。 そのため、桁を省略するために接頭辞がよく使われる。


SI接頭辞

SI接頭辞は長さや質量など物理量の単位で使われる接頭辞で、これをバイトの接頭辞として使うことが多い。

SI接頭辞 読み 乗数
k(K) キロ $10^{3}$
M メガ $10^{6}$
G ギガ $10^{9}$
T テラ $10^{12}$
P ペタ $10^{15}$

2進接頭辞

コンピュータの中では2進数で扱った方がよい場合があるので、2の乗数に合わせた接頭辞である2進接頭辞を使うことがある。

2進接頭辞 読み 乗数
Ki キビ $2^{10}$
Mi メビ $2^{20}$
Gi ギビ $2^{30}$
Ti テビ $2^{40}$
Pi ペビ $2^{50}$
1)
Windows や macOS では拡張子を元にどのアプリケーションで開くかを決めている。それらの OS では通常、拡張子は非表示になっており、拡張子を表示するためには設定が必要である。