Score:1

วิธีทำให้ 'ncdu' แสดงผลสรุปการใช้ดิสก์และออกอย่างรวดเร็ว

ธง cn

ฉันต้องการที่จะทำให้ เอ็นดู เครื่องมือการใช้งานดิสก์ NCurses วิเคราะห์เส้นทาง แสดงผล และออก เพื่อวัตถุประสงค์ในการเขียนสคริปต์ โดยปกติแล้วมันเป็นเครื่องมือที่โต้ตอบกับมนุษย์ แต่ฉันต้องการลบส่วนที่โต้ตอบกับมนุษย์ออก

ถ้าฉันวิ่ง ncdu /บูต ฉันเห็นของฉัน /บูต พาร์ทิชัน นี่คือสิ่งที่ฉันเห็น:

ncdu 1.14.1 ~ ใช้ปุ่มลูกศรเพื่อนำทาง กด ? เพื่อขอความช่วยเหลือ 
--- /บูต --------------------------------------------- --------
  100.2 MiB [##########] initrd.img-5.13.0-28-generic         
  100.2 MiB [######### ] initrd.img-5.13.0-27-generic
   11.2 MiB [# ] vmlinuz-5.11.0-46-generic
    9.7 MiB [ ] vmlinuz-5.13.0-28-generic
    9.7 MiB [ ] vmlinuz-5.13.0-27-generic
    9.7 MiB [ ] vmlinuz-5.13.0-25-generic
    8.0 ไมล์ [ ] /grub
    5.7 MiB [ ] System.map-5.13.0-28-generic
    5.7 MiB [ ] System.map-5.13.0-27-generic
    5.7 MiB [ ] System.map-5.13.0-25-generic
    5.6 MiB [ ] System.map-5.11.0-46-ทั่วไป
  252.0 KiB [ ] config-5.13.0-28-ทั่วไป
  252.0 KiB [ ] config-5.13.0-27-ทั่วไป
  252.0 KiB [ ] config-5.13.0-25-ทั่วไป
  252.0 KiB [ ] config-5.11.0-46-ทั่วไป
  184.0 KiB [ ] memtest86+_multiboot.bin
  184.0 KiB [ ] memtest86+.elf
  180.0 KiB [ ] memtest86+.bin
! 16.0 KiB [ ] /สูญหาย+พบ
! 4.0 กิโลไบต์ [ ] /efi
@ 0.0 B [ ] initrd.img.old
@ 0.0 B [ ] initrd.img
@ 0.0 B [ ] vmlinuz.old
@ 0.0 B [ ] vmlinuz

ตอนนี้ ฉันจะสคริปต์นี้เพื่อแสดงผลลัพธ์นี้ เก็บไว้ในตัวแปรสำหรับการพิมพ์ในภายหลัง และออกได้อย่างไร

สิ่งที่ฉันต้องการคือสิ่งนี้:

เอาต์พุต = "$ (ncdu / บูต)"
เสียงสะท้อน "เอาต์พุต $"

ฉันคิดว่าตอนนี้มันค้างอยู่ที่บรรทัดแรกเพราะมันกำลังรอการโต้ตอบของมนุษย์

คำถามที่ตามมา: ทุบตี: ทำ ดู่ แสดงผลคล้ายกับ เอ็นดู

pLumo avatar
in flag
ฉันเดาว่าถ้า `ncdu` ไม่มีตัวเลือกสำหรับมัน มันจะเป็นไปไม่ได้ มันสามารถส่งคืนสตริง `json` ด้วย `ncdu -o- /boot`
Gabriel Staples avatar
cn flag
@pLumo ก็เป็นคอมพิวเตอร์ มี _always_ วิธี อาจต้องใช้ความบ้าคลั่งเล็กน้อย ตัวอย่าง: ให้โปรแกรมจับภาพหน้าจอเอาต์พุต รัน OCR บนโปรแกรม เลื่อนเมาส์เหมือนมนุษย์ กดแป้นคีย์บอร์ด ฯลฯ จริงอยู่ นั่นอาจเป็นวิธีแก้ปัญหาที่ไม่เหมาะเอามากๆ
Gabriel Staples avatar
cn flag
ฉันโพสต์คำถามติดตามที่ส่วนท้ายของคำถาม
David avatar
cn flag
คำถามนี้เกี่ยวข้องกับ Ubuntu รุ่นที่ไม่ระบุรุ่นที่คุณใช้อย่างไร
Gabriel Staples avatar
cn flag
@David อาจไม่มีอะไร ฉันควรย้ายคำถามไปที่ [Unix & Linux](https://unix.stackexchange.com/) ไหม ฉันใช้ Ubuntu 20.04 อยู่ แต่ทั้งหมดที่จะเปลี่ยนคือเวอร์ชันของ `ncdu` ในกรณีที่มีตัวเลือกใหม่ออกมา
Score:2
ธง in

กับ เอ็นดู, มันเป็นไปไม่ได้. มันใช้ คำสาป ไลบรารีเพื่อแสดงผลลัพธ์ด้วยคุณสมบัติแบบโต้ตอบและ (ไม่เหมือนกับเช่น สูงสุด กับ -ข ตัวเลือก) ไม่มีตัวเลือกโดยตรงในการพิมพ์สิ่งที่แสดง

อย่างไรก็ตาม มันสามารถพิมพ์ (หรือบันทึกเป็นไฟล์) เจสัน ด้วยข้อมูลทั้งหมดที่คุณต้องการ ซึ่งสามารถแยกวิเคราะห์ได้: ncdu -o ไฟล์. json หรือเพื่อ stdout: ncdu -o-.

ฉันให้ หลาม สคริปต์เพื่อแยกวิเคราะห์สิ่งนี้ไปยังเอาต์พุตที่คล้ายกันที่ ยูนิกซ์ เอสอี.

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา