Điểm:1

Làm cách nào để `ncdu` hiển thị tóm tắt nhanh về việc sử dụng và thoát ổ đĩa?

lá cờ cn

tôi muốn làm cho ncdu Công cụ sử dụng đĩa NCurses phân tích đường dẫn, hiển thị đầu ra và thoát cho mục đích viết kịch bản. Thông thường, nó là một công cụ tương tác với con người, nhưng tôi muốn xóa phần tương tác với con người của nó.

nếu tôi chạy ncdu/khởi động tôi có thể thấy tôi /khởi động vách ngăn. Đây là những gì tôi thấy:

ncdu 1.14.1 ~ Sử dụng các phím mũi tên để điều hướng, nhấn ? để được giúp đỡ 
--- /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-chung
    9.7 MiB [ ] vmlinuz-5.13.0-28-chung
    9.7 MiB [ ] vmlinuz-5.13.0-27-chung
    9.7 MiB [ ] vmlinuz-5.13.0-25-chung
    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 [ ] /mất+tìm thấy
! 4.0 KiB [ ] /efi
@ 0,0 B [ ] initrd.img.old
@ 0,0 B [ ] initrd.img
@ 0,0 B [ ] vmlinuz.old
@ 0,0 B [ ] vmlinuz

Bây giờ, làm cách nào tôi có thể viết kịch bản này để hiển thị đầu ra này, lưu nó vào một biến để in sau và thoát?

Những gì tôi muốn là một cái gì đó như thế này:

đầu ra = "$ (ncdu /boot)"
tiếng vang "$ đầu ra"

Hiện tại nó bị treo ở dòng đầu tiên vì tôi nghĩ nó đang chờ sự tương tác của con người.

Câu hỏi tiếp theo: bash: làm cho du hiển thị đầu ra tương tự như ncdu

pLumo avatar
lá cờ in
Tôi đoán nếu `ncdu` không có tùy chọn nào cho nó, thì sẽ không thể thực hiện được. Nó có thể trả về chuỗi `json` với `ncdu -o- /boot`
Gabriel Staples avatar
lá cờ cn
@pLumo, đó là máy tính. Luôn luôn có một cách. Nó có thể chỉ cần một chút điên rồ. Ví dụ: yêu cầu chương trình chụp màn hình đầu ra, chạy OCR trên đó, di chuyển chuột như người, nhấn các phím trên bàn phím, v.v. Đồng ý, đó sẽ là một giải pháp rất không lý tưởng.
Gabriel Staples avatar
lá cờ cn
Tôi đã đăng một câu hỏi tiếp theo ở cuối câu hỏi.
David avatar
lá cờ cn
Câu hỏi này có liên quan gì đến phiên bản Ubuntu chưa được công bố mà bạn sử dụng?
Gabriel Staples avatar
lá cờ cn
@David, có lẽ không có gì. Tôi có nên chuyển câu hỏi sang [Unix & Linux](https://unix.stackexchange.com/) không? Nhân tiện, tôi đang dùng Ubuntu 20.04, nhưng tất cả những gì sẽ thay đổi là phiên bản `ncdu`, trong trường hợp nó ra mắt với các tùy chọn mới.
Điểm:2
lá cờ in

Với ncdu, Điều đó là không thể. Nó sử dụng ncurses thư viện để hiển thị kết quả với các tính năng tương tác và (không giống như ví dụ: hàng đầu với -b tùy chọn) nó không có tùy chọn trực tiếp để in những gì nó hiển thị.

Tuy nhiên, nó có thể in (hoặc lưu vào tệp) một json với tất cả thông tin bạn cần, có thể được phân tích cú pháp: ncdu -o file.json hoặc đến thiết bị xuất chuẩn: ncdu -o-.

tôi đã cung cấp một con trăn tập lệnh để phân tích cú pháp này thành một đầu ra tương tự tại UnixSE.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.