道にある点はどういう意味ですか? [コピー]

道にある点はどういう意味ですか? [コピー]

どのくらい"/a/./b/../../c/"平等ですか/c

Stack Exchangeサイトの1つでこの質問を見ました。明らかに..スタック(?)を爆破することを意味します。なぜですか?

答え1

ルートが次のようになるとしましょう。

/a/b
/c

これをコンポーネントに分けてみましょう。
/-> ルート
/a-> (a) から
.-> このディレクトリパス
/a/./-> まだ/a
/a/./b-> から/a/b
..-> 1 レベル「上へ」移動
/a/./b/..-> /a/b/..-> /a
/a/./b/../..-> /a/..-> /
/a/./b/../../c->/c

答え2

* nix世界では、すべてのディレクトリは親ディレクトリのサブディレクトリです。各ディレクトリには、自分自身を参照する暗黙の「.」と、親ディレクトリを参照する暗黙の「..」があります。したがって、特定のディレクトリにありますディレクトリの変更cd)到着する」。 '("$"で始まるコマンドはコマンドラインから実行できます!)同じディレクトリに保持されます。

$ pwd
/tmp/a/b
$ cd .
$ pwd
/tmp/a/b

しかし、ディレクトリを「..」に変更すると、もう少し上がります。

$ cd ..
$ pwd
/tmp/a

ディレクトリを「..」に変更し、もう一度上に移動します。

$ cd ..
$ pwd
/tmp

このルールの唯一の例外はディレクトリです。ルートディレクトリ、親ディレクトリがありません。

$ cd ..
$ pwd
/
$ cd ..
$ pwd
/

確認するこのチュートリアルでは、Unixディレクトリを紹介します。詳細については。

答え3

/はルートディレクトリです。ディレクトリ構造は次のとおりです。

/ 
___ /c
___ /a
______/b (child dir of a)
___ /other dirs

今のポイントです。同じディレクトリを表し、二重点(..)は親ディレクトリを表します。

したがって、あなたの例では、パスに.を使用すると同じディレクトリに保持され、..を使用すると親ディレクトリに戻ります。したがって、最終的にジャンプしてルートディレクトリ(/)に到達するので、/ cと同じです。

関連情報