Используя 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
.
man clear
иman reset
подробно объясняют, что делает каждая команда.
clear
только очищает экран (, включая задний буфер прокрутки -, если возможно ), и для этого он выводит только терминальные последовательности на стандартный вывод. Другие настройки не затрагиваются, поэтому, например, если установлен цвет фона, clear
заполнит терминал этим цветом :
tput setab 2; clear; echo test
reset
полностью сбрасывает терминал :восстанавливает ожидаемые значения различных режимов, сбрасывает размер окна, сбрасывает задержки и расширения вкладок, выводит последовательность «сброса» или «инициализации» терминала и очищает выход. Он пробует различные входы и выходы, чтобы определить, как общаться с вашим терминалом, вместо слепого использования стандартного вывода; это гарантирует, что это повлияет на ваш терминал. Он также ждет, чтобы дать терминалу время для сброса. Таким образом
tput setab 2; reset; echo test
всегда приводит к очистке терминала с настройками по умолчанию (белый на черном в большинстве настроек по умолчанию ).
Если вы попробуете и то, и другое, вы увидите, что clear
выполняется мгновенно, тогда как reset
занимает чуть больше секунды (, потому что он явно засыпает на секунду, в надежде, что этого будет достаточно для любого терминала. используется для сброса ).
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
также немного медленный.