В чем разница между командами «очистить» и «сбросить»?

Используя gnuchess-6.2.5.tar.gzв качестве примера, чтобы получить только имя корневого каталога:

[David@Fedora64 projects]$ tar -tf gnuchess-6.2.5.tar.gz | grep -e "\/$" | head -n1
gnuchess-6.2.5/
[David@Fedora64 projects]$ 

И если это ничего не делает, как в случае с файлом, структурированным как mediawiki-1.33.0.tar.gz, вы можете получить имя корневого каталога, просто взглянув на первую строку из файла tar:

[David@Fedora64 Downloads]$ tar -tf mediawiki-1.33.0.tar.gz | head -n1
mediawiki-1.33.0/.phan/config.php
[David@Fedora64 Downloads]$ 

...где корневой каталог виден как mediawiki-1.33.0.

-5
23.09.2021, 08:02
2 ответа

man clear иman resetподробно объясняют, что делает каждая команда.

clearтолько очищает экран (, включая задний буфер прокрутки -, если возможно ), и для этого он выводит только терминальные последовательности на стандартный вывод. Другие настройки не затрагиваются, поэтому, например, если установлен цвет фона, clearзаполнит терминал этим цветом :

.
tput setab 2; clear; echo test

resetполностью сбрасывает терминал :восстанавливает ожидаемые значения различных режимов, сбрасывает размер окна, сбрасывает задержки и расширения вкладок, выводит последовательность «сброса» или «инициализации» терминала и очищает выход. Он пробует различные входы и выходы, чтобы определить, как общаться с вашим терминалом, вместо слепого использования стандартного вывода; это гарантирует, что это повлияет на ваш терминал. Он также ждет, чтобы дать терминалу время для сброса. Таким образом

tput setab 2; reset; echo test

всегда приводит к очистке терминала с настройками по умолчанию (белый на черном в большинстве настроек по умолчанию ).

Если вы попробуете и то, и другое, вы увидите, что clearвыполняется мгновенно, тогда как resetзанимает чуть больше секунды (, потому что он явно засыпает на секунду, в надежде, что этого будет достаточно для любого терминала. используется для сброса ).

4
23.09.2021, 08:18
NAME
       clear - clear the terminal screen

SYNOPSIS
       clear [-Ttype] [-V] [-x]

DESCRIPTION
       clear  clears your screen if this is possible, including its scrollback
       buffer (if the extended “E3” capability is defined).   clear  looks  in
       the environment for the terminal type given by the environment variable
       TERM, and then in the terminfo database to determine how to  clear  the
       screen.

       clear  writes  to  the  standard output.  You can redirect the standard
       output to a file (which  prevents  clear  from  actually  clearing  the
       screen),  and  later  cat  the  file to the screen, clearing it at that
       point.
NAME
       tset, reset - terminal initialization

SYNOPSIS
       tset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]
       reset [-IQVcqrsw] [-] [-e ch] [-i ch] [-k ch] [-m mapping] [terminal]

   reset - reinitialization
       When invoked as reset, tset sets the terminal modes to “sane” values:

       •   sets cooked and echo modes,
       •   turns off cbreak and raw modes,
       •   turns on newline translation and
       •   resets any unset special characters to their default values

       before doing the terminal initialization described above.  Also, rather
       than  using  the  terminal initialization strings, it uses the terminal
       reset strings.

       The reset command is useful after a program dies leaving a terminal  in
       an abnormal state.

Первая очищает экран, включая буфер прокрутки. Кроме того, второй сбрасывает ввод и вывод. resetтакже немного медленный.

1
23.09.2021, 08:13

Теги

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