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