it-swarm.asia

أداة Linux لإيجاد أكبر الملفات/الدلائل

أنا أبحث عن برنامج لإظهار الملفات/الدلائل التي تشغل مساحة أكبر ، مثل:

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

أعلم أن ذلك ممكن في KDE3 ، لكنني أفضل ألا أفعل ذلك - يفضل KDE4 أو سطر الأوامر.

131
Robert Munteanu

للعثور على أكبر 10 ملفات (linux/bash):

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

للعثور على أكبر 10 أدلة:

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

الفرق الوحيد هو -type {d:f}.

يعالج الملفات ذات المسافات في الأسماء ، وينتج أحجام الملفات القابلة للقراءة البشرية في الإخراج. أكبر ملف مدرج أخيرًا. وسيطة الذيل هي عدد النتائج التي تراها (هنا أكبر 10 نتائج).

هناك نوعان من التقنيات المستخدمة للتعامل مع المسافات في أسماء الملفات. يستخدم find -print0 | xargs -0 محددات فارغة بدلاً من المسافات ، ويستخدم الثاني xargs -I{} أسطر جديدة بدلاً من المسافات لإنهاء عناصر الإدخال.

مثال:

$ 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

أنا دائما استخدام ncdu. انها تفاعلية وسريعة جدا.

199
Daenyth

للحصول على عرض سريع:

du | sort -n

يسرد جميع الدلائل مع الأكبر الأخير.

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

أو ، مرة أخرى ، تجنب المتكرر *:

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

يسرد جميع الدلائل في الدليل الحالي مع الأكبر الأخير.

(-المعلمة للفرز مطلوبة حتى يتم فرز الحقل الأول كرقم بدلاً من كنص ، لكن هذا يمنع استخدام -h المعلمة لـ du لأننا نحتاج إلى رقم مهم للفرز)

تتوفر معلمات أخرى لـ du إذا كنت تريد اتباع ارتباطات رمزية (الافتراضي هو عدم اتباع الارتباطات الرمزية) أو فقط إظهار حجم محتويات الدليل باستثناء الدلائل الفرعية ، على سبيل المثال. يمكن لـ du تضمين التاريخ والوقت في آخر مرة تم فيها تغيير أي ملف في الدليل.

37
mas

بالنسبة لمعظم الأشياء ، أفضل أدوات CLI ، لكن بالنسبة لاستخدام محرك الأقراص ، فأنا أحب filelight . العرض التقديمي أكثر سهولة بالنسبة لي من أي أداة أخرى لإدارة المساحة التي رأيتها.

Filelight screenshot

23
Anton Geraschenko

Filelight أفضل لمستخدمي KDE ، ولكن من أجل الاكتمال (عنوان السؤال عام) ، يجب أن أذكر Baobab مضمن في Ubuntu ، ويعرف أيضًا باسم Disk Usage Analyzer:

enter image description here

20
Nicolas Raoul

أداة واجهة المستخدم الرسومية ،KDirStat، تُظهر البيانات في شكل جدول ورسوميًا. يمكنك أن ترى بسرعة كبيرة حيث يتم استخدام معظم المساحة.

 enter image description here

لست متأكدًا مما إذا كان هذا هو بالضبط أداة KDE التي لا تريدها ، لكنني أعتقد أنه لا يزال ينبغي ذكرها في سؤال مثل هذا. إنه أمر جيد وربما لا يعرفه الكثير من الناس - لقد تعلمت عن ذلك مؤخرًا بنفسي.

8
Jonik

مزيج دائما هو أفضل خدعة على يونكس.

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

سيعرض أحجام الدليل في كيلوبايت والفرز لإعطاء أكبر في النهاية.
ومع ذلك ، فإن عرض الشجرة سيحتاج إلى مزيد من فو ... هل هو حقًا مطلوب؟

لاحظ أن هذا الفحص متداخل عبر الدلائل ، لذا فسيتم حساب الدلائل الفرعية مرة أخرى للدلائل الأعلى وسيظهر الدليل الأساسي . في النهاية كإجمالي للاستفادة.

ومع ذلك يمكنك استخدام عنصر تحكم عمق في البحث للبحث في عمق محدد.
واشترك كثيرًا في المسح الضوئي الخاص بك ... اعتمادًا على ما تريد. يمكن أن يقتصر التحكم العميق في find مع -maxdepth و -mindepth على عمق دليل فرعي محدد.


إليك صيغة مختلفة لمشكلتك الطويلة جدًا

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

أنا أحب GT5 . يمكنك التنقل في الشجرة وفتح الدلائل الفرعية للبحث عن مزيد من التفاصيل. يستخدم مستعرض ويب وضع النص ، مثل الوشق ، لعرض النتائج. تثبيت elinks للحصول على أفضل النتائج.

alt text

3
Dennis Williamson

على الرغم من أنه لا يمنحك ناتجًا متداخلًا كهذا ، فجرب du

du -h /path/to/dir/

إن تشغيل ذلك على مجلد المستندات يبث ما يلي:

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
[...]

بعد ذلك يمكنك فرز المخرجات عن طريق نقلها إلى sort

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

على الرغم من أن العثور على النسبة المئوية لاستخدام القرص لكل ملف/دليل مفيد ، إلا أن معرفة معظم الملفات/الدلائل الموجودة داخل القرص كافية في معظم الوقت.

لذلك المفضل لدي هو هذا:

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

والإخراج مثل هذا:

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

هنا هو السيناريو الذي يفعل ذلك لك تلقائيا.

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

فيما يلي نموذج إخراج البرنامج النصي:

**# 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% ***

قد تجد هذا البرنامج مفيدًا جدًا ومفيدًا!

1
Kam

بديل آخر هو ageu الذي يحطم مساحة القرص بواسطة وقت الوصول الأخير ، مما يجعل من السهل تحديد موقع الملفات المهدرة للمساحة.

إنه يعمل حتى على خادم بدون X Windows من خلال عرض صفحات الويب المؤقتة بحيث يمكن تحليل الاستخدام عن بُعد باستخدام الرسوم البيانية. على افتراض أن عنوان IP للخادم هو 192.168.1.101 ، يمكنك كتابة هذا في سطر الأوامر للخادم

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

هذا يطبع اسم المستخدم وكلمة المرور وعنوان URL الذي يمكنك من خلاله الوصول إلى "واجهة المستخدم الرسومية" وتصفح النتائج. عند الانتهاء ، قم بإنهاء agedu بـ Ctrl+D على الخادم.

1
Bastiaan

للعثور على أفضل 25 ملفًا في الدليل الحالي والأدلة الفرعية الخاصة به:

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

سيتم إخراج أفضل 25 ملفًا عن طريق الفرز استنادًا إلى حجم الملفات عن طريق الأمر "sort -nr -k5" piped.

1
xpros
du -chs /*

سوف تظهر لك قائمة الدليل الجذر.

0
RusAlex

جرب الخطوط التالية: (تعرض أكبر 20 ملفًا في الدليل الحالي):

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

أو بأحجام بشرية قابلة للقراءة:

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

الأمر الثاني للعمل على OSX/BSD بشكل صحيح (مثل sort لا يحتوي على -h) ، فأنت بحاجة إلى تثبيت sort من coreutils.

لذلك فإن هذه الأسماء المستعارة مفيدة في ملفاتك rc (في كل مرة تحتاج إليها):

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

لإكمال القائمة أكثر قليلاً ، أضفت مُحلل استخدام القرص المفضل لدي ، وهو xdiskusage .

تتذكرني واجهة المستخدم الرسومية ببعض الأدوات المساعدة الأخرى الجيدة لـ ol 'X ، إنها سريعة وغير منتفخة ، ولكن يمكنك التنقل بسهولة في التسلسل الهرمي ولديك بعض خيارات العرض:

$ xdiskusage /usr

enter image description here

0
mpy