ファイルとファイル名

UNIX を含むほとんどのオペレーティングシステムでは、 ファイル という考え方をする。これは情報をまとめて、名前をつけただけのものだ(このなまえが ファイル名 というやつ)。ファイルの例としては、たとえば歴史の授業のレポートだとか、電子メールのメッセージだとか、実行可能なプログラムとかがある。基本的には、ディスクに何か保存すると、それは一つのファイルとして保存されることが多い。

Filenames

ファイルの識別に使うのがファイル名だ。たとえば会議での発言をまとめたファイルなら talk.txt という名前になっているかもしれない。UNIX でのファイル名には、MS-DOSなどのオペレーティングシステムに見られるような、ファイル名の制限は特にない。一般に、/ 以外のあらゆる文字が使えて、長さは256文字以下に限られる。(なぜ / がダメかは、この下のパス名の話を見てほしい)。

 もう一つ。漢字やひらがな、ハングルやアラビア語など、アルファベット以外のファイル名は、いまのところなるべく避けたほうがいい(絶対ダメというわけではないけれど)。英語のアルファベットと数字、その他の英語圏の文字だけを使うのが賢明だ。いろいろ努力は進んでいるけれど、アルファベット以外の文字をどういうふうに表現するかについては、まだ意見が完全に一致していないからだ。多国語環境のないマシンだと、アルファベット以外の文字は、入力はおろか表示すらできないことが多い。

Important 重要
 

MS-DOS とちがって、UNIX のファイル名では、大文字と小文字が区別される。: myfile.txt MyFile.txt は、ちがったファイルとして判断される。

また UNIX の習慣にも慣れておこう。別に強制ではないけれど、従っておいたほうが無難だ。

ワイルドカード

コマンドラインからコマンドを入力するときには、いちいち正確なファイル名などを入力しなくても、いわゆる ワイルドカード が使える。いちばんよく使うワイルドカードは * で、これはあらゆる文字の並び(空白も含む)と一致する。たとえば ls *.txt というコマンドは拡張子が txt のファイルをすべて表示するし、 rm chapter* というコマンドは、ファイル名が chapter で始まるファイルすべてを削除する ( ls rm は UNIX コマンドで、それぞれファイルの一覧表示と、ファイルの削除のコマンドだ)。もう一つ便利なワイルドカードが ? で、これは任意の一文字と一致する。たとえば rm chapter?.txt というコマンドは chapter1.txt, chapter2.txt というファイルは削除するけれど chapter10.txt というファイルは削除しない。

ほとんどの新人 GNOME ユーザは、コマンドラインで作業をするよりは GNOMEファイルマネージャ でファイル操作をしたがる。ワイルドカードはまた Nautilus でも、ファイル選択やフィルタダイアログを見るときに使うよ。

空白、カンマなどをファイル名で使う

前にも行ったけれど、ファイル名は文字や数字だけじゃなくて、空白やカンマなど、スラッシュ (/) 以外ならどんな文字でも使える。でもコマンドラインでコマンドをタイプしているなら、こういう変わった文字を使っているファイルには注意しよう。問題を避けるために、文字や数字や点 (.) 以外のものが入ったファイル名を扱うためには、それそシングルクォート (') で囲ったほうがいい。たとえば My File を削除するには rm My File とタイプするのではなく rm 'My File' としたほうがいい。

もちろん、GNOME ファイルマネージャみたいなグラフィックツールしか使わないのであれば、こんなことは案じるには及ばない。 My File というファイルを削除するには、それをゴミ箱にドラッグすればすむ話だ