カテゴリ: Linuxコマンド集 更新日: 2026/05/02

realpath --stripオプションとは?初心者にもやさしくパスの正規化を解説!

realpath --stripオプション|相対パス記号(. や ..)を取り除いて正規化する
realpath --stripオプション|相対パス記号(. や ..)を取り除いて正規化する

先生と生徒の会話形式で理解しよう

生徒

「Linuxで./../みたいな記号がついたパスって見かけますけど、あれってどういう意味ですか?」

先生

「あれは『相対パス』といって、自分が今いる場所からの位置関係を表す記号なんです。」

生徒

「なるほど…でも、あの記号を取り除いてスッキリしたパスにしたい時ってどうすれば?」

先生

「そのときに便利なのがrealpathコマンドの--stripオプションなんですよ。正規化という操作で、...を取り除いてくれます。」

1. realpathコマンドとは?

1. realpathコマンドとは?
1. realpathコマンドとは?

realpathは、Linuxでファイルやディレクトリの絶対パスを取得するコマンドです。特に、相対パスをわかりやすく変換したいときに重宝されます。

たとえば、カレントディレクトリにある./test.txtの絶対パスを表示したいときはこう使います:


realpath ./test.txt
/home/user/Documents/test.txt

2. 相対パスとは?

2. 相対パスとは?
2. 相対パスとは?

./../相対パスを表します。これは「今いる場所からの相対的な位置」を意味します。

  • ./ は「現在のディレクトリ」
  • ../ は「1つ上の階層」

たとえば、次のようなパスがあるとします:


./../Pictures/../Documents/./file.txt

このままだと、どこにあるのか非常にわかりにくいですよね。

3. --stripオプションとは?

3. --stripオプションとは?
3. --stripオプションとは?

--stripは、realpathコマンドの中でも、「相対パス記号(. や ..)を取り除く」ためのオプションです。

つまり、「パスを正規化してスッキリさせる」という働きをしてくれます。

たとえば、次のような長いパスがあったとします:


realpath --strip ./../Pictures/../Documents/./file.txt
/home/user/Documents/file.txt

このように、...を取り除いて、正しい絶対パスだけを表示してくれます。

4. --stripの効果を図で理解しよう

4. --stripの効果を図で理解しよう
4. --stripの効果を図で理解しよう

以下のようなパスがあるとします:


./../A/./B/../C/file.txt

これを人間がたどるとこうなります:

  • .. → 1階層上へ
  • A → Aディレクトリへ
  • . → そのまま
  • B → Bディレクトリへ
  • .. → Bから1階層上へ(つまりA)
  • C → Cディレクトリへ
  • file.txt → ファイル

最終的に「A/C/file.txt」になります。

--stripを使うと、この変換を自動でやってくれるのです。

5. --stripと-sの違いは?

5. --stripと-sの違いは?
5. --stripと-sの違いは?

realpathには-s--no-symlinks)というオプションもあります。

  • --stripパスの中の記号を取り除く(正規化)
  • -sシンボリックリンクを辿らない

つまり、用途が全く異なりますので注意が必要です。

6. --stripを使った便利な実用例

6. --stripを使った便利な実用例
6. --stripを使った便利な実用例

複雑なスクリプトを組むときや、ユーザーから入力されたパスを正しく処理したいときに、--stripは非常に役立ちます。

たとえば、次のようなシェルスクリプトで使うと便利です:


realpath --strip "$1"

これで、ユーザーが入力したパスがどんなに複雑でも、スッキリしたパスとして使うことができます。

7. 絶対パスだけが必要なときに重宝する

7. 絶対パスだけが必要なときに重宝する
7. 絶対パスだけが必要なときに重宝する

Linuxの世界では、コマンドに渡すパスが明確であることが重要です。特にcronジョブやバックアップ処理などで、曖昧なパスを使うと失敗の原因になります。

--stripで正規化しておけば、コマンド処理の信頼性もぐっと上がります。

8. ファイルが存在しなくても正規化可能

8. ファイルが存在しなくても正規化可能
8. ファイルが存在しなくても正規化可能

通常のrealpathでは、ファイルが存在しないとエラーになりますが、--stripを使えば、存在しないファイルでもパスだけを正規化できます。


realpath --strip ./abc/../xyz/new.txt
/home/user/xyz/new.txt

まだnew.txtがなくても正しいパスが表示されるのは大きな利点です。

関連記事:
カテゴリの一覧へ
新着記事
New1
ファイル・ディレクトリ操作
stat -Lオプションの使い方を解説|シンボリックリンクをたどってファイル情報を確認しよう
New2
ファイル・ディレクトリ操作
realpath -eオプションの使い方を解説!Linuxで存在するファイルのみ絶対パスを取得する方法
New3
テキスト処理とフィルタ
tacコマンドの基本!ファイル内容を逆順に表示する方法
New4
テキスト・データ処理
awk -fオプションの使い方を完全ガイド!初心者でもわかるLinuxテキスト処理の基本
人気記事
No.1
Java&Spring記事人気No1
テキスト・データ処理
catコマンドとは?Linuxでファイル内容を表示・連結する基本
No.2
Java&Spring記事人気No2
ファイル・ディレクトリ操作
pwdコマンドとは?初心者でもわかる現在の作業ディレクトリの確認方法を解説!
No.3
Java&Spring記事人気No3
ファイル・ディレクトリ操作
findコマンドの使い方を完全ガイド!初心者でもわかるLinuxのファイル検索の基本
No.4
Java&Spring記事人気No4
ファイル・ディレクトリ操作
cd ~ の使い方を完全解説!ホームディレクトリへの移動方法と初心者向けLinuxコマンド入門