du /列出系统中的每个文件吗?[关闭]


-3

是否du /列出每个文件?
||
有没有更好的办法?


2
更好的方法是做什么?
丹尼尔·B

列出 每个文件的
。– tjt263

系统上的每个文件?罗。所有已挂载文件系统上的每个文件?也许...虽然这两件事之间可能没有太大的区别,但是在其他系统上,区别可能会非常显着(并且值得一提,以使其他数据不会被忽略/遗忘)。
TOOGAM

请不要在多个StackExchange
techraf

Answers:


2

是否du /列出每个文件?

来自man du

FILE递归总结每个目录的磁盘使用情况。

我确实将其解释为:是,du /列出了下的每个文件/。我可能不知道会有一些陷阱。

如果文件作为参数给出,它将列出文件。因为/是目录,所以du /列出目录;在计算文件各自目录的大小时要考虑文件;在这种情况下,它们没有列出。


find是列出文件的标准工具。列出每个单个文件调用:

sudo find / -type f

where -type f告诉该工具仅列出常规文件。这样,您可以获得没有大小的输出(与du输出相比);如果您只想列出文件,那是一件好事。


通常情况下find很有用,因为您可以为其指定几个条件(以下列表并不详尽):

  • 结果是否应包含常规文件,目录,命名管道等(-type选项);
  • 通过ctimeatimemtime ;
  • 由业主;
  • 通过权限;
  • 按大小。

我想您需要具有文件列表才能执行某些操作。您可以使用find管道中提供的路径,指定其输出(-fprint选项)或对找到的每个文件执行命令(-exec)。还有一些选项(如-print0)旨在避免文件名中一些麻烦的字符出现问题。

请参阅以man find获取更多信息。


这似乎是对第三个问题的好答案。(忽略前两个问题,基本上是相同的,包括标题中的问题。)
TOOGAM

@TOOGAM这是因为在我看来,OP被认为du是解决实际问题(XY问题?)的好方法。对于OP的情况,我可能是错的,但是将来搜索“列出每个文件”的用户应该找到find,而不是du
卡米尔Maciorowski

@TOOGAM我扩大了答案。谢谢您的发言。
卡米尔Maciorowski

只是du在Ubuntu实例上运行,只显示目录。AWS上的16.04。但是同样,它们是使用的软链接,ln -s这可能是一个重要的区别。find返回这些。
AER
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.