[英]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.