私は過去1時間に何か関連する属性の名前を指定する方法を考えました。「解決された物理真パス」。
/foo/bar/
たとえば、一般的な物理パスを考えてみましょう。指しているシンボリックリンクのみを作成する場合は、/quux
「シンボリックリンクパス」を介して/foo
アクセスされるすべてを参照するのが適切ですか?/quux/foo/bar/
未解決のパス名を参照するより正確な方法があるかどうかわからないので、これは主に命名法に関する質問です。私は「作業パス」を使用したいのですが、この用語はあまりにもプロセス固有のものです。
コンテキストが必要な場合は、ファイルシステムAPIに使用されます。ここで、ルーチンは、パスが完全に物理的でないリソースに対して追加のシステムコールを実行する必要があるかどうかを決定します。
答え1
あなたが本当に賢くなりたい場合は、拒否することができます本物「物理パス」のようなものです。 Unixは
絶対パス名:
<slash>
単一または2つ以上の文字で始まるパス名。相対パス名:文字で始まらないパス名
<slash>
。
パス名にシンボリックリンクが含まれている場合は、まだ「パス名」です。 POSIX規格には他の用語はありません。
ただし、pwd
ユーティリティには2つのロゴがあり、-P
次の-L
文字を表す略語はありません。
-L
環境変数に現在のディレクトリの絶対パス名が含まれており、
PWD
そのパス名にドットまたはドットポイントコンポーネントが含まれていない場合、環境変数が指定されていない終了nullを含むバイトよりも長くない限り、このパスpwd
名は標準出力に書き込まれます。 pwd このパス名を標準出力に書き込むか、このオプションが指定されたかのように動作するかどうか。それ以外の場合は、このオプションと同じように機能する必要があります。PWD
{PATH_MAX}
-P
-L
-P
-P
標準出力に書き込まれるパス名には、シンボリックリンクタイプファイルを参照するコンポーネントを含めないでください。ユーティリティが
pwd
標準出力に複数のパス名を書き込むことができる場合(1つは<slash>
単一文字で始まり、1つ以上は2文字で始まる)、単一文字で始まるパス名を<slash>
書き込みます。<slash>
パス名には、<slash>
前の1〜2文字の後に不要な文字を含めないでください<slash>
。
もちろんその意味も類推できる。ロジックそして物理これら2つのフラグとユーティリティのGNU coreutilsバージョンは、これら2つの単語を長いオプションとして扱います。
したがって、答えは「論理パス」です。
答え2
そのうちのいくつかは明示的ではなく、口語に近いものです。しかし、次のようになります。
元のファイルまたはリンクが移動されたかどうかに関係なく、リンクが常にファイルを指す場合Alias
(エイリアスを使用してファイルとディレクトリを読み取ることはできますが、元のファイルとディレクトリに書き込むことはできません)
Soft Link
リンクを移動できますがファイルを移動できず、リンクを介してリンクされたファイル/ディレクトリからデータを読み取ることができますが、書き込めない場合は、またはを使用する必要がありますSymlink
。Shortcut
リンクと宛先の両方が移動可能で、リンクを介してファイル/ディレクトリからデータを読み書きできる場合に使用する必要がありますHard Link
。
たとえば、リンクにアクセスすると、Symlink/Soft Link
システムは 。/foo/bar/
Anは読んだときにアクセスしますが、Alias
書くときはアクセスせず、書いて読んだときはアクセスします。/quux/foo/bar/
/foo/bar/
Hard Link
/quux/foo/bar/