ssh 目录在 `mv ssh .ssh` 之后消失

ssh 目录在 `mv ssh .ssh` 之后消失

我位于用户主目录中,想要将 ssh 文件夹重命名为 .ssh 文件夹。我试过这个。

rachit@DESKTOP-ENS2652:~/ssh$ ls
some-machine  some-machine.pub
rachit@DESKTOP-ENS2652:~/ssh$ cd ..
rachit@DESKTOP-ENS2652:~$ ls
ssh
rachit@DESKTOP-ENS2652:~$ mv -R ssh .ssh
mv: invalid option -- 'R'
Try 'mv --help' for more information.
rachit@DESKTOP-ENS2652:~$ mv ssh .ssh
rachit@DESKTOP-ENS2652:~$ ls
rachit@DESKTOP-ENS2652:~$ ls

执行此操作后,我的 ssh 文件夹完全消失了。没什么大不了的,我可以创建另一个,但我无法弄清楚我做错了什么,以及为什么错了。我正在 WSL(Linux 的 Windows 子系统)上尝试一些东西。基本上是 Windows 10 上的 ubuntu。

答案1

mv ssh .ssh

可以搬进ssh(已经存在的).ssh目录。

做这个

mv .ssh/ssh ./

把它放回去。.ssh如果你做了的话你就会看到

ls -la

如果.ssh尚不存在,则

mv .ssh ssh

当你这样做时,它就会“出现”

ls -l

答案2

默认情况下,以以下内容开头的文件和目录.从视图中。标准命令(如ls和 shell 通配符)将与*它们不匹配。

ls你可以展示点文件-a(或-A隐藏...)。

因此,例如:

$ ls
$ touch foo
$ touch .bar
$ mkdir .baz
$ ls
foo
$ ls -a     
.  ..  .bar  .baz  foo
$ ls -A     
.bar  .baz  foo

所以现在当你做了mv ssh .ssh以下两件事之一时可能发生了:

  1. 如果.ssh以前不存在,那么您就完全按照您的意愿做了。你可以做ls -a并且看到它。
  2. 如果.ssh 做过已经存在,那么您将其重命名为.ssh/ssh.

在这两种情况下你都可以做ls -a .ssh

您可以看到这些文件some-machinesome-machine.pub然后您就可以执行您想要的操作;你属于情况1。

相反,如果您看到ssh(可能在之前存在的任何文件中),则意味着您处于情况 2 中。您可以通过以下方式修复此问题:

mv .ssh/ssh .
mv ssh/* .ssh/.
rmdir ssh

相关内容