元セブ島在住のエンジニアの僕「Tommy」が、プログラミング・英語・セブ事情を発信するブログ

Tommy's blog

【Linux】ディレクトリの意味と移動の方法【→Linux初心者向け】

5月 25, 2020

プログラム女子
ディレクトリって何なの?
ディレクトリはフォルダのことだよ。Linuxを扱う場合にはディレクトリを行ったり来たりするんだけど、そこにもいろんな知識があるから、今回は「ディレクトリ」について説明するね。
Tommy

この記事で分かること

  • ディレクトリとは何かが分かる
  • ディレクトリを扱う為の知識が身につく

Linuxディレクトリの意味

この記事では、Linuxの「ディレクトリ」の意味と、その使い方を説明します。

Linuxの「ディレクトリ」は、Windowsの「フォルダ」と同じものです。また、ディレクトリの中にあるディレクトリを「サブディレクトリ」と呼びます。ディレクトリを表す記号「/」は「ルートディレクトリ」と言って、一番頂点のディレクトリになります。なので、すべてのサブディレクトリは、この「ルートディレクトリ」の枝葉のディレクトリになります。

Linuxは、windowsと違い、ディスクが何台あろうが1つのディレクトリツリーしか持ちません。例えば、1台目のディスクが「ルートディレクトリ」としてくっつけられることになり、2台目のディスクを追加した場合、ルートディレクトリを頂点とするディレクトリツリーのどこかの枝としてくっつけることになります。この「くっつける」操作のことをディスクを「マウントする」と呼んでいます。

また、現在作業中のディレクトリのことを「カレントディレクトリ」と呼びます。カレントディレクトリの確認は「pwd」コマンドを使います。基本的なコマンドは下の記事にまとめていますので、参照ください。

Linuxディレクトリの移動

ここでは、ディレクトリの中にあるファイルの閲覧に必要なディレクトリの移動など、ディレクトリの操作に必要な知識やコマンドを使うためのターミナルへのコマンド方法を説明します。説明は次の順番で行います。

  1. Linuxのディレクトリパス
  2. Linuxの絶対パスと相対パス
  3. Linuxのディレクトリを意味する記号

1.Linuxのディレクトリパス

ここでは、Linuxのディレクトリパスとは何かを説明します。「ディレクトリ」とは、上で説明したように、Linuxにおけるフォルダのことでした。「パス」とは、ルートディレクトリからカレントディレクトリまでの道筋のことです。なので、「ディレクトリパス」とは、あるフォルダまでの道筋(或いはフォルダ階層)を表します。

例えば、「/tmp/tommy」というパスがあったとします。これは、ルートディレクトリの下の「tmp」というディレクトリの中にある「tommy」というディレクトリまでの道筋を表しています。

※一番初めの「/」はルートディレクトリを表します。つまり、「tommy」というディレクトリは、「ルートディレクトリからtmpというディレクトリの中にある」と場所があわかります。

2.Linuxの絶対パスと相対パス

Linuxには「絶対パス」と「相対パス」という考え方があります。絶対パスは、あるディレクトリのパスを示すときに、必ずルートディレクトリからの道筋を示すパスのことです。一方、相対パスとは、カレントディレクトリから目的のディレクトリまでの相対的な道筋のことを言います。

なので、先程例に示した「/tmp/tommy」は、ルートディレクトリ「/」からディレクトリ「tommy」までの絶対パスを示したことになります。

下では、実際にディレクトリの移動を試してみましょう。

例えば、現在、「/tmp/tommy/dirA」という絶対パスで示されるディレクトリ「dirA」で作業しているとします。ディレクトリ「dirA」とは別に、「/tmp/tommy/dirB」という絶対パスで示されるディレクトリ「dirB」があって、「dirA」から「dirB」移動したい場合は、下記のようにコマンドして「dirA」から「dirB」に移動することもできます。

cd /tmp/tommy/dirB

しかしながら、下記のように「..」(ドット)のコマンドを使ってディレクトリを移動することもできます。

cd ../dirB

前者の方が「絶対パス」による移動で、後者の方が「相対パス」による移動になります。

3.Linuxのディレクトリを意味する記号

「相対パス」による移動の例で挙げたように「..」(ドット)はディレクトリ移動に対して特殊な意味を持ちます。このように、Linuxにはディレクトリを意味する記号がいくつかありますので、下記の記号とその意味を表にまとめます。

記号内容
/ルートディレクトリを表す
.カレントディレクトリを表す
. .1つ親のディレクトリを表す
~ホームディレクトリを表す

※ホームディレクトリとは、Linuxにログインしているユーザーのディレクトリのことです。