我正在使用Ubuntu 16.04.3 LTS和ext4文件系统。为什么文件系统无法识别名为../blah.sh的文件
当我作出这样一个文件:
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文件系统。如果你真的喜欢奥秘,如果你当前的目录是'/'(根文件系统)并且你尝试了这些操作,你会看到'blah.sh',因为根目录的父目录是根目录。 OTOH,你不应该在根目录中搞乱,特别是不能写权限(如超级用户)。你犯了一个错误的危险太大,特别是如果你问这个问题。 –