[英]in linux, how to (quickly) get a list of all files in a directory - with their filesize
我需要获取Linux中所有文件的列表及其大小。
文件系统是ext4,可以在RAM很少的机器上通过USB运行
我正在使用的功能是这些-有更好的技术吗?
a) opendir()
b) readdir()
c) stat()
我相信stat()调用会给我很大的打击,我没有太多的内存并且HD已连接USB
有没有办法说
“给我目录中的所有文件以及文件大小吗?” -我的猜测是我受到影响,因为stat()需要查询inode的大小,从而导致大量查找?
不,不是。 如果您不想打磁盘,则需要将inode缓存在内存中。 在这种情况下,这就是权衡。
您可以尝试调整inode_readahead_blks
和vfs_cache_pressure
。
使用cd
进入要获取其文件和目录大小的目录,然后键入:
du -sh *
这将为您提供文件和目录的所有大小。 s
给出每个参数的总数, h
使得输出易于阅读。 *
表示它将显示该目录的所有内容。
键入man du
以了解有关du
命令的更多信息( q
或Ctrl-c
退出)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.