如何找到某個用戶佔用的總磁盤空間,比如位於/home/Mary
? Perl有什麼功能可以知道這一點?如何查找某個用戶佔用的磁盤空間總量?
回答
Perl對此有Filesys::DiskUsage
。只有一個缺點,它在計數時不佔用目錄的大小。只有文件的大小。
use Filesys::DiskUsage qw/du/;
$size = du ({ 'sector-size' => 1024 } , { 'human-readable' => 1 } , qw%/home/Mary%);
print "Total size: $size\n";
如果Perl是不是必須的,你可以使用shell命令
find /home -user "Mary" -type f -printf "%s\n" | awk '{sum+=$1}END{print sum" bytes"}'
@ user131527:在這種情況下,爲什麼不直接調用'du'呢? – Wolph 2010-10-03 02:41:43
@WoLpH,問題在於,在/ home/Mary中,可能存在不屬於Mary的文件(不要問我爲什麼)......使用du不那麼「準確」。並使用用戶名查找更靈活 – ghostdog74 2010-10-03 02:56:59
@ user131527:同意,它稍微不敏感。但由於用戶通常不允許更改所有者,並且創建文件會自動將用戶設置爲所有者,所以風險可以忽略不計;) – Wolph 2010-10-03 03:18:23
- 1. OpenFeint磁盤空間佔用空間
- 2. 如何測量Postgres索引佔用的磁盤空間?
- 3. 如何查看佔用Azure服務計劃的磁盤空間?
- 4. 如何查找最高磁盤空間使用量安裝?
- 5. 如何查找每個用戶的磁盤空間使用情況?
- 6. 如何檢查可用磁盤空間?
- 7. 爲什麼QT的iOS組件佔用大量磁盤空間?
- 8. git lfs「對象」佔用大量磁盤空間
- 9. 如何查找使用Java留下了多少磁盤空間?
- 10. 如何在Windows機器上使用perl查找磁盤空間?
- 11. 如何在Java中使用Linux獲得總磁盤空間?
- 12. 如何獲取Posix系統中的可用磁盤空間總量?
- 13. iPhone:可用磁盤空間
- 14. 清理Docker映像佔用的磁盤空間
- 15. SQL Server 2005:刪除列佔用的磁盤空間
- 16. Jenkins與Docker鏡像的管道佔用磁盤空間(Ubuntu)
- 17. 查找磁盤中某個目錄的使用情況%
- 18. ElasticSearch查找磁盤空間使用情況
- 19. CygWin tmp文件夾佔用太多磁盤空間
- 20. 如何從用戶空間找到文件佔用的塊數
- 21. 查找允許用戶郵箱和剩餘空間的總空間量
- 22. 磁盤空間? (使用/免費/總計)我如何得到這個?在C++中
- 23. 如何使用boost或poco獲取(使用/可用/總計)磁盤空間?
- 24. WIX MSI:如何檢查可用磁盤空間
- 25. 如何檢查linux系統是否使用大磁盤空間?
- 26. 計算一個字符串將佔用磁盤空間而不將其保存到磁盤
- 27. 廣告磁盤空間vs實際磁盤空間
- 28. 表使用的Oracle磁盤空間
- 29. Elasticsearch沒有可用的磁盤空間
- 30. 使用R的磁盤空間預測
引用的路徑與'/'它與'路徑分隔符使用'qw' /'作爲分隔符是有點不幸。 – rafl 2010-10-03 02:32:42
@rafl:哎呀...我的壞。我的Perl有點生疏;) – Wolph 2010-10-03 02:40:58
還有一些缺點包括它不能正確處理稀疏文件,也不能自動確定文件系統的塊大小。你係統的'du'命令可能更準確。 – cjm 2010-10-03 03:00:54