วิธีการทำความเข้าใจสิ่งที่เกิดขึ้นพื้นที่ดิสก์?


86

ฉันกำลังมองหาทางเลือกที่ลินุกซ์ที่จะWinDirStat ฉันอยากรู้ว่าการใช้พื้นที่บนฮาร์ดไดรฟ์ของฉันเป็นอย่างไร

โปรแกรมที่ทำงานบนคอนโซลและไม่ต้องการ UI เป็นที่ต้องการ


ncduเป็นคำตอบที่ฉันต้องการ แต่ฉันเห็นคำตอบแรกบอกว่าคุณมีปัญหากับมันที่ไม่ได้อยู่ในคำถามของคุณ
SDsolar

คำตอบ:


74

ขึ้นอยู่กับปัญหาของคุณได้ในการติดตั้ง ncduคำแนะนำของฉันจะใช้duและsortร่วมกัน

ตัวอย่างเช่น

  • du /home | sort -rn (จะค้นหาไฟล์ / ไดเรกทอรีทั้งหมดภายใต้ / home และเรียงลำดับตามมากที่สุดไปหาน้อยที่สุด
  • du -h /home | sort -rh(เหมือนกัน แต่จะแสดงเป็น MB / KB / ฯลฯ ) - โปรดทราบว่าต้องใช้ coreutils 7.5 หรือใหม่กว่า ( sort --versionเพื่อตรวจสอบ)

คุณสามารถแทนที่ / home ด้วยไดเรกทอรีที่คุณต้องการ


ขอบคุณมากสำหรับความช่วยเหลือ coreutils ของฉันคือ 5.97 - นี่คือเหตุผลว่าทำไมลำดับการเรียงของ du -h ไม่ถูกต้อง?
ripper234

ใช่คุณจะต้องชำระdu /home | sort -rnด้วย coreutils 5.97 หรือใช้ 'magic' กับ perl ฯลฯ ตามที่แสดงบน ServerFault ( serverfault.com/q/62411/60012 )
NJ

2
OTOH หากมีไดเรกทอรีย่อยย่อยขนาดใหญ่ Bloat จะแสดงหลาย ๆ ครั้ง (สำหรับ dir นั้นและผู้ปกครองแต่ละคน) ที่ด้านบนสุดของผลลัพธ์และ IMHO ที่เบี่ยงเบนความสนใจจาก Bloat ที่แท้จริง การใช้คำแนะนำ "ncdu" ด้านล่างสามารถช่วยได้ฉันจะลองดู =)
lapo

2
ฉันพบตัวเลือกขนาดเพื่อ "ค้นหา" ที่มีประโยชน์เช่นกันเพราะช่วยให้คุณค้นหาไฟล์ทั้งหมดภายใต้บางอย่าง อย่างน้อยสำหรับ GNU find คุณสามารถทำสิ่งต่าง ๆ เช่น: "find. -size + 100M" เพื่อค้นหาไฟล์ที่มีขนาดใหญ่กว่า 100M ด้านล่างไดเรกทอรีปัจจุบัน
เกบ

89

ถ้าคุณต้องการเครื่องมือบรรทัดคำสั่งฉันชอบncduรุ่น ncurses duของ มันสแกนดิสก์ (หรือโฟลเดอร์ที่กำหนด) จากนั้นแสดงการใช้พื้นที่ระดับบนสุด คุณสามารถเลือกไดเรกทอรีที่กำหนดเพื่อรับข้อมูลสรุปที่สอดคล้องกันสำหรับไดเรกทอรีนั้นและย้อนกลับโดยไม่จำเป็นต้องวิเคราะห์ใหม่:

สกรีนช็อตของ ncdu


หากคุณตกลงกับโปรแกรม GUI Filelightเป็นสิ่งที่ใกล้เคียงที่สุดกับ WinDirStat ที่ฉันได้พบ มันแสดงให้เห็นมุมมองกราฟิกของการใช้พื้นที่:

สกรีนช็อตของ Filelight

เช่นเดียวกับncduFilelight ให้คุณเลือกไดเรกทอรีที่กำหนดเพื่อรับรายละเอียดของไดเรกทอรีนั้น


4
คุณไม่คิดว่าQDirStatใกล้เคียงกับ WinDirStat หรือไม่?
Janus Troelsen

39

คุณควรระวังว่า WinDirStat เป็นพอร์ตของ KDirStatซึ่งเป็นโปรแกรม Linux / KDE ดังนั้นถ้าคุณกำลังมองหาทางเลือก Linux เพื่อ WinDirStat คุณแน่นอนควรจะดูที่KDirStat มันบรรจุอยู่ใน distros ส่วนใหญ่เพียงแค่ติดตั้ง

อีกทางเลือกหนึ่งคือ FileLight ซึ่งอ้างถึงโดย Michael Mrozek และปลั๊กอิน Konqueror fsview(คุณสามารถเรียกใช้แบบสแตนด์อโลนได้จากบรรทัดคำสั่ง)


16
ว้าวฉันไม่เคยรู้เลยว่า (ฉันเดาว่า "ชนะ" ในชื่อควรจะเป็นของแถม) เพื่อนร่วมงานเคยถามฉันว่ามีWinSCPรุ่น Linux หรือไม่ ฉันตายข้างในเล็กน้อย
Michael Mrozek

3
@ ความคิดเห็นที่ชัดเจน อุ๊ยตาย เพียงแค่อุ๊ย
David Oneill

2
โปรดทราบว่ามันจะถูกเรียกว่า K4DirStat สำหรับ Ubuntu หากติดตั้งผ่านศูนย์ซอฟต์แวร์
y3sh

หรือsudo apt-get install k4dirstat
y3sh

34

โปรแกรม GUI อื่นคือ: baobab

ข้อความแสดงแทน


ในการกระทำถ้าฉันบน Ubuntu ฉันจะไม่รำคาญที่จะมองหาทางเลือกใด ๆ baobapเพียงพอแล้ว
phunehehe

นอกจากนี้ยังแสดงจำนวนไฟล์ซึ่งบางครั้งจำเป็นต้องตรวจสอบรวมถึงพื้นที่ดิสก์
golimar

9

ใช้QDirStat (เดิมชื่อ KDirStat)

มันมีสคริปต์ Perl ที่สร้างไฟล์แคชบนเซิร์ฟเวอร์ / คอนโซลโดยไม่จำเป็นต้องให้ UI ทำงาน / ติดตั้ง ถ่ายโอนไปยังเครื่องเดสก์ท็อปของคุณและดูในไคลเอนต์ gui

ดูhttps://unix.stackexchange.com/a/256516/186308สำหรับรายละเอียด


มันเร็วอย่างน่าขัน เครื่องมือที่ดีมาก
phil294

7

ฉันชอบบรรทัดคำสั่งต่อไปนี้:

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

ทำลายมันลงduแสดงการใช้งานดิสก์; -sกล่าวว่าพิมพ์ผลรวมสำหรับแต่ละอาร์กิวเมนต์ (แต่ละรายการในไดเรกทอรีปัจจุบัน) -mกล่าวว่าแสดงขนาดเป็นเมกะไบต์ ทำให้ง่ายต่อการเรียงลำดับการทำงาน การจัดเรียงไม่เข้าใจ-hผลลัพธ์จริง ๆ -xละเว้น filesystems อื่น ๆ สิ่งนี้มีประโยชน์เมื่อพยายามค้นหา space hogs /varและ/var/spool/fooเป็นระบบไฟล์ที่แตกต่างกัน


คำตอบยอดนิยมใช้แล้วduใช่ไหม
muru

ใช่ แต่ du / home บนระบบของฉันคืนไฟล์เป็นหมื่น ฉันไม่ค่อยสนใจสิ่งที่ (พูด) 100 ที่ใหญ่ที่สุดของไฟล์เหล่านั้นคือ; โดยทั่วไปฉันต้องการทราบว่าไดเรกทอรีย่อยใดที่ใช้พื้นที่มากที่สุด
P Joslin

แทนที่จะ -s ฉันระบุ --max-depth = 2 ตามที่ฉันต้องการไปหนึ่งไดเรกทอรีจากไดเรกทอรีราก แต่คำตอบของคุณชี้ให้ฉันในทิศทางนั้น ขอบคุณ!
John Eisbrener

6

นอกจากนี้ยังมีสคริปต์ python สุดเจ๋งนี้จาก /www.vrplumber.com/programming/runsnakerun/

bzr branch lp:~mcfletch/squaremap/trunk squaremap

มันไม่ได้เป็นคุณสมบัติที่รวยที่สุด แต่มันทำงานจากสคริปต์หลามเดียวดังนั้นมันจึงพกพาได้ดีมาก

ข้อความแสดงแทน


6

หากคุณดูที่หน้าจอเกี่ยวกับ windirstat มันแสดงให้เห็นว่ามันขึ้นอยู่กับ kdirstat

http://kdirstat.sourceforge.net/


ฉันชอบคำตอบ - แต่คุณสามารถเพิ่มบริบทหรือรายละเอียดได้ไหม?
Volker Siegel


3

xdiskusageมีความยืดหยุ่นมากน้ำหนักเบาพร้อมการพึ่งพาอาศัยน้อยมากและง่ายต่อการรวบรวม ..

มันแสดงให้เห็นต้นไม้จากซ้ายไปขวาที่คุณสามารถนำทางด้วยปุ่มเมาส์หรือลูกศรซูมเข้า (คลิกหรือ Enter) ซ่อนบางส่วนเพื่อให้ได้มุมมองที่ดีขึ้นเปลี่ยนลำดับการเรียงจำนวนสี ฯลฯ ด้วยปุ่มหรือเมนูบริบท

มันมีน้ำหนักเบามากคุณสามารถใช้มันในลิงก์ SSH ระยะไกลที่มีประสิทธิภาพดี ในกรณีนี้ฉันแนะนำ-qตัวเลือกบรรทัดคำสั่งเพื่อปิดการใช้งานแถบความคืบหน้าที่ปรากฏขึ้นในขณะที่เดินไฟล์

คุณยังสามารถเลือกรันduด้วยตัวเองล่วงหน้าได้

สถานการณ์หนึ่งคือระบบไฟล์ระยะไกลซึ่งเต็มหรือใกล้เต็ม เมื่อระบบรันdu -ak | gzip >log_of_disk_usage.txt.gzให้ดึงข้อมูลเอาต์พุตและรันแบบgzip -dc log_of_disk_usage.txt.gz | xdiskusage -aqโลคัล
หรือแม้กระทั่งssh myremotesystem "cd /filesystem_near_full/ ; du -ak | gzip" > log_of_disk_usage.txt.gzเก็บผลลัพธ์ไว้ในเครื่องโดยไม่ต้องเขียนอะไรจากระยะไกล

xdiskusage ไม่เสนอให้แก้ไขระบบไฟล์ (เช่นย้ายไปที่ถังขยะ ฯลฯ ) แต่คุณสามารถคัดลอกพา ธ ไปยังคลิปบอร์ดและวางลงในตัวจัดการไฟล์เทอร์มินัล ฯลฯ

ภาพหน้าจอ xdiskusage


2

ฉันเพิ่งใช้เครื่องมือบรรทัดคำสั่ง (CLI ไม่ใช่ TUI): http://zevv.nl/play/code/philesight/

มันสร้างไฟล์ PNG ซึ่งคุณสามารถดูได้จากที่อื่น นอกจากนี้ยังมีสคริปต์ CGI

เป็นไปได้ว่าคุณจะไม่ จำกัด โหมดข้อความที่เวิร์กสเตชันท้องถิ่นของคุณดังนั้นจึงควรเหมาะสม


1

นอกจากนี้ยังเห็นไฟล์ในไดเรกทอรีเฉพาะเรียงตามขนาดหลังจากที่คุณพบไดเรกทอรีโดยใช้ du:

ls -lrSh

1

Duc ( https://duc.zevv.nl/ ) จะทำงานจากบรรทัดคำสั่ง

สามารถติดตั้งและใช้งานได้ใน Debian 9:

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

ด้วยวิธีนี้คุณจะได้รับชื่อไฟล์duc.pngในไดเรกทอรีปัจจุบัน ตอนนี้คุณสามารถคัดลอกไฟล์นี้ไปยังคอมพิวเตอร์ที่ใช้ GUI ได้และจะมีลักษณะดังนี้: duc.png

หมายเหตุ: Duc เป็นเครื่องมือทดแทนสำหรับ @OCTAGRAM ที่กล่าวถึงในคำตอบของเขา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.