
コンピューターが使う資源(主にファイルやフォルダーですが、それだけではなく周辺装置などを指し示すこともあります)が、どこにあるのかを記述する方法です。
スマホやタブレットを使うときって、あまりファイルの位置を意識しなくなっていると思うんです。もちろん、メーカーは意図してそのように設計しています。ファイルや、それを管理しやすくするためのフォルダーが形作る逆ツリー型の階層構造は、初めて触れる人にとっては取っつきにくい印象を与えます。
そこで、スマホやタブレットのOS、アプリはなるべくこれらを隠蔽します。「この写真を人に送る」といった、本来はファイルの位置を意識しないとできなさそうな操作も、「共有」と比喩的表現を用いて利用者に提供しています。
便利になったとも言えますし、内部構造が隠されてしまうので学びの機会がなく、いざというときにファイルが見つけられない!という弊害も指摘できるでしょう。
絶対パス、相対パスは両方とも、ファイルを使うときに、その位置を正確に指定するための表記法です。
|
|
絶対パスはそのシステムの最上位に位置する地点(ルート)や、特定の補助記憶装置などを起点にファイルの位置を書いていきます。
/user/okajima/picture/写真.jpg
これは絶対パスの例で、ルート(/)から出発して、userフォルダーの中の、その中のokajimaフォルダーの中の、さらにその中のpictureフォルダーの中にある、写真.jpgというファイルを指し示しています。
郵便の住所にも似て、誰がみても一目瞭然に「ああ、そこにあるのか」と分かります。弱点は記述が長くなることと、ファイルを移動させると書き換えが必要になることです。
相対パスも見てみましょう。利用者がいま作業しているフォルダー(ここでは、pictureフォルダーで作業をしていると仮定します)から見て、そのファイルがどこにあるかを表すやり方です。
|
|
./写真.jpg
. は今いるフォルダー(カレントディレクトリー)を表す記号です。「まさに今見ているフォルダーの中に『写真.jpg』ファイルがあるよ」と言っているわけです。
こちらは例えるなら、ふいに問われたときの道案内でしょうか。「この道をまっすぐ行って、突き当たりで右折してください」と説明するイメージです。案内する方もされる方も、行き先が近いならばこちらの方が簡単に目的地を目指せると思います。
またファイルを移動させても、案内が有効に機能することがあります。
/
|
|
└── user
└── okajima └──tanaka
└── picture → └── picture
└──写真.jpg └──写真.jpg
ファイルを使う人が岡嶋さんから田中さんに変わったと考えてください。
okajimaフォルダーと同じ階層に、tanakaフォルダーがあって、利用者の変更に伴ってファイルの位置もtanakaフォルダー内のpictureフォルダーに移動したとします。
これはまさに住所の変更にあたるので、絶対パスで指定するなら書き換えなければなりません。ところが相対パスであれば、その必要はないかもしれません。田中さんが自分のpictureフォルダーで作業していて写真.jpgを開くなら、「./写真.jpg」と同じように指定すればいいからです。
もちろん、相対パスにも弱点はあって、ファイルまでの位置が複雑になるとかえって分かりにくくなります。「今いる場所から、親フォルダーであるokajimaに上がり、そこからさらにuserへ上がって、tanakaへ下りて…」などとやるなら、絶対パスで記述した方がずっとすっきりします。
また、ファイルを指し示す起点が「今いる場所」ですから、人に説明するときなどはよくよく気をつけないと混乱します。全く違う場所を指し示すことにもつながりかねません。
状況に応じて、両者を使い分けてみてください。
【著者略歴】
岡嶋 裕史(おかじま ゆうし) 中央大学国際情報学部教授/中央大学政策文化総合研究所所長。富士総合研究所、関東学院大学情報科学センター所長を経て現職。著書多数。近著に「思考からの逃走」「プログラミング/システム」(日本経済新聞出版)、「インターネットというリアル」(ミネルヴァ書房)、「メタバースとは何か」「Web3とは何か」(光文社新書)、「機動戦士ガンダム ジオン軍事技術の系譜シリーズ」(KADOKAWA)。Eテレ スマホ講座講師など。