【问题标题】:Linux: get list of files and dirs along with mime infoLinux:获取文件和目录列表以及 mime 信息
【发布时间】:2014-05-12 07:39:58
【问题描述】:

当提供 dir 作为参数时,我可以使用什么命令来查找以下信息?

  1. (人类可读格式)的文件大小
  2. 文件的日期时间戳(人类可读格式)
  3. 没有路径的文件名
  4. 文件的 Mime(文本文件、图像文件等)
  5. 在查找中可能使用 maxdepth 选项

这个我累了

find /home/dojo50  -name "*" -exec file {} \;

但它缺少文件大小和日期时间信息。 是否可以在find 中将Filels 结合起来。

类似但不起作用的东西

find /home -name "*" -maxdepth 1  -exec ls -lh {} \; -exec file {} \;

【问题讨论】:

  • 这感觉像是功课,但您可以man find 并查看-printf 1、2、3 选项。您的示例应该已经适用于 4。不确定 5 是什么意思。
  • -name "*" 位的预期用途是什么?好像有点没意思……

标签: linux file search find ls


【解决方案1】:

对于mime-type-exec 选项中使用file 命令,对于其他项目使用-printf 选项。喜欢:

find * -printf "%kK %AD %AT %p " -exec file -b {} \;

请参阅man find 了解更多信息。

【讨论】:

  • 这里的* 是一个错误。它将由 shell 处理,这不是一个大问题,因为find 可以获取一个列表,但它将取决于 shell 选项,它是否会真正获取工作目录中的所有文件/目录。
  • @BrowSlow 所说的。它可能例如如果目录中有大量文件需要先扩展,则跳过点文件并不必要地减慢查询速度。
猜你喜欢
  • 1970-01-01
  • 2010-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-04
  • 1970-01-01
  • 2015-02-04
相关资源
最近更新 更多