Cách sử dụng du để xem các tệp lớn hơn kích thước ngưỡng


9

Tôi có một vài tình huống mà tôi không thấy bất kỳ điều gì trong các trang du man.

1) Tôi muốn xem các tệp trong thư mục con chỉ lớn hơn một kích thước cụ thể. 2) Tôi sử dụng du -sh> duDefput.txt Tôi thấy đầu ra như được mô tả cho tùy chọn -s và -h bao giờ điều tôi quan tâm hơn là nếu đầu ra có định dạng chẳng hạn

 dir0--->dir1-->dir3-->dir4 
       |             | 
       ->dir2        |-file1
                     |-file2

Nếu ở trên là bố cục thư mục và tôi muốn chỉ xem kích thước của các thư mục riêng lẻ trong tất cả các thư mục con thì tôi có thể làm gì (độ sâu của mỗi thư mục con là biến)

Câu trả lời:


5

Tôi thích tiện ích gt5 . Nó sử dụng đầu ra duvà tạo một danh sách các thư mục có thể duyệt và kích thước của chúng và sử dụng trình duyệt chế độ văn bản như các liên kết để hiển thị thông tin.

Cả hai chương trình đều có sẵn trong kho Ubuntu: gt5các liên kết .

ảnh chụp màn hình gt5


Cảm ơn, gt5 trông rất thú vị đó. Tôi sẽ cài đặt nó ngay bây giờ. Tất nhiên cũng có "baobab" cho GUI.
SabreWolfy

22

Để chỉ hiển thị các thư mục có kích thước trên 1GB:

du -h --threshold=1G

Bạn cũng có thể muốn đặt hàng theo kích thước, để dễ dàng tìm thấy những cái lớn nhất.
du -h --threshold=1G | sort -h

(Hoạt động trên: Ubuntu / Mint.
Không hoạt động trên: OSX hoặc RHEL 6.2)


2
Quá tệ --thresholdkhông hoạt động trên OS X.
Franklin Yu

Cũng không hoạt động trên RHEL 6.2
Matthew Moisen

Ngoài ra trên Ubuntu nó nói sort -hnhn không tương thích.
Scott Stafford

1
@ScottStafford Cảm ơn vì điều đó, lỗi đánh máy, đã sửa. Nên đọc chỉsort -h
Mtl Dev

Làm thế nào để hiển thị các tập tin trên 500KB? (thay vì các thư mục)
Alexander Mills

12

Sử dụng lệnh find thay thế. Ví dụ sau sẽ cho bạn thấy tất cả các tệp lớn hơn 10 megabyte:

find -size +10M

Bạn có thể sử dụng du với find như thế này để xem kích thước của mỗi tệp:

find -size +10M -exec du -sh {} \;

0

find /path/to/folder -size +100k

Không rõ nếu bạn muốn xem kích thước của các tệp riêng lẻ lớn hơn một số giá trị hay bạn muốn xem các thư mục lớn hơn một số giá trị.


cả hai điều này. Về cơ bản, tôi phải làm một báo cáo và theo đó tôi phải trình bày nó theo 2 cách mà cả hai bạn đã chỉ ra.
Trái phiếu

Tôi nghĩ gt5 được đề cập ở trên có thể là những gì bạn đang tìm kiếm.
SabreWolfy

0

Tôi thấy câu trả lời của Mtl Dev phù hợp với câu hỏi này. Vì Bond đã mở chuỗi này với thẻ 'linux' và 'ubfox-10.04'.
Một lần nữa, du -h --threshold=1G(tiếp theo là | sort -htùy chọn) hoạt động hoàn hảo trong Ubuntu.

Mặc dù, Bond nói rằng,

Tôi không thấy bất cứ điều gì trong các trang du man.

Có hai dòng trong trang man, vui lòng tham khảo bên dưới.

-t, --thr Ngưỡng = SIZE
loại trừ các mục nhỏ hơn SIZE nếu dương hoặc các mục lớn hơn SIZE nếu âm

Một điều nữa, tôi nghĩ rằng dòng lệnh chính xác mà Bond muốn là một thứ như thế này,

find . -mindepth 2 -type d | xargs du -sh -t 1G

Khi -mindepth 1tuyên bố rằng nó nên chứa đường dẫn hiện tại, -mindepth 2sẽ hoạt động theo yêu cầu của bạn.

Dưới đây là một minh chứng về bộ dữ liệu phổ biến lisa .

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G | sort -h
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations
4.0G    ./negatives/negativePics
6.0G    ./experiments/training

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 1G
4.0G    ./negatives/negativePics
1.2G    ./aiua120306-0/frameAnnotations-DataLog02142012_002_external_camera.avi_annotations
6.0G    ./experiments/training
1.7G    ./aiua120306-1/frameAnnotations-DataLog02142012_003_external_camera.avi_annotations

~/dataset/lisa $ find . -mindepth 2 -type d | xargs du -sh -t 3G
4.0G    ./negatives/negativePics
6.0G    ./experiments/training
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.