Tìm kiếm những gì sử dụng tất cả không gian trong * nix


21

Chuỗi lệnh nào sẽ cho tôi biết tập tin nào lớn nhất bắt đầu từ một thư mục cụ thể, bao gồm tất cả các thư mục con? Tôi muốn biết tất cả các không gian đã đi đâu.

Tốt nhất là chỉ với các lệnh unix'y thông thường.

Nếu có thể, hãy cố gắng giữ cho nó tương thích với Sun OS 5.10 (có lẽ ngoài các câu trả lời Linux thông thường, không phải là sự thay thế, để giữ cho nó càng chung chung càng tốt.)


Có hai phiếu cho SU và hai cho SF. Cái nào phù hợp hơn? Điều này có thể thuộc về một trong hai, theo ý kiến ​​của tôi.
mmyer

5
@mmyer: đã đưa nó cho SU ... SU cần câu hỏi thực sự!
Shog9

1
Nhưng SU đã có một câu hỏi rất giống nhau! superuser.com/questions/9847/ trộm
Jonik

Câu trả lời:


11

Cá nhân tôi muốn sử dụng du -sh *để xem mỗi thư mục lớn như thế nào trong thư mục hiện tại.

Ngoài ra, bạn có thể sắp xếp để có các thư mục lớn hơn trước : du -shx * | sort -hr. Dành cho du:

  • -s, --summarize: chỉ hiển thị tổng cộng cho mỗi đối số
  • -h, --human-readable: kích thước in ở định dạng có thể đọc được của con người (ví dụ: 1K 234M 2G)
  • -x, --one-file-system: bỏ qua các thư mục trên các hệ thống tập tin khác nhau

Dành cho sort:

  • -h, --human-numeric-sort: so sánh các số có thể đọc được của con người (ví dụ: 2K 1G)

Điều này thực sự hữu ích với một mod nhỏ : du -s * | sort -nr.
Alex Budovski

5
Bạn có thể giữ kích thước tệp ở định dạng có thể đọc được với con người du -sh * | sort -hr.
Jorge Israel Peña

du -shx * | sort -hrlà tốt nhưng nó chỉ trả về thư mục hiện tại. Làm thế nào tôi có thể làm hệ thống này rộng? Và làm thế nào tôi có thể loại trừ mọi thứ dưới 100mb? Cảm ơn.
tem

Đó là theo lời cầu khẩn của nó ở vỏ. Vì vậy, *điều gì làm cho nó áp dụng cho mọi thứ trong thư mục hiện tại, nhưng bạn có thể dễ dàng thay đổi nó thành ví dụ some/other/path/*, hoặc nếu bạn chỉ muốn chạy nó trên một thư mục chung, sau đó bỏ qua *mô hình toàn cầu. Đối với việc lọc mọi thứ ra, có lẽ hỏi một câu hỏi riêng.
Jorge Israel Peña

Để chạy nó một cách đệ quy trên toàn hệ thống, bạn có thể muốn ghép nối nó với findmột số thư mục gốc và sử dụng -exectham số của nó để gọi du. Bản findthân chương trình có thể có thể lọc dựa trên kích thước tệp với một cái gì đó như size +100M. Xem câu hỏi này . Có lẽ một cái gì đó như find / -size +100M -exec du -sh {} \; | sort -hr, mặc dù điều đó chưa được kiểm tra.
Jorge Israel Peña

13

ncdu

Chỉ là tuyệt vời: CLI, dựa trên, nhanh chóng, đơn giản. Cài đặt nó với sudo apt install ncdu.

nhập mô tả hình ảnh ở đây


5

về cơ bản bạn có thể sử dụng lệnh du. một cái gì đó như thế này

du -a /home | sort -rn |head -1

vui lòng xem trang man hoặc thông tin du để có thêm lựa chọn.

Hoặc, bạn có thể sử dụng GNU find.

find /home/ -type f -printf "%s:%p\n" | sort -t":" -rn| head -1  

Liệu 'find' trên Sun OS 5.10 có thay thế nào tôi có thể sử dụng để -printf không?
Alex Budovski

Ngoài ra, có cách nào tôi có thể nhận lệnh đầu tiên (du ...) để lọc các thư mục không? Tôi chỉ thực sự quan tâm đến các tập tin, như với lệnh thứ hai của bạn.
Alex Budovski

5

Không phải dòng lệnh nhưng vẫn unix'y: kdirstat

Tôi sử dụng nó để tìm ra tất cả không gian đã đi và tôi thích nó hơn nhiều so với Trình phân tích sử dụng đĩa (hay còn gọi là Baobab). Đây là một trong số ít các ứng dụng KDE được chấp nhận trong môi trường Gnome của tôi ;-)

nhập mô tả hình ảnh ở đây

Theo kdirstat.sourceforge.net, nó chạy trên Solaris.

Mặc dù KDirStat là một chương trình KDE, nhưng nó chạy tốt trên mọi máy tính để bàn X11, tức là, nó chạy trên Linux, BSD và rất nhiều hệ thống loại Unix khác (Solaris, HP-UX, AIX, ...).


Trong ubfox: k4dirstat và qdirstat. Người cuối cùng được cập nhật. Tôi không thích việc họ cho phép xóa các thư mục
develCuy

3
du -a | sort -n

sẽ làm công việc Sử dụng baobab (đây là một phần của các tiện ích gnome, do đó có khả năng nó đã được cài đặt trên hệ thống của bạn), bạn sẽ có được một phân tích đồ họa khá đẹp của không gian đã sử dụng.


Bất kỳ lý do để sử dụng -g thay vì -n? "Chỉ sử dụng tùy chọn này nếu không có lựa chọn nào khác, nó chậm hơn nhiều so với --numeric-sort (-n) và nó có thể mất thông tin khi chuyển đổi thành dấu phẩy động." Gnu.org/software/coreutils/manual/html_node/
từ đó

@therefromhere: Tôi đã sử dụng trang này, trang này không hoàn toàn dài dòng như trang web bạn liên kết. Tôi chỉ chọn tùy chọn đầu tiên làm việc cho trường hợp cụ thể. Nhưng bạn nói đúng; Tôi đã chỉnh sửa anwser của tôi. Cảm ơn!
balpha

3

Phân tích sử dụng đĩa

Nếu bạn đang sử dụng bản phân phối dựa trên Debian / Ubuntu, có một vài GUI có sẵn trong kho, mà bạn có thể tìm thấy bằng cách sử dụng synap.

nhập mô tả hình ảnh ở đây


3
du . -ha | sort -hr
  • -a, --all: ghi số lượng cho tất cả các tệp, không chỉ thư mục
  • -h, --human-readable: kích thước in ở định dạng có thể đọc được của con người (ví dụ: 1K 234M 2G)

1
Tôi thấy thực tế là bạn có thể phát âm lệnh đó mang tính giải trí cao. Nghe cũng buồn cười.
jtbandes

2
-1, điều này là sai. "-H" trong lệnh du phá vỡ phân loại.
từ đó

1
Nó không sai, chỉ là không di động. -h là một chủ nghĩa GNU. Sử dụng -k thay vì với Sun OS.
Ludwig Weinzierl

+ Ludwig tôi không nghĩ bạn đã hiểu. Bằng cách thêm -h nó làm cho số người có thể đọc được, do đó chúng không còn là số có thể được sử dụng bởi lệnh sort. ví dụ: mọi thứ sẽ được sắp xếp như sau: "760K 784M 788K 860K 944K 985M" Nó nên du -ha | sort -hrhoặc du -ha | gsort -hr(trên osx sau khi cài đặt các tiện ích cốt lõi)
Gerry


2

Chỉ huy nửa đêm

Nếu bạn muốn có một đầu ra danh sách với các tùy chọn điều hướng và GUI đẹp, hãy cài đặt Midnight Commander ( mctrong hầu hết các trình quản lý gói) và kiểm tra "hiển thị kích thước thư mục" trong menu lệnh. Ngoài ra bạn có thể Ctrl+ space.

nhập mô tả hình ảnh ở đây

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.