簡體   English   中英

在Linux中,如何(快速)獲取目錄中所有文件的列表-及其文件大小

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

使用cd進入要獲取其文件和目錄大小的目錄,然后鍵入:

du -sh *

這將為您提供文件和目錄的所有大小。 s給出每個參數的總數, h使得輸出易於閱讀。 *表示它將顯示該目錄的所有內容。

鍵入man du以了解有關du命令的更多信息( qCtrl-c退出)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM