Puncte:1

Cum se face ca `ncdu` să arate un rezumat rapid al utilizării discului și al ieșirii?

drapel cn

Aș dori să fac ncdu Instrumentul NCurses Disk Usage analizează o cale, afișează ieșirea și iese, în scopuri de scripting. În mod normal, este un instrument interactiv uman, dar aș dori să elimin partea interactivă umană a acestuia.

Dacă fug ncdu /boot Pot să-mi văd /boot compartimentare. Iată ce văd:

ncdu 1.14.1 ~ Folosiți tastele săgeți pentru a naviga, apăsați ? pentru ajutor 
--- /boot --------------------------------------------- --------
  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 MiB [ ] /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-generic
  252,0 KiB [ ] config-5.13.0-28-generic
  252,0 KiB [ ] config-5.13.0-27-generic
  252.0 KiB [ ] config-5.13.0-25-generic
  252,0 KiB [ ] config-5.11.0-46-generic
  184,0 KiB [ ] memtest86+_multiboot.bin
  184,0 KiB [ ] memtest86+.elf
  180.0 KiB [ ] memtest86+.bin
! 16,0 KiB [ ] /pierdut+găsit
! 4,0 KiB [ ] /efi
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz

Acum, cum pot să scriu acest lucru pentru a afișa această ieșire, să o stochez într-o variabilă pentru imprimare ulterioară și să ies?

Ce mi-ar placea este ceva de genul asta:

output="$(ncdu /boot)"
echo "$ieșire"

În prezent, se blochează la prima linie, deoarece cred că așteaptă interacțiunea umană.

Întrebare următoare: bash: face du afișează rezultate similare cu ncdu

pLumo avatar
drapel in
Bănuiesc că dacă `ncdu` nu are opțiune pentru asta, nu va fi posibil. Poate returna șirul `json` cu `ncdu -o- /boot`
Gabriel Staples avatar
drapel cn
@pLumo, ei bine, este un computer. Există _întotdeauna_ o cale. Poate necesita doar un pic de nebunie. De exemplu: faceți screenshot-ului programului de ieșire, rulați OCR pe el, mișcați mouse-ul ca un om, apăsați tastele de la tastatură etc. Desigur, aceasta ar fi o soluție foarte neideală.
Gabriel Staples avatar
drapel cn
Am postat o întrebare ulterioară la sfârșitul întrebării.
David avatar
drapel cn
Ce legătură are această întrebare cu versiunea nedeclarată de Ubuntu pe care o utilizați?
Gabriel Staples avatar
drapel cn
@David, probabil nimic. Ar trebui să mut întrebarea în [Unix și Linux](https://unix.stackexchange.com/)? Apropo, sunt pe Ubuntu 20.04, dar tot ce s-ar schimba este versiunea lui `ncdu`, în cazul în care a ieșit cu noi opțiuni.
Puncte:2
drapel in

Cu ncdu, nu este posibil. Folosește nbleste bibliotecă pentru a afișa rezultatele cu funcții interactive și (spre deosebire de ex. top cu -b opțiune) nu are nicio opțiune directă de a imprima ceea ce afișează.

Cu toate acestea, poate imprima (sau salva în fișier) a json cu toate informațiile de care aveți nevoie, care pot fi analizate: ncdu -o file.json sau la stdout: ncdu -o-.

am furnizat un piton script pentru a analiza acest lucru la o ieșire similară peste la Unix SE.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.