ncdu ncurses du
ยูทิลิตี้ CLI ที่ยอดเยี่ยมนี้ช่วยให้คุณค้นหาไฟล์และไดเรกทอรีขนาดใหญ่แบบโต้ตอบได้อย่างง่ายดาย
ตัวอย่างเช่นจากภายในต้นไม้ของโครงการที่รู้จักกันดีเราทำ:
sudo apt-get install ncdu
ncdu
ผลของมัน:

จากนั้นฉันลงและขวาบนแป้นพิมพ์เพื่อเข้าไปใน/driversโฟลเดอร์และฉันเห็น:

ncdu คำนวณขนาดไฟล์ซ้ำครั้งเดียวเมื่อเริ่มต้นสำหรับต้นไม้ทั้งหมดดังนั้นจึงมีประสิทธิภาพ
"การใช้งานดิสก์ทั้งหมด" เทียบกับ "ขนาดที่ชัดเจน" นั้นคล้ายคลึงกับduและฉันได้อธิบายไว้ที่: ทำไมเอาต์พุตของ `du` มักจะแตกต่างจาก` du -b`
หน้าแรกของโครงการ: https://dev.yorhel.nl/ncdu
คำถามที่เกี่ยวข้อง:
ผ่านการทดสอบใน Ubuntu 16.04
ncdu การใช้งานที่ไม่โต้ตอบ
อีกคุณสมบัติที่ยอดเยี่ยมncduคือคุณสามารถถ่ายโอนข้อมูลขนาดในรูปแบบ JSON ก่อนและนำมาใช้ใหม่ในภายหลัง
ตัวอย่างเช่นในการสร้างไฟล์ที่รัน:
ncdu -o ncdu.json
จากนั้นตรวจสอบมันแบบโต้ตอบกับ:
ncdu -f ncdu.json
สิ่งนี้มีประโยชน์มากถ้าคุณจัดการกับระบบไฟล์ที่มีขนาดใหญ่และช้าเช่น NFS
ด้วยวิธีนี้คุณสามารถส่งออกครั้งแรกเพียงครั้งเดียวซึ่งอาจใช้เวลาหลายชั่วโมงจากนั้นสำรวจไฟล์ออกจากออกสำรวจอีกครั้ง ฯลฯ
รูปแบบผลลัพธ์เป็นเพียง JSON ดังนั้นจึงสามารถนำมาใช้ซ้ำกับโปรแกรมอื่นได้ง่ายเช่น:
ncdu -o -  | python -m json.tool | less
เผยให้เห็นโครงสร้างข้อมูลไดเรกทอรีต้นไม้อย่างง่าย:
[
    1,
    0,
    {
        "progname": "ncdu",
        "progver": "1.12",
        "timestamp": 1562151680
    },
    [
        {
            "asize": 4096,
            "dev": 2065,
            "dsize": 4096,
            "ino": 9838037,
            "name": "/work/linux-kernel-module-cheat/submodules/linux"
        },
        {
            "asize": 1513,
            "dsize": 4096,
            "ino": 9856660,
            "name": "Kbuild"
        },
        [
            {
                "asize": 4096,
                "dsize": 4096,
                "ino": 10101519,
                "name": "net"
            },
            [
                {
                    "asize": 4096,
                    "dsize": 4096,
                    "ino": 11417591,
                    "name": "l2tp"
                },
                {
                    "asize": 48173,
                    "dsize": 49152,
                    "ino": 11418744,
                    "name": "l2tp_core.c"
                },
ทดสอบใน Ubuntu 18.04