ls 命令不显示文件夹,但我无法创建它,因为文件夹已经存在

ls 命令不显示文件夹,但我无法创建它,因为文件夹已经存在

我正在使用 Ubuntu 16.04。

步骤 1)我登录了我的root用户帐户。

第 2 步)我曾经cd导航到不同用户帐户的主目录。

步骤 3)我输入内容ls来检查该目录的内容。

步骤4)内容恢复为空。

步骤5)我输入mkdir .ssh创建目录。

结果)mkdir: cannot create directory '.ssh': File exists

问题:如果目录内存在 .ssh 文件夹,为什么该目录会显示为空?

- 更新 -

我以 root 身份登录,因为这是一个测试服务器。我不断地创建和销毁它。

答案1

ls本身不显示隐藏目录(隐藏目录和文件是以 开头的目录和文件.,例如.ssh

尝试ls -a在目录中使用。

来自 ls 手册页:

-a、--全部

不要忽略以 开头的条目。

正如评论中所述,“隐藏”目录和文件在技术上并不是一个东西,只是许多常用工具中内置了代码,这些代码将.和视为..具有特殊含义,因此.大多数工具通常将其视为“隐藏”。我之所以使用这个术语,是因为人们经常听到这样称呼它。

此外...通常对大多数文件系统具有特殊含义,分别表示当前目录和父目录。

答案2

在步骤 3 中,键入ls -a以列出目录的内容。

名称以 开头的文件或目录.将被 忽略ls

答案3

.ssh 是一个隐藏目录,因为它以.

要列出隐藏的文件和目录,请使用ls -a而不是仅仅使用ls

答案4

要创建目录,您需要删除现有目录

使用 rm -rf .ssh 它将删除目录

或者如果已经存在,您可以使用 cd .ssh

相关内容