Mở Terminal, cd vào thư mục bạn muốn phân tích và sử dụng lệnh này:
find . -type f -print0 | xargs -0 ls -l | sort -k5,5rn
Nó sẽ in một danh sách tất cả các tệp trong hệ thống phân cấp, được sắp xếp theo kích thước. Ít nhất là trên máy của tôi, không phải là máy Mac, mà là một số Unix khác. Nhưng về nguyên tắc thì nó phải gần giống nhau.
Cảm ơn Richard Hoskins cho lỗi với khoảng trắng trong tên. Đó thực sự là một tính năng trong xargs. Xem trang web này , nơi nó được giải thích khá độc đáo. Phiên bản trên nên hoạt động ngay bây giờ.
Biên tập
Dưới đây là một lời giải thích cách hoạt động của lệnh:
tìm thấy . ==> tìm các mục từ thư mục làm việc hiện tại "."
-type f ==> tìm kiếm các tệp thông thường
-print0 ==> in tên tệp đầy đủ thành tiêu chuẩn, kết thúc bằng ký tự null, thay vì dòng mới (đây là để xử lý tên tệp với dòng mới và khoảng trắng bằng xargs)
xargs ==> thực thi lệnh xargs (thực thi một lệnh cho mọi dòng trong tiêu chuẩn trong)
-0 ==> dấu phân cách dòng là ký tự null
ls -l ==> lệnh để xargs thực thi. Bằng cách này, chúng tôi nhận được các chi tiết đặc biệt là kích thước của các tập tin.
sort ==> sắp xếp các dòng trong tiêu chuẩn trong
-k5,5rn ==> sắp xếp định nghĩa trường, bắt đầu ở trường 5 (mặc định dấu phân cách là trống) và kết thúc tại trường 5. Đó là trường kích thước trong màn hình ls -l. r là viết tắt của thứ tự sắp xếp ngược, sao cho các tệp lớn nhất nằm trên cùng và n là viết tắt của thứ tự sắp xếp số.