Как сделать резервную копию и восстановить текущие цвета и форматирование дисплея?

Нет проблем — ddзаписывает в самый конец (No space left on device), если не исчерпан ввод, ограничен count=xили возникает другая ошибка (, например. плохие сектора, плохой кабель и т. д. ).

Если вашей целью является перезапись всего блочного устройства, проще использовать shred.

shred -v -n 1 /dev/deleteme     # pseudorandom data
shred -v -n 0 -z /dev/deleteme  # zeroes

Илиcryptsetupдля случайных данных с шагом проверки (нули шифруются в случайные данные; случайные данные расшифровываются до нуля ).

илиblkdiscardдля твердотельных накопителей.

Или wipefs, если речь идет о том, чтобы начать с нуля, а не о принудительном избавлении от всего, что вы когда-либо хранили на диске.

1
25.01.2020, 07:21
1 ответ

Для показанного примера (ANSI -совместимого )

tput op

Если вы использовали функцию 256 -цветов для изменения цветовой палитры, этот дополнительный шаг может помочь:

tput oc

Первое относится к цветным -парам (особенность приложений curses, для которых написаны эти терминальные описания :bash не участвует в этой деятельности, но может использовать результаты ). Последнее относится к исходным цветам (перед изменением палитры ).

В описании терминала они представлены строительными блоками -, например,xterm+256color:

xterm+256color|xterm 256-color feature,
        ccc,
        colors#0x100, pairs#0x10000,
        initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
              %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
        oc=\E]104\007,
        setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
              5;%p1%d%;m,
        setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
              ;%p1%d%;m,
        setb@, setf@,

иxterm-basic:

xterm-basic|modern xterm terminal emulator - common,
        OTbs, am, bce, km, mir, msgr, xenl, AX, XT,
        colors#8, cols#80, it#8, lines#24, pairs#64,
        acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
        bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[?25l,
        clear=\E[H\E[2J, cnorm=\E[?12l\E[?25h, cr=\r,
        csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
        cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
        cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
        cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
        dl=\E[%p1%dM, dl1=\E[M, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
        el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
        hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
        il=\E[%p1%dL, il1=\E[L, ind=\n, invis=\E[8m,
        is2=\E[!p\E[?3;4l\E[4l\E>, kmous=\E[M, meml=\El,
        memu=\Em, op=\E[39;49m, rc=\E8, rev=\E[7m, ri=\EM,
        rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
        rmm=\E[?1034l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
        rs2=\E[!p\E[?3;4l\E[4l\E>, sc=\E7, setab=\E[4%p1%dm,
        setaf=\E[3%p1%dm,
        setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
             %=%t3%e%p1%d%;m,
        setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
             %=%t3%e%p1%d%;m,
        sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
            %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
        sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
        smkx=\E[?1h\E=, smm=\E[?1034h, smso=\E[7m, smul=\E[4m,
        tbc=\E[3g, vpa=\E[%i%p1%dd, E3=\E[3J, use=ecma+italics,
        use=ansi+pp, use=xterm+kbs, use=xterm+alt+title,
        use=ansi+enq,

что довольно длинно. Функция цвета -может быть выделена в новый строительный блок -, например, xterm+color, но пока в этом нет необходимости. Если вы используете «совместимый» с xterm терминал, он имеет другое, более подходящее описание терминала, как указано в FAQ ncurses . Большинство из них в конечном счете происходят изklone+color.

Если вы хотите сохранить настройки цвета, можно написать скрипт для получения этой информации. Существует несколько примеров скриптов в xtermисточниках. Некоторые из них работают с «совместимыми» с xterm терминалами. Если бы я демонстрировал функцию запроса -для «совместимых с ANSI -» цветов,Я бы использовалdynamic.sh(ymmv:некоторые терминалы менее совместимы с xterm -, чем другие ).

0
01.02.2020, 11:42

Теги

Похожие вопросы