ls ..
表示'list upper directorie 的文件和目录。'
当我在符号链接后更改目录时,ls ..
不遵循符号链接。它只显示真正的上层目录。
例如,当目录结构如下时,
r ┬ a - b - sub@
└ sub
(sub@
是sub
目录的符号链接)
ls ..
之后的{p> cd a/b/sub
命令在r
目录中提供文件,因为我在r/sub
。不是b
目录。但cd ..
命令将我带到b
目录。
如何使用ls
命令显示目录b
中的文件?
答案 0 :(得分:2)
目录不知道您用来获取它的符号链接; ..
是指向真实父目录的实际目录条目。但是当你使用shell命令cd ..
时,bash作弊。它知道你用来到那里的路径(它在$PWD
中),所以它只删除了它的最后一个组件并更改为生成的目录。
使用"${PWD%/*}"
代替..
,您可以自己使用相同的技巧,以利用其他命令:
ls "${PWD%/*}"