絶対パスと相対パス
プログラムの中で、ファイル名を表現する方法に、絶対パスと相対パスという2通りの表現の仕方があります。絶対パスとは、ファイル名をルートから省略せずに記述したファイル名のことです。相対パスとは、カレントディレクトリから相対的に記述したファイル名のことです。
絶対パスと相対パスの例
Unix系OSの場合 | Windowsの場合 | |
絶対パスの例 | /home/yk/sample1 | c:\home\yk\sample1.txt |
相対パスの例( *1 ) | sample1 | sample1.txt |
*1 カレントディレクトリが、それぞれ 「/home/yk」「c:\home\yk」の場合
絶対パスと相対パスの解釈のされ方。
ファイル名は、/ で始まっていれば、絶対パスであると解釈され、/ で始まっていなければ、相対パスであると解釈されます。Windowsの場合も似たようなもので、 c:\ ( ドライブ名\ ) で始まっていれば、絶対パスであると解釈され、そうでなければ、相対パスであると解釈されます。
カレントディレクトリとは
カレントディレクトリとは、相対パス名の基点となるディレクトリのことです。コマンドプロンプトやシェルから実行する場合は、スクリプトを実行したディレクトリが、カレントディレクトリになります。
ファイル名とディレクトリ名は名前からは区別できない。
/home/yk/sample1 は、ディレクトリである場合もありますし、ファイルである場合もあります。/home/yk/sample1/ と表現すれば、それは、必ずディレクトリ名になります。( Windowsの場合は、c:\home\yk\sample1\ )