Gostaria de fazer com que a ncdu
ferramenta NCurses Disk Usage analisasse um caminho, exibisse a saída e saísse para fins de script. Normalmente é uma ferramenta interativa com humanos, mas gostaria de remover a parte interativa com humanos.
Se eu executar, ncdu /boot
posso ver minha /boot
partição. Aqui está o que vejo:
ncdu 1.14.1 ~ Use the arrow keys to navigate, press ? for help
--- /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 [ ] /lost+found
! 4.0 KiB [ ] /efi
@ 0.0 B [ ] initrd.img.old
@ 0.0 B [ ] initrd.img
@ 0.0 B [ ] vmlinuz.old
@ 0.0 B [ ] vmlinuz
Agora, como posso criar um script para exibir essa saída, armazená-la em uma variável para impressão posterior e sair?
O que eu gostaria é algo assim:
output="$(ncdu /boot)"
echo "$output"
Atualmente ele trava na primeira linha porque está aguardando interação humana, eu acho.
Pergunta complementar:bash: torna du
a saída do show semelhante ancdu
Responder1
Com ncdu
, não é possível. Ele usa ncurses
uma biblioteca para exibir os resultados com recursos interativos e (ao contrário, por exemplo, top
da -b
opção) não possui opção direta para imprimir o que exibe.
No entanto, ele pode imprimir (ou salvar em arquivo) um arquivo json
com todas as informações necessárias, que podem ser analisadas: ncdu -o file.json
ou em stdout: ncdu -o-
.
Forneci um python
script para analisar isso em uma saída semelhante emUnix SE.
Responder2
oncdu
página da Internetlista projetos semelhantes na parte inferior, um deles sendotdu"uso superior do disco" que sai de forma não interativa com um resumo de texto (incluindo os maiores arquivos aninhados). Outrogdupossui interface ncurses e saída não interativa integradas.