如何找到某個用戶佔用的總磁盤空間,比如位於/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. AllegroGraph佔用磁盤空間
- 2. OpenFeint磁盤空間佔用空間
- 3. 如何測量Postgres索引佔用的磁盤空間?
- 4. 如何查看佔用Azure服務計劃的磁盤空間?
- 5. 如何查找最高磁盤空間使用量安裝?
- 6. 如何查找廚師的總磁盤空間?
- 7. Postgresql查找數據庫使用的總磁盤空間
- 8. 索引是否佔用磁盤空間?
- 9. Cassandra 2.0佔用磁盤空間
- 10. 如何查找每個用戶的磁盤空間使用情況?
- 11. 如何檢查可用磁盤空間?
- 12. 爲什麼QT的iOS組件佔用大量磁盤空間?
- 13. 獲取使用的總磁盤空間和剩餘的磁盤空間?
- 14. 如何檢查iPhone上使用的緩存磁盤空間量
- 15. git lfs「對象」佔用大量磁盤空間
- 16. 如何查找使用Java留下了多少磁盤空間?
- 17. 如何在Windows機器上使用perl查找磁盤空間?
- 18. 如何監視可用磁盤空間
- 19. Powershell磁盤空間檢查
- 20. 如何在Java中使用Linux獲得總磁盤空間?
- 21. 如何獲取Posix系統中的可用磁盤空間總量?
- 22. 慢MySQL查詢佔滿了我的磁盤空間
- 23. SQL Server 2005:刪除列佔用的磁盤空間
- 24. Websphere MQ - 隊列中所有消息佔用的磁盤空間?
- 25. 清理Docker映像佔用的磁盤空間
- 26. 查找磁盤中某個目錄的使用情況%
- 27. 如何確保批量使用足夠的磁盤空間?
- 28. 如何獲取PhoneGap中的可用磁盤空間量?
- 29. SQL Server:查找數據庫磁盤空間使用情況
- 30. ElasticSearch查找磁盤空間使用情況
引用的路徑與'/'它與'路徑分隔符使用'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