Linuxの相対パスとは?現在位置からファイルを指定する方法を初心者向けに徹底解説【bash・zsh対応】
生徒
「Linuxでファイルを操作するときに、パスってよく出てきますが、相対パスって何ですか?」
先生
「相対パスは、今いる場所を基準にしてファイルやフォルダの場所を指定する方法ですよ。」
生徒
「今いる場所ってどういうことですか?絶対パスとは違うんですか?」
先生
「違います。絶対パスは一番上からの住所、相対パスは現在地からの道順です。実際のコマンドで見ていきましょう。」
Linuxを初めて学ぶ人や、 OS・プロセス・メモリ管理・仮想マシン・コンテナの仕組みを図解で理解したい人におすすめの定番書籍です。
試して理解 Linuxのしくみを見る※ Amazonアソシエイト広告リンク
1. Linuxの相対パスとは?意味と読み方
相対パスとは、現在の作業ディレクトリを基準にしてファイルやディレクトリの場所を指定する方法です。相対パスは英語でRelative Path(レラティブパス)と読みます。
Linuxではファイルの場所を指定する方法として、絶対パスと相対パスの二つがあります。その中でも相対パスは、日常的なLinuxコマンド操作やシェルスクリプトで頻繁に使われる重要な概念です。
例えば、自分のホームディレクトリの中にあるDocumentsフォルダにいる場合、その中のファイルを指定する際に、わざわざ一番上のディレクトリから書かなくてもよいのが相対パスの特徴です。
2. 現在位置とは?pwdコマンドで確認する
相対パスを理解するためには、現在位置という考え方がとても重要です。現在位置とは、今ターミナルで操作しているディレクトリのことです。
現在位置はpwdコマンドで確認できます。pwdはPrint Working Directory(プリントワーキングディレクトリ)の略です。
pwd
/home/user/Documents
このように表示された場合、今はDocumentsディレクトリの中にいることになります。この場所を基準にしてパスを書くのが相対パスです。
3. 相対パスでファイルを指定する基本
相対パスの基本はとてもシンプルです。同じディレクトリ内にあるファイルは、そのままファイル名だけで指定できます。
ls
file1.txt file2.txt sample.sh
cat file1.txt
これはサンプルファイルです
このように、同じ場所にあるファイルであれば、ファイル名だけでアクセスできます。これが相対パスの最も基本的な使い方です。
4. ディレクトリをまたぐ相対パスの書き方
別のディレクトリにあるファイルを指定する場合は、フォルダ名をつなげて書きます。
ls
Documents Downloads
ls Documents
report.txt
cat Documents/report.txt
売上レポートです
このように、現在位置から見てどこにあるかを順番に書いていくことで、目的のファイルにアクセスできます。これがLinuxのディレクトリ構造を理解するうえで非常に重要です。
5. . と .. の意味を理解しよう
相対パスでは、特別な記号としてドットが使われます。これは初心者がつまずきやすいポイントです。
ドット一つは現在のディレクトリ、ドット二つは一つ上のディレクトリを意味します。
ls .
file1.txt file2.txt
ls ..
Documents Downloads Pictures
例えば、一つ上のフォルダにあるファイルを指定する場合は、次のように書きます。
cat ../sample.txt
上の階層のファイルです
このように、.と..を使いこなすことで、柔軟にディレクトリを移動できます。
6. cdコマンドと相対パスの関係
ディレクトリ移動でよく使うcdコマンドでも相対パスは活躍します。cdはChange Directory(チェンジディレクトリ)の略です。
cd Documents
pwd
/home/user/Documents
cd ..
pwd
/home/user
このように、相対パスを使えば短く簡単に移動できます。絶対パスよりも入力が少なく、作業効率が上がります。
7. 相対パスと絶対パスの違い
絶対パスは、ルートディレクトリからの完全な住所です。例えば、/home/user/Documentsのように書きます。
一方、相対パスは現在位置からの道順です。同じ場所にいても、現在位置が違えば書き方が変わります。
相対パスは短く書けるメリットがありますが、現在位置を意識する必要があります。Linux初心者は、この違いを理解することでコマンド操作が一気に楽になります。
8. シェルスクリプトでの相対パス活用
bashやzshなどのシェルスクリプトでも相対パスはよく使われます。スクリプト内でファイルを扱う際に、柔軟なパス指定が可能になります。
#!/bin/bash
cat ./data.txt
データファイルの中身
このように、スクリプトと同じ場所にあるファイルを扱う場合は、相対パスを使うことで環境に依存しないプログラムを書くことができます。
Linuxの開発現場でも、相対パスは頻繁に使われる基本スキルです。
LPICレベル1の合格を目指している人や、 Linuxコマンド・シェル・ネットワーク・セキュリティの試験対策を効率よく進めたい人におすすめの定番問題集です。
Linux教科書 LPICレベル1 スピードマスター問題集を見る※ Amazonアソシエイト広告リンク
まとめ
Linuxにおける相対パスは、現在位置を基準にしてファイルやディレクトリを指定するための重要な考え方です。相対パスを理解することで、コマンド操作がより効率的になり、日常的な作業やシェルスクリプト作成においても柔軟に対応できるようになります。特にpwdコマンドで現在の作業ディレクトリを把握することは、相対パスを正しく使いこなすための第一歩です。
同じディレクトリ内のファイルであればファイル名だけで指定できるというシンプルさは、Linux初心者にとって非常に扱いやすい特徴です。また、ディレクトリをまたぐ場合でも、フォルダ名を順番に記述することで目的のファイルへアクセスできるため、Linuxのディレクトリ構造の理解にもつながります。
さらに、ドット一つで現在のディレクトリ、ドット二つで一つ上のディレクトリを示すというルールは、相対パスの中でも特に重要なポイントです。この記法を理解することで、複雑なディレクトリ移動やファイル参照も簡潔に行うことができます。
cdコマンドと相対パスの組み合わせは、日常的なLinux操作において頻繁に使われます。絶対パスと比較すると入力が短く済むため、作業効率の向上にも大きく貢献します。一方で、現在位置を常に意識する必要があるため、pwdコマンドとの併用が重要になります。
また、bashやzshなどのシェルスクリプトにおいても相対パスは非常に重要です。スクリプトと同じディレクトリ内のファイルを扱う場合、相対パスを使うことで環境に依存しないコードを書くことができ、再利用性の高いプログラムを作成できます。これは実務の開発現場においても非常に価値のあるスキルです。
Linuxコマンドの学習において、相対パスの理解は避けて通れない基本知識です。ファイル操作、ディレクトリ移動、スクリプト作成など、あらゆる場面で活用されるため、繰り返し実践して身につけることが重要です。相対パスと絶対パスの違いを明確に理解し、状況に応じて使い分けることで、より高度なLinux操作が可能になります。
pwd
/home/user/project
ls
main.sh data.txt logs
cat ./data.txt
サンプルデータです
cat ../config.txt
設定ファイルの内容です
このような基本操作を繰り返し行うことで、相対パスの感覚は自然と身についていきます。Linux初心者の方は、まずは簡単なディレクトリ構成を作成し、相対パスを使った操作を実際に試してみることをおすすめします。実際に手を動かすことで理解が深まり、応用力も身につきます。
生徒
「相対パスは今いる場所を基準にするっていうのが一番大事なんですね」
先生
「その通りです。現在位置を意識することで、短く効率的にファイル操作ができるようになります」
生徒
「ドットやドットドットも最初は難しそうでしたが、意味が分かると便利ですね」
先生
「はい。現在のディレクトリや一つ上のディレクトリを簡単に表現できるので、移動や参照がとても楽になります」
生徒
「絶対パスと相対パスはどちらを使えばいいんですか」
先生
「状況によって使い分けます。固定された場所を指定したいときは絶対パス、作業中の位置を基準にしたいときは相対パスが適しています」
生徒
「シェルスクリプトでも相対パスが使えるのは便利ですね」
先生
「その通りです。環境に依存しないプログラムを書くためには、相対パスの理解がとても重要です。これからも繰り返し使って慣れていきましょう」