Theo thời gian, ổ đĩa của bạn có thể trở nên lộn xộn với nhiều tệp không cần thiết chiếm nhiều dung lượng ổ đĩa. Thông thường, hệ thống Linux hết dung lượng ổ đĩa do tệp nhật ký hoặc tệp sao lưu lớn.

Hướng dẫn này giải thích cách tìm các tệp và thư mục lớn nhất trong hệ thống Linux bằng cách sử dụng lệnh find và du.

Tìm tệp lớn bằng lệnh find

Lệnh find là một trong những công cụ mạnh mẽ nhất trong kho vũ khí của hệ thống Linux quản trị. Nó cho phép bạn tìm kiếm các tệp và thư mục dựa trên các tiêu chí khác nhau, bao gồm cả kích thước tệp.

Ví dụ: để tìm kiếm các tệp có kích thước lớn hơn 100 MB, trong thư mục làm việc hiện tại , bạn sẽ chạy lệnh sau:

sudo find . -xdev -type f -size +100M

Thay thế .bằng đường dẫn đến thư mục mà bạn muốn tìm kiếm các tệp lớn nhất.

Kết quả đầu ra sẽ hiển thị danh sách các tệp mà không có bất kỳ thông tin bổ sung nào.

/var/lib/libvirt/images/centos-7-desktop_default.img
/var/lib/libvirt/images/bionic64_default.img
/var/lib/libvirt/images/win10.qcow2
/var/lib/libvirt/images/debian-9_default.img
/var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
/var/lib/libvirt/images/centos-7_default.img

Lệnh find cũng có thể được sử dụng kết hợp với các công cụ khác như ls hoặc sort để thực hiện các hoạt động trên các tập tin.

Trong ví dụ dưới đây, chúng ta đang chuyển đầu ra của lệnh find sang ls sẽ in kích thước của mỗi tệp tìm thấy và sau đó chuyển đầu ra đó thành lệnh sort để sắp xếp nó dựa trên cột thứ 5 là kích thước tệp.

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r

Đầu ra sẽ giống như sau:

-rw-------  1 root   root 40967M Jan  5 14:12 /var/lib/libvirt/images/win10.qcow2
-rw-------  1 root   root  3725M Jan  7 22:12 /var/lib/libvirt/images/debian-9_default.img
-rw-------  1 root   root  1524M Dec 30 07:46 /var/lib/libvirt/images/centos-7-desktop_default.img
-rw-------  1 root   root   999M Jan  5 14:43 /var/lib/libvirt/images/ubuntu-18-04-desktop_default.img
-rw-------  1 root   root   562M Dec 31 07:38 /var/lib/libvirt/images/centos-7_default.img
-rw-------  1 root   root   378M Jan  7 22:26 /var/lib/libvirt/images/bionic64_default.img

Nếu đầu ra chứa nhiều dòng thông tin, bạn có thể sử dụng lệnh head để chỉ in 10 dòng đầu tiên:

find . -xdev -type f -size +100M -print | xargs ls -lh | sort -k5,5 -h -r | head

Hãy chia nhỏ lệnh:

  • find . -xdev -type f -size +100M -print– chỉ tìm kiếm các tệp ( -type f ) trong thư mục làm việc hiện tại ( .), lớn hơn 100MB ( -size +100M ), không xuống thư mục trên các hệ thống tệp khác ( -xdev ) và in tên tệp đầy đủ trên đầu ra chuẩn, theo sau là một dòng mới ( -print ) .
  • xargs ls -lh– kết quả đầu ra của lệnh find được dẫn đến xargs thực thi lệnh ls -lh sẽ in kết quả đầu ra ở định dạng liệt kê dài mà con người có thể đọc được.
  • sort -k5,5 -h -r– sắp xếp các dòng dựa trên cột thứ 5 ( -k5,5 ), so sánh các giá trị ở định dạng con người có thể đọc được ( -h ) và đảo ngược kết quả ( -r ).
  • head : chỉ in 10 dòng đầu tiên của đầu ra theo đường ống.

Các find lệnh đi kèm với rất nhiều tùy chọn mạnh mẽ. Ví dụ: bạn có thể tìm kiếm các tệp lớn cũ hơn x ngày, các tệp lớn có phần mở rộng cụ thể hoặc các tệp lớn thuộc về một người dùng cụ thể.

Tìm tệp và thư mục lớn bằng lệnh du

Lệnh du được sử dụng để sử dụng dung lượng tập tin dự toán, và nó đặc biệt hữu ích cho việc tìm kiếm các thư mục và các tập tin có thể tiêu thụ một lượng lớn không gian đĩa.

Lệnh sau sẽ in các tệp và thư mục lớn nhất:

du -ahx . | sort -rh | head -5

Cột đầu tiên bao gồm kích thước của tệp và cột thứ hai là tên tệp:

55G	.
24G	./.vagrant.d/boxes
24G	./.vagrant.d
13G	./Projects
5.2G	./.minikube

Giải thích về lệnh:

  • du -ahx .ước tính mức sử dụng dung lượng ổ đĩa trong thư mục làm việc hiện tại ( . ), đếm cả tệp và thư mục ( a ), kích thước in ở định dạng con người có thể đọc được ( h ) và bỏ qua các thư mục trên các hệ thống tệp khác nhau ( x ).
  • sort -rh: sắp xếp các dòng bằng cách so sánh các giá trị ở định dạng con người có thể đọc được ( -h ) và đảo ngược kết quả ( -r ).
  • head -5 : chỉ in năm dòng đầu tiên của đầu ra theo đường ống.

Các du lệnh có nhiều lựa chọn khác mà có thể được sử dụng để tinh chỉnh đầu ra của việc sử dụng không gian đĩa.

Phần kết luận

Chúng ta đã tìm hiểu cách tìm các tệp và thư mục lớn nhất bằng cách sử dụng lệnh find và du.

Bây giờ bạn đã học cách tìm các tệp lớn nhất trên hệ thống của mình, bạn có thể muốn đọc hướng dẫn của chúng tôi về Cách Loại bỏ Tệp và Thư mục bằng Dòng lệnh Linux .

Nếu bạn có bất kỳ câu hỏi hoặc nhận xét, xin vui lòng để lại bình luận bên dưới.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments