Разница между файлами .bz2 и .tar.bz2

Итак, вы хотите создать приложение TUI(с текстовым -пользовательским интерфейсом )? Как сказано на странице Википедии TUI :

In Unix-like operating systems, TUIs are often constructed using the terminal control library curses, or ncurses, a mostly compatible library.

Простым способом взаимодействия с ncurses является инструмент командной строки tput. И с этим мы можем ответить на ваш конкретный вопрос о «полноэкранном режиме -». Обычно это делается путем активации вторичного экрана (, который должен быть доступен в любом приличном эмуляторе терминала ):

.

tput smcup

Текущий экран будет скрыт (, например. вы не сможете прокрутить вверх и увидеть предыдущий вывод ), а на новом, «свежем» экране вы отобразите свое приложение. Когда это выйдет, вернитесь к основному экрану с:

tput rmcup

...и все вернется на круги своя.

Вот пример других tputвозможностей

tput cup 23 4  # move the cursor to row 23, column 4 of your terminal

tput ed  # clear to end of screen

tput setaf 2  # set foreground color to bright green

tput cubl  # move cursor left one space

tput rev  # turn on reverse video mode

tput sc  # save the cursor position
tput rc  # restore the cursor position

См. man tputи man 5 terminfo. Для последнего вам нужно прокрутить вниз, в частности, до раздела Предопределенные возможности .

Кроме того, в Интернете можно найти множество полезных ресурсов, таких какhttp://linuxcommand.org/lc3_adv_tput.php

(Обратите внимание, что ничто из вышеперечисленного не связано с тем, используете ли вы tmuxи т.п.)

1
16.09.2019, 01:13
3 ответа

Пропустите файл через bzcatи передайте результат вfile:

$ bzcat somefile.bz2 | file -
/dev/stdin: data               # or whatever; this is not a.tar.bz2

$ bzcat otherfile.bz2 | file -
/dev/stdin: POSIX tar archive  # this *is* a.tar.bz2
3
27.01.2020, 23:17

fileвсе равно :он смотрит на формат , а не на имя файла .

Содержимое в формате tar -можно просмотреть, только распаковав файл.

1
27.01.2020, 23:17

Если у вас есть версия file, которая поддерживает параметры -zили -Z, вы можете использовать любой из них, чтобы попытаться заглянуть внутрь сжатых файлов, чтобы узнать, что они из себя представляют.

Ни один из параметров не является частью спецификации POSIX для файла .

Тем не менее, опция -zбыла в команде BSD fileв течение очень долгого времени, по крайней мере, с начала 2000-х годов (журнал изменений в моей системе ничего не показывает до 2003 года ). -Zбыл добавлен в июне 2015 года. BSD fileиспользуется во многих современных системах, включая большинство (all? )дистрибутивы Linux, *BSD и Mac OSX.

Изman file:

-z, --uncompress

Try to look inside compressed files.

-Z, --uncompress-noreport

Try to look inside compressed files, but report information about the contents only not the compression.

Например:

# make a.tar.bz2 file
tar cfj test.tar.bz2 *

# make a.bz2 file
echo junk | bzip2 -c > junk.bz2

# try to fool `file`
cp test.tar.bz2 test.bz2
cp junk.bz2 junk.tar.bz2

echo "file -z:"
file -z *.bz2

echo
echo

echo "file -Z:"
file -Z *.bz2

Выход:

file -z:
junk.bz2:     ASCII text (bzip2 compressed data, block size = 900k)
junk.tar.bz2: ASCII text (bzip2 compressed data, block size = 900k)
test.bz2:     POSIX tar archive (GNU) (bzip2 compressed data, block size = 900k)
test.tar.bz2: POSIX tar archive (GNU) (bzip2 compressed data, block size = 900k)


file -Z:
junk.bz2:     ASCII text
junk.tar.bz2: ASCII text
test.bz2:     POSIX tar archive (GNU)
test.tar.bz2: POSIX tar archive (GNU)
1
27.01.2020, 23:17

Теги

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