วิธีการวิเคราะห์การใช้งานดิสก์ใน linux บรรทัดคำสั่ง?


99

duและdfเป็นสิ่งที่ดี แต่ผมไม่ทราบว่าวิธีการกรองข้อมูลที่พวกเขาให้วิธีการที่ฉันจะทำอย่างไรกับSequoiaView ฉันต้องการทราบว่าเป็นโฟลเดอร์ที่ใหญ่ที่สุดและไฟล์ที่ใหญ่ที่สุดได้อย่างรวดเร็ว


คุณมีแนวโน้มncdu?
SDsolar

คำตอบ:


141

นอกจากนี้คุณยังอาจต้องการที่จะลองใช้ ncurses ดิสก์ncduอาคา

ใช้มันเหมือนncdu -x -qว่าคุณกำลังเรียกใช้จากระยะไกล (เช่นผ่านssh) และncdu -xอื่น ๆ

ncdu 1.6 ~ Use the arrow keys to navigate, press ? for help
    --- /home/geek -----------------------------------------------------------------
       27.6MiB  /qm test 1 rework
      312.0kiB  /sidebar
       88.0kiB  /rackerhacker-MySQLTuner-perl-6add618
        8.0kiB  /.w3m
        4.0kiB  /.cache
    e   4.0kiB  /.ssh
      160.0kiB   ng.tar.gz
       76.0kiB   plowshare_1~svn1673-1_all.deb
        4.0kiB   .bashrc
        4.0kiB   .bash_history
        4.0kiB   .profile
        4.0kiB   .htoprc
        4.0kiB   .bash_logout
        0.0  B   .lesshst

มีให้ใน Mac OS X ด้วย

การตั้งค่าสถานะต่อไปนี้ในบรรทัดคำสั่งอาจเป็นประโยชน์:

-q Quiet mode, doesn't update the screen 10 times a second
   while scanning, reduces network bandwidth used

-x Don't cross filesystem borders (don't descend into a
   directory which is a mounted disk)

ขอบคุณ Sorin Sbarnea


1
มีให้ใน OS X ด้วยเช่นกันผ่านทาง Brew มันอาจเป็นความคิดที่ดีที่จะเรียกมันว่าใช้ncdu -x -q
sorin

1
น่ากลัว! ตัวเลือกที่ดีที่สุดสำหรับฉันคือncdu -qแม้ใน ssh
Valter Silva

46

ใช้การรวมกันของคำสั่งและตัวเลือก:

du --max-depth=1 2> /dev/null | sort -n -r | head -n20

เพื่อดูเฉพาะจำนวนน้อยที่สุด หากคุณต้องการใช้งานจำนวนมากให้ผูกเข้ากับชื่อแทนเช่นใน bash โดยเพิ่มเป็น ~ / .bashrc

alias largest='du --max-depth=1 2> /dev/null | sort -n -r | head -n20'

2
หากต้องการดูจำนวนน้อยที่สุดคุณต้อง-rเลือกตัวเลือก
RedGrittyBrick

1
ฉันส่งคำแนะนำ @RedGrittyBrick และการเปลี่ยนเส้นทางข้อผิดพลาดไป/dev/nullเป็นการแก้ไขภายใต้การอนุมัติ
Jader Dias

ฉันจะใช้du -Hตัวเลือกเช่นกัน แต่มันทำให้sortพฤติกรรม
แย่ลง

2
@ jumpnett: มันเปลี่ยนเส้นทางstandard error(ในกรณีนี้ลงในหลุมดำนั่นคือ/dev/null)
Jaap Eldering

3
คุณสามารถใช้sort -hเพื่อเรียงลำดับค่าด้วยคำต่อท้ายที่มนุษย์สามารถอ่านได้
อัลโล


3

ฉันมักจะใช้

du -hsc * | sort -h

แต่ละตัวเลือกมีความหมายอย่างไรสำหรับdu:

  • h: แสดงขนาดในรูปแบบที่มนุษย์อ่านได้ (1K, 1M, 1G, ... )
  • s: summarize: แสดงผลรวมสำหรับแต่ละอาร์กิวเมนต์เท่านั้น
  • c: ยังแสดงผลรวมทั้งหมด

-hตัวเลือกในการsortทำให้เข้าใจ-hรูปแบบ (คนอ่าน) duบน ตัวเลือกนี้ค่อนข้างใหม่sortดังนั้นระบบของคุณอาจไม่รองรับและบังคับให้คุณใช้du -sc | sort -nแทน

หากคุณทำบนเครื่องระยะไกลและกระบวนการใช้เวลานานคุณอาจต้องการดำเนินการตามกระบวนการนี้เป็นพื้นฐานหรือภายในscreenหรือสิ่งที่คล้ายกันเพื่อป้องกันการสูญเสียการเชื่อมต่อ


3

ฉันอยากจะแนะนำdutreeซึ่งให้การสร้างภาพข้อมูลเป็นแนว

คุณสามารถเลือกรายละเอียดในระดับที่มากขึ้นหรือน้อยลงและยกเว้นเส้นทางเพื่อควบคุมการแสดงข้อมูลได้ดีขึ้น คุณยังสามารถเปรียบเทียบเส้นทางที่แตกต่างกัน

ป้อนคำอธิบายรูปภาพที่นี่

มันถูกใช้งานใน Rust รวดเร็วและมีประสิทธิภาพ

$ dutree -h
Usage: dutree [options] <path> [<path>..]

Options:
    -d, --depth [DEPTH] show directories up to depth N (def 1)
    -a, --aggr [N[KMG]] aggregate smaller than N B/KiB/MiB/GiB (def 1M)
    -s, --summary       equivalent to -da, or -d1 -a1M
    -u, --usage         report real disk usage instead of file size
    -b, --bytes         print sizes in bytes
    -f, --files-only    skip directories for a fast local overview
    -x, --exclude NAME  exclude matching files or directories
    -H, --no-hidden     exclude hidden files
    -A, --ascii         ASCII characters only, no colors
    -h, --help          show help
    -v, --version       print version number

1
du -h 2> /dev/null | sort -hr | head -n20

du -hให้ประมาณการรายชื่อคนอ่านของพื้นที่ดิสก์ที่มีทั้งหมด
2> / dev / nullยับยั้งข้อผิดพลาดใด ๆ เช่นการเข้าถึงแบบอ่านปฏิเสธ
การจัดเรียง -HRเรียงลำดับขนาดของไฟล์ที่สามารถอ่านได้มนุษย์ในลำดับที่กลับ
หัว -n20ลดรายการถึง 20

โปรดทราบว่าจะไม่รวมไดเรกทอรีและไฟล์ที่ถูกปฏิเสธการเข้าถึงเพื่ออ่าน


0

หากต้องการทราบว่าเป็นโฟลเดอร์ที่ใหญ่ที่สุดและไฟล์ที่ใหญ่ที่สุดในภาพรวมคุณสามารถใช้เครื่องมือบรรทัดคำสั่ง 'การใช้งานดิสก์ยอดนิยม' ( tdu):

https://unix.stackexchange.com/questions/425615/how-to-get-top-immediate-sub-folders-of-folder-consuming-huge-disk-space-in/501089#501089

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