it-swarm-vi.tech

Tiện ích Linux để tìm các tệp / thư mục lớn nhất

Tôi đang tìm một chương trình để chỉ cho tôi những tập tin/thư mục nào chiếm nhiều dung lượng nhất, đại loại như:

74% music
 \- 60% music1
 \- 14% music2
12% code
13% other

Tôi biết rằng có thể có trong KDE3, nhưng tôi không muốn làm điều đó - KDE4 hoặc dòng lệnh được ưu tiên.

133
Robert Munteanu

Để tìm 10 tệp lớn nhất (linux/bash):

find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Để tìm 10 thư mục lớn nhất:

find . -type d -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

Chỉ khác là -type {d:f}.

Xử lý các tệp có khoảng trắng trong tên và tạo kích thước tệp có thể đọc được ở đầu ra. Tập tin lớn nhất được liệt kê cuối cùng. Đối số theo đuôi là số lượng kết quả bạn thấy (ở đây là 10 kết quả lớn nhất).

Có hai kỹ thuật được sử dụng để xử lý khoảng trắng trong tên tệp. find -print0 | xargs -0 sử dụng dấu phân cách null thay vì dấu cách và xargs -I{} thứ hai sử dụng dòng mới thay vì khoảng trắng để chấm dứt các mục nhập.

thí dụ:

$ find . -type f -print0 | xargs -0 du | sort -n | tail -10 | cut -f2 | xargs -I{} du -sh {}

  76M    ./snapshots/projects/weekly.1/onthisday/onthisday.tar.gz
  76M    ./snapshots/projects/weekly.2/onthisday/onthisday.tar.gz
  76M    ./snapshots/projects/weekly.3/onthisday/onthisday.tar.gz
  76M    ./tmp/projects/onthisday/onthisday.tar.gz
  114M   ./Dropbox/snapshots/weekly.tgz
  114M   ./Dropbox/snapshots/daily.tgz
  114M   ./Dropbox/snapshots/monthly.tgz
  117M   ./Calibre Library/Robert Martin/cc.mobi
  159M   ./.local/share/Trash/files/funky chicken.mpg
  346M   ./Downloads/The Walking Dead S02E02 ... (dutch subs nl).avi
130
Sean

Tôi luôn sử dụng ncdu. Nó tương tác và rất nhanh.

200
Daenyth

Để xem nhanh:

du | sort -n

liệt kê tất cả các thư mục lớn nhất cuối cùng.

du --max-depth=1 * | sort -n

hoặc, một lần nữa, tránh sự dư thừa *:

du --max-depth=1 | sort -n

liệt kê tất cả các thư mục trong thư mục hiện tại với lớn nhất cuối cùng.

.

Các tham số khác cho du có sẵn nếu bạn muốn theo liên kết tượng trưng (mặc định là không theo liên kết tượng trưng) hoặc chỉ hiển thị kích thước của nội dung thư mục, ngoại trừ thư mục con, chẳng hạn. du thậm chí có thể bao gồm trong danh sách ngày và giờ khi bất kỳ tập tin nào trong thư mục được thay đổi lần cuối.

37
mas

Đối với hầu hết mọi thứ, tôi thích các công cụ CLI, nhưng đối với việc sử dụng ổ đĩa, tôi thực sự thích filelight . Bài thuyết trình trực quan với tôi hơn bất kỳ công cụ quản lý không gian nào tôi từng thấy.

Filelight screenshot

23
Anton Geraschenko

Filelight tốt hơn cho người dùng KDE, nhưng để hoàn thiện (tiêu đề câu hỏi là chung) tôi phải đề cập đến Baobab được bao gồm trong Ubuntu, còn gọi là Trình phân tích sử dụng đĩa:

enter image description here

20
Nicolas Raoul

Một công cụ GUI, KDirStat, hiển thị dữ liệu cả ở dạng bảng và đồ họa. Bạn có thể thấy thực sự nhanh chóng, nơi hầu hết không gian được sử dụng.

enter image description here

Tôi không chắc đây có chính xác là công cụ KDE mà bạn không muốn hay không, nhưng tôi nghĩ nó vẫn nên được đề cập trong một câu hỏi như thế này. Điều đó tốt và nhiều người có thể không biết điều đó - bản thân tôi chỉ mới biết về nó gần đây.

8
Jonik

Một sự kết hợp luôn là thủ thuật tốt nhất trên Unix.

du -sk $(find . -type d) | sort -n -k 1

Sẽ hiển thị kích thước thư mục tính bằng KB và sắp xếp để đưa ra kích thước lớn nhất ở cuối.
[.__.] Tuy nhiên, chế độ xem dạng cây sẽ cần thêm một số ... có thực sự cần thiết không?

Lưu ý rằng quá trình quét này được lồng trong các thư mục nên nó sẽ đếm các thư mục con một lần nữa cho các thư mục cao hơn và thư mục cơ sở . sẽ hiển thị ở cuối dưới dạng tổng số sử dụng.

Tuy nhiên, bạn có thể sử dụng điều khiển độ sâu trên tìm kiếm để tìm kiếm ở độ sâu cụ thể.
[.__.] Và, thực sự tham gia nhiều hơn vào quá trình quét của bạn ... tùy thuộc vào những gì bạn muốn. Kiểm soát độ sâu của find với -maxdepth-mindepth có thể giới hạn ở độ sâu thư mục con cụ thể.


Đây là một biến thể tinh tế cho vấn đề quá dài của bạn

find . -type d -exec du -sk {} \; |  sort -n -k 1
5
nik

Tôi thích gt5 . Bạn có thể điều hướng cây và các thư mục con mở để xem chi tiết hơn. Nó sử dụng trình duyệt web ở chế độ văn bản, chẳng hạn như lynx, để hiển thị kết quả. Cài đặt elinks để có kết quả tốt nhất.

alt text

3
Dennis Williamson

Mặc dù nó không cung cấp cho bạn một đầu ra lồng nhau như thế, hãy thử du

du -h /path/to/dir/

Chạy nó trên thư mục Tài liệu của tôi phun ra như sau:

josh-hunts-macbook:Documents joshhunt$ du -h
  0B    ./Adobe Scripts
  0B    ./Colloquy Transcripts
 23M    ./Electronic Arts/The Sims 3/Custom Music
  0B    ./Electronic Arts/The Sims 3/InstalledWorlds
364K    ./Electronic Arts/The Sims 3/Library
 77M    ./Electronic Arts/The Sims 3/Recorded Videos
101M    ./Electronic Arts/The Sims 3/Saves
 40M    ./Electronic Arts/The Sims 3/Screenshots
1.6M    ./Electronic Arts/The Sims 3/Thumbnails
387M    ./Electronic Arts/The Sims 3
387M    ./Electronic Arts
984K    ./English Advanced/Documents
1.8M    ./English Advanced
  0B    ./English Extension/Documents
212K    ./English Extension
100K    ./English Tutoring
5.6M    ./IPT/Multimedia Assessment Task
720K    ./IPT/Transaction Processing Systems
8.6M    ./IPT
1.5M    ./Job
432K    ./Legal Studies/Crime
8.0K    ./Legal Studies/Documents
144K    ./Legal Studies/Family/PDFs
692K    ./Legal Studies/Family
1.1M    ./Legal Studies
380K    ./Maths/Assessment Task 1
388K    ./Maths
[...]

Sau đó, bạn có thể sắp xếp đầu ra bằng cách chuyển nó qua sort

du /path/to/dir | sort -n
2
Josh Hunt

Mặc dù việc tìm kiếm tỷ lệ sử dụng đĩa của mỗi tệp/thư mục là có lợi, nhưng hầu hết thời gian biết các tệp/thư mục lớn nhất trong đĩa là đủ.

Vì vậy, yêu thích của tôi là:

# du -a | sort -n -r | head -n 20

Và đầu ra là như thế này:

28626644        .
28052128        ./www
28044812        ./www/vhosts
28017860        ./www/vhosts/example.com
23317776        ./www/vhosts/example.com/httpdocs
23295012        ./www/vhosts/example.com/httpdocs/myfolder
23271868        ./www/vhosts/example.com/httpdocs/myfolder/temp
11619576        ./www/vhosts/example.com/httpdocs/myfolder/temp/main
11590700        ./www/vhosts/example.com/httpdocs/myfolder/temp/main/user
11564748        ./www/vhosts/example.com/httpdocs/myfolder/temp/others
4699852         ./www/vhosts/example.com/stats
4479728         ./www/vhosts/example.com/stats/logs
4437900         ./www/vhosts/example.com/stats/logs/access_log.processed
401848          ./lib
323432          ./lib/mysql
246828          ./lib/mysql/mydatabase
215680          ./www/vhosts/example.com/stats/webstat
182364          ./www/vhosts/example.com/httpdocs/tmp/aaa.sql
181304          ./www/vhosts/example.com/httpdocs/tmp/bbb.sql
181144          ./www/vhosts/example.com/httpdocs/tmp/ccc.sql
1
trante

Đây là kịch bản tự động làm điều đó cho bạn.

http://www.thegeekcope.com/linux-script-to-find-largest-files/

Sau đây là đầu ra mẫu của tập lệnh:

**# sh get_largest_files.sh / 5**

[SIZE (BYTES)]     [% OF DISK] [OWNER]         [LAST MODIFIED ON]        [FILE] 

56421808           0%           root           2012-08-02 14:58:51       /usr/lib/locale/locale-archive
32464076           0%           root           2008-09-18 18:06:28       /usr/lib/libgcj.so.7rh.0.0
29147136           0%           root           2012-08-02 15:17:40       /var/lib/rpm/Packages
20278904           0%           root           2008-12-09 13:57:01       /usr/lib/xulrunner-1.9/libxul.so
16001944           0%           root           2012-08-02 15:02:36       /etc/selinux/targeted/modules/active/base.linked

Total disk size: 23792652288 Bytes
Total size occupied by these files: 154313868 Bytes  [ 0% of Total Disc Space  ]

*** Note: 0% represents less than 1% ***

Bạn có thể thấy kịch bản này rất tiện dụng và hữu ích!

1
Kam

Một cách khác là age phá vỡ không gian đĩa theo thời gian truy cập lần cuối, giúp dễ dàng xác định vị trí lãng phí tệp.

Nó thậm chí hoạt động trên một máy chủ không có X Windows bằng cách phục vụ các trang web tạm thời để việc sử dụng có thể được phân tích từ xa, với các biểu đồ. Giả sử địa chỉ IP của máy chủ là 192.168.1.101, bạn có thể nhập địa chỉ này trên dòng lệnh của máy chủ

agedu -s / -w --address 192.168.1.101:60870 --auth basic -R

Thao tác này sẽ in tên người dùng, mật khẩu và URL mà bạn có thể truy cập "GUI" và duyệt kết quả. Khi hoàn tất, chấm dứt agedu bằng Ctrl+D trên máy chủ.

1
Bastiaan

Để tìm 25 tệp hàng đầu trong thư mục hiện tại và các thư mục con của nó:

find . -type f -exec ls -al {} \; | sort -nr -k5 | head -n 25

Sẽ xuất 25 tệp hàng đầu bằng cách sắp xếp dựa trên kích thước của tệp thông qua lệnh đường ống "sort -nr -k5".

1
xpros
du -chs /*

Sẽ hiển thị cho bạn một danh sách các thư mục gốc.

0
RusAlex

Hãy thử một lớp lót sau (hiển thị 20 tệp lớn nhất trong thư mục hiện tại):

ls -1Rs | sed -e "s/^ *//" | grep "^[0-9]" | sort -nr | head -n20

hoặc với kích thước có thể đọc được của con người:

ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20

Lệnh thứ hai để hoạt động đúng trên OSX/BSD (vì sort không có -h), bạn cần cài đặt sort từ coreutils.

Vì vậy, các bí danh này rất hữu ích để có trong các tệp rc của bạn (mỗi khi bạn cần):

alias big='du -ah . | sort -rh | head -20'
alias big-files='ls -1Rhs | sed -e "s/^ *//" | grep "^[0-9]" | sort -hr | head -n20'
0
kenorb

Để hoàn thành danh sách thêm một chút nữa, tôi thêm bộ phân tích sử dụng đĩa yêu thích của mình, đó là xdiskusageNAME _ .

GUI ghi nhớ cho tôi một số tiện ích ol 'X tốt khác, nó nhanh và không cồng kềnh, tuy nhiên bạn vẫn có thể điều hướng dễ dàng trong cấu trúc phân cấp và có một số tùy chọn hiển thị:

$ xdiskusage /usr

enter image description here

0
mpy