Tìm các thư mục và tệp không gian đĩa được sử dụng nhiều nhất trong Linux

Dưới vai trò một quản trị viên Linux, bạn phải định kỳ kiểm tra các tệp tin và thư mục nào đang chiếm nhiều không gian đĩa hơn. Điều này rất cần thiết để tìm các tệp tin rác không cần thiết và giải phóng chúng khỏi ổ cứng của bạn. Hướng dẫn ngắn gọn này mô tả cách tìm các thư mục và tệp lớn nhất trong hệ thống tệp tin Linux bằng cách sử dụng các lệnh du (disk usage) và find.

Cách tìm các thư mục và tệp lớn nhất trong Linux

Chạy lệnh sau để tìm ra các thư mục lớn nhất trong phân vùng /home:

# du -a /home | sort -n -r | head -n 5
Find Largest Directories in Linux
Tìm các thư mục lớn nhất trong Linux

Lệnh trên hiển thị 5 thư mục lớn nhất trong phân vùng /home của tôi.

Tìm thư mục lớn nhất trong Linux

Nếu bạn muốn hiển thị các thư mục lớn nhất trong thư mục làm việc hiện tại, chạy lệnh sau:

# du -a | sort -n -r | head -n 5
Find Biggest Directories Only
Tìm các thư mục lớn nhất duy nhất

Hãy cùng phân tích lệnh trên và xem mỗi tham số nó nói gì.

  • Lệnh du : Ước tính sử dụng không gian đĩa của các tệp tin.
  • a : Hiển thị tất cả các tệp tin và thư mục.
  • Lệnh sort : Sắp xếp các dòng trong tệp tin văn bản.
  • -n : So sánh theo giá trị số dạng chuỗi.
  • -r : Đảo kết quả so sánh.
  • Lệnh head : Hiển thị phần đầu tiên của các tệp tin.
  • -n : In ra n dòng đầu tiên. (Trong trường hợp này, chúng tôi hiển thị 5 dòng đầu tiên).

Một số bạn có thể muốn hiển thị kết quả trên dưới dạng dễ đọc cho con người. Ví dụ, bạn có thể muốn hiển thị các tệp tin lớn nhất ở đơn vị KB, MB hoặc GB.

# du -hs * | sort -rh | head -5
Find Top Directories Sizes in Linux
Tìm kích thước các thư mục hàng đầu trong Linux

Lệnh trên sẽ hiển thị các thư mục hàng đầu, gây lãng phí không gian đĩa nhiều hơn. Nếu bạn cảm thấy một số thư mục không quan trọng, bạn có thể đơn giản xóa một số thư mục con hoặc xóa toàn bộ thư mục để giải phóng không gian.

Để hiển thị các thư mục/tệp tin lớn nhất bao gồm các thư mục con, chạy lệnh sau:

# du -Sh | sort -rh | head -5
Find Largest Folder and Sub directories
Tìm thư mục lớn nhất và các thư mục con

Tìm hiểu ý nghĩa của mỗi tùy chọn được sử dụng trong lệnh trên:

  • Lệnh du : Ước tính sử dụng không gian đĩa của các tệp tin.
  • -h : Hiển thị kích thước dưới dạng dễ hiểu cho con người (ví dụ: 10MB).
  • -S : Không tính kích thước các thư mục con.
  • -s : Chỉ hiển thị tổng kích thước cho mỗi tham số.
  • Lệnh sort : Sắp xếp các dòng trong tệp tin văn bản.
  • -r : Đảo kết quả so sánh.
  • -h : So sánh các số dễ hiểu cho con người (ví dụ: 2K, 1G).
  • Lệnh head : Hiển thị phần đầu tiên của các tệp tin.

Chỉ tìm hiểu kích thước tệp hàng đầu

Nếu bạn muốn chỉ hiển thị các kích thước tệp tin lớn nhất, hãy chạy lệnh sau:

# find -type f -exec du -Sh {} + | sort -rh | head -n 5
Find Top File Sizes in Linux
Tìm các kích thước tệp tin hàng đầu trong Linux

Để tìm các tệp tin lớn nhất trong một vị trí cụ thể, chỉ cần bao gồm đường dẫn cạnh lệnh find:

# find /home/tecmint/Downloads/ -type f -exec du -Sh {} + | sort -rh | head -n 5
OR
# find /home/tecmint/Downloads/ -type f -printf "%s %p\n" | sort -rn | head -n 5
Find Top File Size in Specific Location
Tìm kích thước tệp tin hàng đầu trong một vị trí cụ thể

Lệnh trên sẽ hiển thị tệp tin lớn nhất từ thư mục /home/tecmint/Downloads.

Đó là tất cả trong bài viết này. Tìm các thư mục và tệp lớn nhất không phải là vấn đề lớn. Ngay cả một quản trị viên mới cũng có thể tìm chúng dễ dàng. Nếu bạn thấy hướng dẫn này hữu ích, hãy chia sẻ nó trên mạng xã hội và ủng hộ TecMint.