【发布时间】:2017-09-26 00:57:53
【问题描述】:
我正在使用带有 ext4 文件系统的 Ubuntu 16.04.3 LTS。
当我制作这样的文件时:
touch ../blah.sh
我用的时候不显示:
ls -al
当我尝试删除文件时:
rm * --> : rm: cannot remove '*': No such file or directory.
但是当我删除它时:
rm ../blah.sh ---> it succeeds.
除此之外,我还可以使用 vim 编辑文件,将代码放在那里,然后像这样运行它:
./../blah.sh
这种行为怎么可能?这是 bash 特定的行为还是来自操作系统?是否可以隐藏这样的文件?
【问题讨论】:
-
您需要执行
ls -al ..或ls -l ../blah.sh才能查看父目录中的文件。ls -al只是在当前目录中查找,.。这适用于任何类型的 Unix 文件系统。如果你真的很喜欢 esoterica,如果你的当前目录是/(根文件系统)并且你尝试操作,你会看到blah.sh,因为根目录的父级是根目录。 OTOH,您不应该在根目录中乱搞,尤其是不具有写权限(作为超级用户)。你犯错误的风险太大了,尤其是当你问这个问题的时候。
标签: linux bash filesystems ls ext4