显然,您可以将文件重命名为...
。
如果我疯了,我该如何将文件重命名为..
或.
?甚至允许这样的文件名吗?
反斜杠似乎并未禁用dot的特殊含义:
$ mv test \.
mv: `test' and `./test' are the same file
..
并不特殊,只是它已经存在。
在Unix,Dos和MS-Windows上,每个目录都有一个目录.
,该目录可链接回其自身;还有一个目录,..
其链接至其父目录(如果是根目录,则为self)。
如果..
和.
特殊,则仅是因为您无法删除它们(实际上,您可以删除包含它们的目录)。
因此,您不能命名任何(其他)文件.
或..
。
然而,你可以创建文件...
,\
,…
,..
(注意有后的空格..
或其他任何名称你喜欢在你的目录清单,但你很难看到在这里,否则容易); 该唯一保留的字符是/
(警告-先进的细节:和NULL,NULL是一个特殊字符,不能用于任何东西,除了纪念的东西结尾,有时作为分隔符)。.
没有特殊含义:不需要文件名,内核或外壳程序,不需要转义。实际上,如果文件名以a开头,.
那么它是特殊的,该文件通常是隐藏的,但仍然不需要转义。
这个隐藏文件的行为是约在早期实施的ls
作者想躲,其中.
和..
,所以他们写的代码隐藏开始用的任何文件.
。其他用户注意到此错误/功能,并从.
希望隐藏文件的位置开始以a开头创建文件。
在您链接到发问者的问题中,尝试将文件移动到父目录,..
但最终重命名为...
,以点开头的文件默认情况下是隐藏的,这就是为什么它们找不到它的原因。
当使用形式的MV mv a b
.
它实际上是一个空操作,但mv
会将其视为错误。..
该位置,会将文件移至父目录。本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句