ls命令不显示文件夹,但由于文件夹已存在而无法创建


8

我正在使用Ubuntu 16.04。

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

步骤2)我曾经cd导航到另一个用户帐户的主目录。

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

步骤4)内容返回为空。

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

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

问题:如果目录中存在.ssh文件夹,为什么目录中的目录为空?

-更新-

我登录到root用户,因为这是一个测试服务器。我反复创建和销毁它。


使用ll还是la不使用ls
phuclv

1
ll只是一个别名,所以请使用ls -alF
Dennis Nolte

2
你的过程中有一个重要的错误,在第1步
亮度种族在轨道

Answers:


35

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

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

从ls手册页:

-a,-全部

不要忽略以开头的条目。

正如在评论中指出,“隐藏”的目录和文件是不是技术上的事,还有内置了很多常用工具只是代码,治疗...具有特殊的意义,那结果是.通常被认为是大多数工具“隐藏的”。我使用此术语的原因是因为听到这种说法很常见。

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


4
请注意,“隐藏目录”本身并不是什么东西,它们是隐藏的,因为ls具有特殊的代码,当它们以点开头时不显示它们。
PlasmaHH

2
@PlasmaHH好吧,ls还有很多其他工具。但是原则上你是绝对正确的。再说一次,即使在将谱系追溯到MS-DOS及其文件属性的系统上,它也需要特殊的代码来处理“隐藏”文件的情况(这意味着“具有隐藏属性集的文件”而不是“具有隐藏属性的文件”已在此特定表格上命名”)。
CVn

3
@MichaelKjörling:但是在许多这样的系统上却相反。在那里,您通常会要求系统“给我所有东西”,当您要显示隐藏文件时,您说“给我所有东西加上隐藏的东西”或“给我所有隐藏的东西”。因此,与隐藏显示文件相比,正在做更多的工作来隐藏文件。
PlasmaHH

12
有趣的是,隐藏文件的发明是一个错误,ls只应隐藏...,因此他们添加了代码以查看它是否以点开头
Ferrybig

4
我担心“登录为root”部分加上对* nix的明显不熟悉。OP意外毁掉一些重要的东西很容易。
shoover

4

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

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



-2

“。” 为隐藏的文件夹/文件保留。ls默认情况下不会列出隐藏的文件和目录。(“。”和“ ..”是任何目录中的两个默认隐藏目录)。要查看文件夹中的所有文件,请使用ls -als -al(如果要获取有关每个文件/文件夹的更多详细信息,请使用。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.