Cách tìm file và thư mục (folder) dung lượng lớn nhất trên VPS Linux
Hướng dẫn cách tìm file và thư mục (folder) chiếm dung lượng nhiều nhất trên VPS Linux để giải phóng bớt dung lượng ổ cứng VPS/Server. Nào, cùng tham khảo ngay 2 lệnh kiểm tra dung lượng thư mục Linux hay được sử dụng nhất dưới đây nhé.
1. Lệnh "du" trong Linux
Lệnh "du"là 1 trong những lệnh kiểm tra dung lượng thư mục Linux được sử dụng thường xuyên nhất. Ta sẽ tìm kiếm theo cách tuần tự các thư mục có dung lượng lớn. Đó là chương trình sẽ thống kê top các thư mục đang có dung lượng lớn nhất. Sau đó, chúng ta chỉ cần kiểm tra tuần tự các thư mục đang có dung lượng lớn đó.
Cấu trúc lệnh:
du -hs /path/ | sort -rh | head -n 10
Chú thích:
- /path/: đường dẫn thư mục mà bạn muốn kiểm tra.
- -h: in ra dung lượng thư mục /file theo format thuận tiện cho người đọc (MB, GB).
- -s: chỉ hiển thị tổng dung lượng.
- sort: lệnh dùng để sắp xếp ký tự.
- -r: đảo ngược chiều output của lệnh sort.
- -h: dùng để so sánh, sắp xếp các số theo kiểu dung lượng (2K, 1G,...)
- head -n 10: lấy 10 dòng đầu tiên của output.
Xem ví dụ sau:
# du -hs /var/log/* | sort -rh | head -n 10 767M /var/log/nginx 183M /var/log/sa 46M /var/log/resources-monitor 9.1M /var/log/maillog-20170911 8.2M /var/log/maillog-20170903 8.0M /var/log/maillog-20170827 6.4M /var/log/maillog-20170917 4.8M /var/log/maillog 4.4M /var/log/messages-20170911 3.8M /var/log/messages-20170903 # du -hs /var/log/nginx/* | sort -rh | head -n 10 469M /var/log/nginx/domains 297M /var/log/nginx/vhost_error.log 1.1M /var/log/nginx/error.log 556K /var/log/nginx/access.log
2. Lệnh “find” trong Linux
Lệnh find trong Linux là một trong những lệnh khá mạnh trong việc tìm kiếm thư mục/file theo các thông tin cần được lọc. Cũng như là hỗ trợ lệnh khác xử lý các output đã được tìm thấy (-exec). Với cấu trúc lệnh như dưới đây sẽ thống kê rất chi tiết các file/thư mục nào đang có dung lượng lớn nhất.
Cấu trúc lệnh
find /var/log/ -type f -exec du -Sh {} + | sort -rh | head -n 10
Chú thích:
-
type [ f | d ]: nếu bạn dùng option f, tức là bạn chỉ muốn tìm kiếm file và kiểm tra dung lượng file đã tìm thấy. Nếu bạn dùng option d thì bạn chỉ muốn tìm kiếm thư mục và kiểm tra dung lượng thư mục đó.
-
-exec du -sh: lệnh này sẽ giúp lấy thông tin dung lượng của đối tượng file/thư mục.
Cùng xem tiếp ví dụ tiếp theo:
Liệt kê top 10 file có dung lượng cao nhất trong thư mục /var/log/:
# find /var/log/ -type f -exec du -Sh {} + | sort -rh | head -n 10 300M /var/log/nginx/vhost_error.log 268M /var/log/nginx/domains/cuongquach.com.log 157M /var/log/nginx/domains/tuhocmang.com.log 40M /var/log/nginx/domains/cuongquach.com.bytes 25M /var/log/resources-monitor/ram-monitor.log 22M /var/log/resources-monitor/load-avg-monitor.log 9.1M /var/log/maillog-20170911 8.2M /var/log/maillog-20170903 8.0M /var/log/maillog-20170827 6.4M /var/log/maillog-20170917
Liệt kê top 10 có dung lượng cao nhất trong thư mục /var/log:
# find /var/log/ -type d -exec du -Sh {} + | sort -rh | head -n 10 470M /var/log/nginx/domains 302M /var/log/nginx 184M /var/log/sa 67M /var/log/ 46M /var/log/resources-monitor 1.5M /var/log/anaconda 172K /var/log/audit 32K /var/log/tuned 4.0K /var/log/ppp 4.0K /var/log/pluto/peer
Chúc bạn thành công!