Joh*_*ohn 33 command-line bash hidden-files mv
在终端窗口中,我输入:
mv filename ..\.. [Note the wrong slash.]
Run Code Online (Sandbox Code Playgroud)
现在我找不到了。走了。我进行了一些搜索并查看了可恢复的已删除文件。没有。噗。适合我之前使用 Windows 机器。
有谁知道它可能去了哪里?
hee*_*ayl 71
它无处可去,它在当前目录中。它已重命名为....(四个点)。
由于任何.前面有 的文件名都被视为隐藏文件,因此它已成为隐藏文件。所以,如果你这样做ls,你就不会找到它。像往常一样,您需要使用-a(或-A)选项ls来查看隐藏文件,即ls -a(或ls -A)来查看它。
让我把它分解一下,你跑了mv filename ..\..,前两个点如果是../,则表示父目录,但你使用了反斜杠..\,表示 shell 转义下一个字符,但点.对 shell 没有特殊意义。因此,它将把它当作一个文字.,最后一个.也被添加,所以你有四个点....作为文件名。
要恢复到以前的(原始)名称,请运行mv .... filename.
Eli*_*gan 13
运行mv .... filename以将其重命名。(mv ..\.. filename也可以,但这\是多余的——就像你原来的命令一样。)
.和..条目存在于每个目录,并分别指的是“当前”和“父”目录。但与 Windows 不同的是,超过两个点的序列没有任何特殊含义。尽管这是不寻常的,但您可以完全自由地使用完全由点组成的名称命名普通文件,只要它至少有三个点长。\用作转义字符,确保外壳程序按字面意思处理以下字符,而不是赋予其特殊含义。该.字符在 shell 中没有特殊含义(特别是,shell 不负责使.和..条目工作)。因此,在您的命令中,\.相当于.... 由于....以 开头.,在ls没有-Aor-a标志的情况下运行不会显示它。| 归档时间: |
|
| 查看次数: |
13865 次 |
| 最近记录: |