GNU/Linux >> Linux の 問題 >  >> Linux

絶対/正規/相対パス?

絶対パス/正規パス/相対パスの違いは何ですか?

絶対は/で始まると思います 。 /../を含めることはできますか ?

正規パスは、/../を含めることができないという点で絶対パスとは異なります。 ?

fooです 相対パス?

グーグルposix canonical path あまり現れませんでした…これらの用語のP​​OSIXリファレンスは何ですか?

承認された回答:

POSIXは、「絶対パス名」を次のように定義しています。

1つまたは3つ以上の<スラッシュ>文字で始まるパス名

および「相対パス名」は次のとおりです。

<スラッシュ>文字で始まらないパス名。

相対パスと絶対パスについては、これですべてです。

正規パスはPOSIXで定義されていませんが、この用語は通常、同等のパスを指します。つまり ファイルシステムオブジェクトへの2つのパスを取り、それらを標準形式に変換する場合、2つのファイルシステムオブジェクトが同一である場合に限り、結果は同一である必要があります。これには、おっしゃるように「..」を削除することが含まれますが、シンボリックリンクを解決することも意味します。したがって、正規パスは次のように定義できます

「。」を除く、すべてのコンポーネントが実際のディレクトリまたはファイルであるパス名。および「..」であり、スラッシュが繰り返されていない

POSIX用語では、正規パス名は事実上解決されたパス名です(正規パス名は、存在するファイルシステムオブジェクトに対してのみ決定できることを受け入れる限り)。

これは、ハードリンクされたディレクトリが許可されていないためにのみ機能することに注意してください…

だからあなたの質問に答えるために:

  • 絶対パスには/../を含めることができます;
  • 正規パスに/../を含めることはできません 、/./を含めることもできません 、// (ほぼ間違いなく最初の位置を除く)、またはシンボリックリンク;
  • foo は相対パスです。

(通常、これらはすべてパスの名前です 、パスだけではありません。)


Linux
  1. NginxとApacheのデフォルトパス

  2. tar の絶対パスを除外するにはどうすればよいですか?

  3. 相対シンボリック リンクを移動するにはどうすればよいですか?

  1. $PATH 変数から冗長なパスを削除します

  2. シンボリックリンクの完全な絶対パスを表示する方法

  3. ディレクトリをtarしますが、完全な絶対パスをアーカイブに保存しないでください

  1. Rsync:絶対シンボリックリンクを再配置する方法は?

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

  3. PATH環境変数で相対パスを使用することのセキュリティへの影響は?