Rain WikiWindows · Linux · Android

Tìm các tệp tin lớn và cũ bằng find

Công cụ dòng lệnhTất cả bản phân phối Linux

find là lệnh Linux tiêu chuẩn dùng để tìm kiếm cây thư mục cho các tệp tin khớp với các điều kiện như kích thước, thời gian, tên hoặc loại. find / -xdev -type f -size +1G liệt kê các tệp tin lớn hơn 1 GB trên hệ thống tệp gốc, đây thường là cách nhanh nhất để xem nguyên nhân khiến ổ đĩa bị đầy đột ngột.

1Các kiểm tra hữu ích

-size +500M (lớn hơn 500 MiB), -mtime +30 (được sửa đổi cách đây hơn 30 ngày), -name '*.log', -type f (chỉ tệp tin), -xdev (không đi vào các hệ thống tệp khác).

2Hiển thị kích thước

Thêm '-exec ls -lh {} +' để xem kích thước, hoặc sử dụng -printf của GNU find, ví dụ -printf '%s %p\n', và sắp xếp đầu ra.

3Xóa an toàn

-delete sẽ xóa mọi kết quả khớp ngay lập tức. Hãy chạy cùng lệnh đó mà không có -delete trước, đọc danh sách, sau đó mới thêm -delete làm tùy chọn cuối cùng.

Cách tìm các tệp tin trên 1 GB

  1. Chạy: sudo find / -xdev -type f -size +1G -exec ls -lh {} +
  2. Xác định chương trình sở hữu của từng tệp tin trước khi xóa.
  3. Đối với các tệp nhật ký cũ, hãy xem trước: sudo find /var/log -type f -name '*.gz' -mtime +30
  4. Chỉ sau đó mới xóa: sudo find /var/log -type f -name '*.gz' -mtime +30 -delete

Lưu ý

  • Đặt -delete trước các kiểm tra sẽ xóa mọi thứ trong đường dẫn đó.
  • Các tệp cơ sở dữ liệu, đĩa ảo và tệp swap có kích thước lớn là có mục đích: đừng xóa chúng.

Nguồn

  1. find(1) man7.org
  2. du(1) man7.org

Xem xét lần cuối: