我有一个包含大量图像的目录。使用 GUI 进入该目录并按 CTRL+A(选择所有文件),结果显示有 5058 幅图像。执行 `ls . | wc -l files 后,结果显示有 5060 个文件。
我怀疑“丢失的文件”是图像,否则我在其上使用的程序会返回一条错误消息(并且它也计算了 5060 个文件)。
答案1
可以使用 GUI 或 cli 显示隐藏文件。
使用 GUI 方式,在 Nautilus(文件管理器)中按ctrl+h查看所有文件,包括隐藏文件(以句点开头的文件名)。
隐藏文件可以是元数据文件,也可以是图像目录文件,甚至是应用程序首选项......它们之所以被隐藏,是因为它们对您拥有的图像文件的一般列表没有任何贡献。
ls
命令行方式下,就是命令和命令的区别ls -a
,后者还会显示隐藏文件。
答案2
如果您的ls
命令别名为ls -a
或ls -A
,则其输出将包含两个额外的项 、.
和..
,它们引用目录本身.
及其父目录(..
),以及以 开头的其他文件.
,因此与 5058 和 5060 文件有所不同。它们不会显示在 GUI 文件管理器中,因为它就是这样构建的,但是大多数 Unix 应用程序都是为识别这两个文件的存在而构建的。
此外,请不要使用它ls | wc -l
来计数文件。解析输出ls
有很多问题,通常最好避免这种做法。如果您需要通过命令行计算目录中的文件数量,请参阅为什么“ls -l”计算的文件数比我还多?寻找正确的方法。
在这种特定情况下,我建议您使用find -maxdepth 1
.find
打印所有文件和目录,并且不会隐藏以以下开头的文件或目录.