仅通过命令行找到隐藏文件?

仅通过命令行找到隐藏文件?

我有一个包含大量图像的目录。使用 GUI 进入该目录并按 CTRL+A(选择所有文件),结果显示有 5058 幅图像。执行 `ls . | wc -l files 后,结果显示有 5060 个文件。

我怀疑“丢失的文件”是图像,否则我在其上使用的程序会返回一条错误消息(并且它也计算了 5060 个文件)。

答案1

可以使用 GUI 或 cli 显示隐藏文件。

使用 GUI 方式,在 Nautilus(文件管理器)中按ctrl+h查看所有文件,包括隐藏文件(以句点开头的文件名)。

隐藏文件可以是元数据文件,也可以是图像目录文件,甚至是应用程序首选项......它们之所以被隐藏,是因为它们对您拥有的图像文件的一般列表没有任何贡献。

ls命令行方式下,就是命令和命令的区别ls -a,后者还会显示隐藏文件。

答案2

如果您的ls命令别名为ls -als -A,则其输出将包含两个额外的项 、...,它们引用目录本身.及其父目录(..),以及以 开头的其他文件.,因此与 5058 和 5060 文件有所不同。它们不会显示在 GUI 文件管理器中,因为它就是这样构建的,但是大多数 Unix 应用程序都是为识别这两个文件的存在而构建的。

此外,请不要使用它ls | wc -l来计数文件。解析输出ls 有很多问题,通常最好避免这种做法。如果您需要通过命令行计算目录中的文件数量,请参阅为什么“ls -l”计算的文件数比我还多?寻找正确的方法。

在这种特定情况下,我建议您使用find -maxdepth 1.find打印所有文件和目录,并且不会隐藏以以下开头的文件或目录.

相关内容