Làm thế nào để hiểu những gì chiếm không gian đĩa?


86

Tôi đang tìm một giải pháp thay thế linux cho WinDirStat . Tôi muốn biết những gì đang chiếm không gian trên ổ cứng của tôi.

Một chương trình hoạt động trên bàn điều khiển và không yêu cầu UI được ưu tiên.


ncdulà câu trả lời ưa thích của tôi, nhưng tôi thấy câu trả lời đầu tiên nói rằng bạn đang gặp vấn đề với câu hỏi không có trong câu hỏi của bạn.
SDsolar

Câu trả lời:


74

Dựa vào các vấn đề của bạn trong cài đặt ncdu đề nghị của tôi sẽ được sử dụng dusorttrên cùng.

Ví dụ:

  • du /home | sort -rn (sẽ tìm kiếm tất cả các tập tin / thư mục dưới / home và sắp xếp chúng theo lớn nhất đến nhỏ nhất.
  • du -h /home | sort -rh(tương tự nhưng sẽ hiển thị bằng MB / KB / vv) - Lưu ý điều này yêu cầu coreutils 7.5 hoặc mới hơn ( sort --versionđể kiểm tra)

Bạn có thể thay thế / nhà với bất kỳ thư mục nào bạn chọn.


Thật tuyệt vời, cảm ơn vì sự giúp đỡ. Coreutils của tôi là 5,97 - đây có phải là lý do tại sao thứ tự sắp xếp của du -h không đúng?
ripper234

Đúng, bạn phải giải quyết du /home | sort -rnvới coreutils 5.97 hoặc sử dụng một số 'ma thuật' với perl, v.v. như đã trình bày trên ServerFault ( serverfault.com/q/62411/60012 )
NJ

2
OTOH nếu có một thư mục con lớn, sự phình to của nó sẽ hiển thị nhiều lần (đối với thư mục đó và mỗi thư mục gốc) ở đầu kết quả và IMHO làm sao lãng sự phình to thực sự. Sử dụng "ncdu" được đề xuất dưới đây có thể giúp ích cho điều đó, tôi sẽ thử nó. =)
lapo

2
Tôi thấy tùy chọn -size để "tìm" cũng hữu ích, vì nó cho phép bạn tìm tất cả các tệp theo một số nhất định. Ít nhất là đối với GNU find, bạn có thể làm một cái gì đó như: "find. -Size + 100M" để tìm các tệp lớn hơn 100M bên dưới thư mục hiện tại.
gabe.

89

Nếu bạn muốn có một công cụ dòng lệnh, tôi thích ncdu , một phiên bản của ncurses du. Nó quét đĩa (hoặc một thư mục nhất định) và sau đó hiển thị các cách sử dụng không gian cấp cao nhất; bạn có thể chọn một thư mục đã cho để lấy bản tóm tắt tương ứng cho thư mục đó và quay lại mà không cần phải viết lại:

Ảnh chụp màn hình của ncdu


Nếu bạn ổn với chương trình GUI, Filelight là thứ gần gũi nhất với WinDirStat tôi đã tìm thấy; nó cho thấy một cái nhìn đồ họa về tiêu thụ không gian:

Ảnh chụp màn hình của Filelight

Giống như ncdu, Filelight cho phép bạn chọn một thư mục nhất định để phân tích cho thư mục đó


4
Bạn không nghĩ rằng QĐirStat gần gũi hơn với WinDirStat?
Janus Troelsen

39

Bạn nên biết rằng WinDirStat thực sự là một cổng của KDirStat , là một chương trình Linux / KDE. Vì vậy, nếu bạn đang tìm kiếm một giải pháp thay thế Linux cho WinDirStat, bạn chắc chắn nên xem qua KDirStat . Nó đã được đóng gói trong hầu hết các bản phát hành, chỉ cần cài đặt nó.

Một cách khác là FileLight, đã được trích dẫn bởi Michael Mrozek và plugin Konqueror fsview(bạn có thể chạy nó độc lập từ dòng lệnh).


16
Ồ, tôi chưa bao giờ nhận ra điều đó (tôi đoán "Win" trong tên nên là một món quà). Một đồng nghiệp đã từng hỏi tôi rằng có phiên bản Linux của WinSCP không ; Tôi đã chết bên trong một chút
Michael Mrozek

3
@preingly bình luận. ouch. Chỉ cần ouch.
David Oneill

2
Lưu ý rằng nó sẽ được gọi là K4DirStat cho Ubuntu nếu cài đặt qua trung tâm phần mềm
y3sh

hoặcsudo apt-get install k4dirstat
y3sh

34

Một chương trình GUI khác là: baobab

văn bản thay thế


Thực tế, nếu tôi dùng Ubuntu, tôi sẽ không tìm kiếm bất kỳ sự thay thế nào. baobaplà vừa đủ
phunehehe

Nó cũng hiển thị số lượng tệp, đôi khi cần phải kiểm tra cũng như dung lượng ổ đĩa
golimar

9

Sử dụng QĐirStat (trước đây là KDirStat).

Nó bao gồm một tập lệnh perl tạo tệp bộ đệm trên máy chủ / bảng điều khiển mà không cần phải chạy / cài đặt giao diện người dùng; chuyển nó vào máy tính để bàn của bạn và xem nó trong máy khách gui.

Xem https://unix.stackexchange.com/a/256516/186308 để biết chi tiết.


nó nhanh đến mức nực cười. công cụ rất hay
phil294 17/05/18

7

Tôi thích dòng lệnh sau:

$  du -s -m -x * | sort -n

Phá vỡ nó, ducho thấy việc sử dụng đĩa; -snói in tổng số cho từng đối số (từng mục trong thư mục hiện tại), -mcho biết hiển thị kích thước tính bằng Megabyte. Điều này làm cho nó dễ dàng hơn để sắp xếp để làm việc; sắp xếp không thực sự hiểu -hđầu ra. Việc -xbỏ qua các hệ thống tập tin khác; điều này rất hữu ích khi cố gắng tìm không gian trong /var/var/spool/foolà một hệ thống tập tin khác.


Không phải câu trả lời hàng đầu đã được sử dụng du?
muru

Có, nhưng du / home trên hệ thống của tôi trả về hàng chục ngàn tệp; Tôi hiếm khi quan tâm 100 tập tin lớn nhất trong số đó là gì; Tôi thường muốn biết thư mục con nào chiếm nhiều không gian nhất.
P Joslin

Thay vì -s, tôi đã chỉ định --max-height = 2, vì tôi muốn chuyển một thư mục xuống từ thư mục gốc, nhưng câu trả lời của bạn đã chỉ cho tôi theo hướng đó. Cảm ơn!
John Eisbrener

6

Ngoài ra còn có tập lệnh python thú vị này từ /www.vrplumber.com/programming/runsnakerun/

bzr branch lp:~mcfletch/squaremap/trunk squaremap

Nó không phải là tính năng phong phú nhất, nhưng nó chạy từ một tập lệnh python duy nhất nên nó cực kỳ di động.

văn bản thay thế



4

Bạn cũng có thể thử GD Map , một công cụ GUI khác dựa trên treemaps.


3

xdiskusage rất linh hoạt, nhẹ với các phụ thuộc rất gọn gàng, dễ biên dịch ..

Nó hiển thị một cây từ trái sang phải mà bạn có thể điều hướng bằng các phím chuột hoặc mũi tên, phóng to (nhấp hoặc nhập), ẩn một số phần để xem tốt hơn, thay đổi thứ tự sắp xếp, số màu, v.v. bằng phím hoặc menu ngữ cảnh.

Nó nặng đến mức bạn có thể sử dụng nó trên một liên kết SSH từ xa với hiệu suất tốt. Trong trường hợp này, tôi khuyên bạn nên -qtùy chọn dòng lệnh để vô hiệu hóa thanh tiến trình xuất hiện trong khi các tệp được đi bộ.

Bạn cũng có thể tùy ý dutự chạy trước.

Một tình huống là một hệ thống tập tin từ xa đầy đủ hoặc gần đầy. Trên hệ thống đó chạy du -ak | gzip >log_of_disk_usage.txt.gz, tìm nạp đầu ra và chạy gzip -dc log_of_disk_usage.txt.gz | xdiskusage -aqcục bộ.
Hoặc thậm chí ssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gzđể lưu trữ kết quả cục bộ mà không cần viết bất cứ điều gì từ xa.

xdiskusage không cung cấp để sửa đổi hệ thống tập tin (như di chuyển vào thùng rác, v.v.) nhưng bạn có thể sao chép một đường dẫn vào bảng tạm và dán nó vào trình quản lý tệp, thiết bị đầu cuối, v.v.

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


2

Gần đây tôi đã sử dụng công cụ dòng lệnh (CLI, không phải TUI): http://zevv.nl/play/code/philesight/

Nó tạo ra một tệp PNG mà bạn có thể xem ở một nơi khác. Nó cũng có một kịch bản CGI.

Nhiều khả năng bạn không bị giới hạn ở chế độ văn bản tại máy trạm cục bộ của mình, vì vậy nó phải phù hợp.


1

Ngoài ra để xem các tệp trong một thư mục cụ thể được sắp xếp theo kích thước sau khi bạn đã tìm thấy thư mục bằng cách sử dụng du:

ls -lrSh

1

Đức ( https://duc.zevv.nl/ ) sẽ làm việc từ dòng lệnh.

Nó có thể được cài đặt và sử dụng như thế này trong Debian 9:

# apt install duc
# duc index /
# duc graph /

Với điều này, bạn sẽ nhận được một tập tin có tên duc.pngtrong thư mục hiện tại. Bây giờ, bạn có thể sao chép tệp này sang một máy tính có khả năng GUI khác và nó sẽ trông như thế này: duc.png

LƯU Ý: Đức là công cụ thay thế cho công cụ mà @OCTAGRAM đã đề cập trong câu trả lời của anh ấ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.