find . -size +10k -exec ls -lh {} \+
phần đầu tiên của việc này là giống hệt nhau để @sputnicks trả lời, và sucesffully tìm tất cả các tệp trong thư mục trên 10k (không nhầm lẫn k với K), phần bổ sung của tôi, phần thứ hai sau đó thực thi ls -lh
hoặc ls that li sts (-l) các tập tin theo kích thước có thể đọc được của con người (-h). phủ nhận h nếu bạn thích. dĩ nhiên là {}
là file chính nó, và \+
chỉ đơn giản là một thay thế cho \;
mà trong thực tế \;
sẽ lặp lại hay:
ls -l found.file; ls -l found.file.2; ls -l found.file.3
nơi \+
hiển thị nó như là một tuyên bố hoặc:
ls -l found.file found.file.2 found.file.3
nhiều hơn trên \; vs + với find
Bổ sung, bạn có thể muốn danh sách được sắp xếp theo kích thước. Đó là tương đối dễ thực hiện. Tôi sẽ ở -s
tùy chọn để ls
, vì vậy ls -ls
và sau đó ống nó để sort -n
để sắp xếp số lượng
đó sẽ trở thành:
find . -size +10k -exec ls -ls {} \+ | sort -n
hoặc theo thứ tự ngược thêm một -r:
find . -size +10k -exec ls -ls {} \+ | sort -nr
cuối cùng, tiêu đề của bạn cho biết tìm thấy lớn nhất tệp trong thư mục. Bạn có thể thực hiện điều đó bằng cách sau đó chuyển mã tới tail
find . -size +10k -exec ls -ls {} \+ | sort -n | tail -1
sẽ tìm cho bạn tệp lớn nhất trong thư mục và các thư mục con của nó.
lưu ý rằng bạn cũng có thể sắp xếp tệp theo kích thước bằng cách sử dụng-S và phủ nhận nhu cầu sắp xếp. nhưng để tìm các tập tin lớn nhất bạn sẽ cần phải sử dụng đầu để
find . -size +10k -exec ls -lS {} \+ | head -1
lợi ích của làm việc đó với -S và không sort
là một, bạn không cần phải gõ sort -n
và hai bạn cũng có thể sử dụng -h
tùy chọn kích thước có thể đọc được của con người.đó là một trong những yêu thích của tôi để sử dụng, nhưng không có sẵn với versisions cũ của ls
, ví dụ chúng ta có một máy chủ CentOS 4 cũ tại nơi làm việc mà không có -h
bạn có thể mở rộng câu hỏi này hoặc ít nhất là giải thích tại sao hai giải pháp được đăng - và hoạt động không phù hợp với nhiệm vụ của bạn. (chỉnh sửa: thêm vui lòng) – matchew
'ls' không có bất kỳ tùy chọn nào để lọc đầu ra theo kích cỡ. Nó có một tùy chọn '--size' (không có đối số) để in kích thước của mỗi tệp trong các khối. Nhân tiện, '-size + 10k' có vẻ giống như cú pháp được sử dụng với' find'. – doubleDown
Stack Overflow là trang web cho các câu hỏi lập trình và phát triển. Câu hỏi này dường như không có chủ đề vì nó không phải là về lập trình hay phát triển. Xem [Tôi có thể hỏi những chủ đề gì ở đây] (http://stackoverflow.com/help/on-topic) trong Trung tâm trợ giúp. Có lẽ [Super User] (http://superuser.com/) hoặc [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) sẽ là một nơi tốt hơn để hỏi. Đồng thời xem [Tôi nên đăng câu hỏi về Dev Ops ở đâu?] (Http://meta.stackexchange.com/q/134306) – jww