ファイルのパス

Linuxのパス

パスとは、そのファイル、またはディレクトリがどこにあるかを示すものだ。

Windowsでは、ファイルやディレクトリの位置を表す際に、c:¥tmp¥test.txtなどと書きますが、同様にLinuxでもファイルやディレクトリの階層を表すパスがあります。

階層構造
Windowsと異なる点は以下のとおりです。(同じUnix系のMacユーザーはこのあたりの説明は飛ばしていただいて構いません。)

  • ドライブがなく最上位階層は/
  • 区切り文字は¥ではなく/

 

相対パスと絶対パス

ルートディレクトリ

Windowsではドライブレターがパスの最上位階層となりますが、Linuxでは/(スラッシュ)が最上位となります。この/をルートディレクトリと呼びます。また、ドライブという考え方はありません。

ルートディレクトリはディスクの一番上の階層のディレクトリだ。根本のディレクトリという意味だ。重要なフォルダかそうでないかの見分けははじめはつかないと思うので、慣れるまではここで作業はしないほうがいい。

ホームディレクトリ

ユーザーが自由に使える、ディレクトリだ。作業中のドキュメントなどを格納しておく。

誰かと共有することもできるし、自分専用にひとつのディレクトリを用意することができるが、いずれにしても自由に使えるからと無造作に使うのではなく、体系的に整理して使いたい。

絶対パス

ルートディレクトリからパスを順番に下ってパスを表す方法を絶対パスと呼びます。フルパスと呼ぶ場合もあります。

例えば、ルート直下のhoge.txtの場合、/hoge.txtと記述します。また、ルート直下のtmpディレクトリの下にあるfuga.txtの場合、/tmp/fuga.txtとなります。

カレントディレクトリと相対パス

コマンドラインで現在作業中のディレクトリをカレントディレクトリと呼びます。カレントディレクトリからの相対的なパスを相対パスと呼びます。
相対的パスを表すために、以下の記号が用意されています。

記号 意味
. 現在のディレクトリ
.. 上の階層のディレクトリ
~(チルダ) ホームディレクトリ

また、.と..以外に、ホームディレクトリと呼ばれるログインしたユーザー専用のディレクトリを表す記号として~(チルダ)が用意されています。ホームディレクトリについてはまた別途説明します。

lsコマンド

ディレクトリの中のディレクトリやファイルを一覧表示する。

pwdコマンド

現在いるディレクトリ(カレントディレクトリ)の表示。

cdコマンド

使い方は、次のとおりだ。

$ cd ディレクトリ

ディレクトリを移動するには、これだけだ。

cdコマンドで最も意識したいのは、相対パスで指定するのか絶対パスで指定するのかの違いだ。

絶対パスで指定する場合は/で始まり、それ以外は相対パスだ。

相対パスで指定する場合は、現在、どのディレクトリで作業しているかも意識しなければならない。

cdコマンドは移動するだけなので、何かを間違えてもシステムに影響が出ることはない。積極的に移動して、慣れてしまおう。