Очистка “старого” буфера scrollback

/var достойный выбор для нейтрального в отношении пользователя "основного" местоположения для многопользовательского доступа, в конечном счете у Вас есть веб-сайт с несколькими виртуальными хостами, работающими, который позволяет FTP или другие загрузки, т.е. если Вы - webhost или подобный.

/home возможно не оптимально, потому что плохие вещи могли произойти с другими пользовательскими учетными записями с доступом через оболочку, если легкомысленный или злонамеренный пользователь загружает на /home предел раздела (принимающий традиционную установку /var, /home, и т.д. находясь на отдельных разделах), это может влиять на другие учетные записи пользователей.

Конечно, я думаю /srv лучше для этого, но /varвокруг дольше в традиции UNIX.

1
21.08.2013, 01:53
2 ответа

Я нашел другой способ сделать это. В основном консольный экран имеет 510 строк буфера (в моем случае), таким образом, echoлуг 511 раз заполняет все те строки, очищающие старые данные.

Я использую echo внутри a for цикл

for i in {0..510}
 do
    echo
 done

На старых подсказках удара seq может использоваться.

for i in `seq 0 510`
 do
    echo
 done
0
27.01.2020, 23:39
  • 1
    Или используйте комбинацию :) –  Nitin Bansal 11.06.2014, 17:12

Вместо того, чтобы пропускать несколько строк, ядро ​​Linux с тех пор (по крайней мере, 2011 г.) поддерживает последовательность управления, которая очищает прокрутку:

printf '\033[3J'

Упоминается в изменениях ncurses для 16 июля 2011 г. :

    + add E3 extended capability to linux-basic (Miroslav Lichvar)
    + add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD

и объяснено в базе данных терминала :

# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
# It is the same as xterm's erase-saved-lines feature.
linux3.0|linux 3.0 kernels,
        E3=\E[3J, use=linux2.6,

Это возникло в контексте отчета об ошибке, где было отмечено, что функция, добавленная в xterm в июне 1999 года, будет полезна для повышения безопасности приложений на консоли Linux.

Впоследствии (в 2013 ) функция E3 была добавлена ​​в утилиту clear , так что (в зависимости от того, какое описание терминала используется) утилита очистит прокрутку. Комментарий к Ctrl + l относится к ярлыку bash, который может жестко закодировать ту же escape-последовательность (поскольку база данных терминала не связывает clear (или ed )) и E3 вместе).

Дополнительная литература:

2
27.01.2020, 23:39

Теги

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