位于文件路径中的 ../../ 是什么意思?
What does ../../ located within a file path means?
我看到一些 shell 脚本 cd
进入某个以别名开头并在其间有 /../../ 的文件路径,例如:
$exampleroot/../../folder/subfolder/filename.zip
我知道 /../ 表示根路径,但是这个 /../../ 指的是什么?这是否意味着无论文件夹名称如何,都捕获其间的所有 misc 子文件夹?
谢谢
..
表示父目录,即包含 $exampleroot
的目录。 ../../
因此向上两级:
$ pwd
/tmp
$ mkdir -pv foo/bar
mkdir: created directory 'foo/bar'
$ cd foo/bar/
$ pwd
/tmp/foo/bar
$ cd ../..
$ pwd
/tmp
举个例子可能会有帮助。假设 $exampleroot
是 /one/two/three/four
(这是一个目录)。那么:
$exampleroot/..
等同于 /one/two/three
$exampleroot/../..
是 /one/two
$exampleroot/../../folder
是 /one/two/folder
$exampleroot/../../folder/subfolder/filename.zip
是 /one/two/folder/subfolder/filename.zip
(注意:如果 /one/two/three/four
不是目录,那么 /one/two/three/four/..
不是有效路径。如果在路径,因为在目录层次结构中上升一级与 un-following 符号 link 不同。)
我看到一些 shell 脚本 cd
进入某个以别名开头并在其间有 /../../ 的文件路径,例如:
$exampleroot/../../folder/subfolder/filename.zip
我知道 /../ 表示根路径,但是这个 /../../ 指的是什么?这是否意味着无论文件夹名称如何,都捕获其间的所有 misc 子文件夹?
谢谢
..
表示父目录,即包含 $exampleroot
的目录。 ../../
因此向上两级:
$ pwd
/tmp
$ mkdir -pv foo/bar
mkdir: created directory 'foo/bar'
$ cd foo/bar/
$ pwd
/tmp/foo/bar
$ cd ../..
$ pwd
/tmp
举个例子可能会有帮助。假设 $exampleroot
是 /one/two/three/four
(这是一个目录)。那么:
$exampleroot/..
等同于/one/two/three
$exampleroot/../..
是/one/two
$exampleroot/../../folder
是/one/two/folder
$exampleroot/../../folder/subfolder/filename.zip
是/one/two/folder/subfolder/filename.zip
(注意:如果 /one/two/three/four
不是目录,那么 /one/two/three/four/..
不是有效路径。如果在路径,因为在目录层次结构中上升一级与 un-following 符号 link 不同。)