Этот поток является расширением этого потока, где прерывание (CTRL-c) останавливает передачу данных на меньшее.
Я хотел бы создать аналогичное преобразование данных мониторинга системы, как показано в fdupes
.
Я думаю, что это может быть достигнуто с помощью GNU screen
.
Инструменты tee
и buffers
могут не понадобиться для этого, поэтому пропустите эти два раздела, если хотите.
Преобразование шестнадцатеричных и тройников [пропустите, если вы знаете]
Для генерации данных примера вы можете использовать любой гексагон-демпер, который вы хотите для задачи, например hexdump -v
, od -v -t x1
и xxd -ps
.
Вы можете создать двоичные тестовые данные 1GB следующей командой, обсужденной здесь
dd if=/dev/urandom of=sample.bin bs=64M count=16
Позвольте упростить старую ситуацию без цикла while. Предположим, у вас очень большой файл. Вы считаете, что STIN меньше
hexdump -v sample.bin | less -s -M +Gg
Я обсуждаю здесь, как сгенерировать вам большие тестовые файлы.
С большим файлом вы получаете пустой экран, когда вы ничего не нажимаете, поскольку конверсия идет полным ходом.
Когда вы нажимаете CTRL-c
, вы получаете данные, которые уже были преобразованы в меньшую сторону в нижней части экрана.
Это не все данные.
Прерывает ли прерывание CTRL-c
передачу данных из файла на меньшее?
Возможности для исправления этого
- обновить менее как-то, если преобразование все еще продолжается.
- привязать
tee
команду здесь как-то
Есть ли способ избежать прерывания преобразования данных, но иметь возможность смотреть поток.
Я думаю, что команда tee
может быть одной возможностью.
Буферы [я думаю, не нужны]
stdbuf -i0 -o0 -e0 xxd -ps sample.bin | stdbuf -i0 -o0 -e0 less -s -M +G
который не решает проблему.
Я должен обновить вывод меньше, когда использую флаг R
.
Только прерывание покажет что-то в less
.
Мне не удалось заставить команду unbuffer
работать так же, как stdbuf
, обсуждая ее здесь.
Экран
Я думаю, что лучший способ взглянуть на преобразование данных - это запустить все внутри screen
.
Логика: введите stdout в less
внутри screen
.
Прокрутите вывод в screen
.
Я выполнил такую задачу, перед которой можно найти в моей статье о screen
.
Я должен снова подумать об этом.
Я хотел бы создать аналогичную удобство использования, как в команде fdupes
.
Я думаю, что tee
и buffer
могут даже не понадобиться.
Как вы можете создать экран о окне мониторинга, когда меньше просматривает параллельное преобразование данных?