URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID15
Нить номер: 3913
[ Назад ]

Исходное сообщение
"маленький вопросик по tar"

Отправлено opex , 17-Окт-12 09:48 
архивирую директорию: tar -czf file.tar /usr/some_dir,

где ключ -z означает сжатие с помощью gzip,

в итоге получаю файл с расширением tar: file.tar,

Вопрос: значит ли что файл file.tar уже обжат с помощью gzip, т.е. gzip уже отработал?


Содержание

Сообщения в этом обсуждении
"маленький вопросик по tar"
Отправлено Andrey Mitrofanov , 17-Окт-12 09:54 
> архивирую директорию: tar -czf file.tar /usr/some_dir,
> где ключ -z означает сжатие с помощью gzip,
> в итоге получаю файл с расширением tar: file.tar,
> Вопрос: значит ли что файл file.tar уже обжат с помощью gzip, т.е.
> gzip уже отработал?

Да.

PS.
Если версия тар (все используемые версии~~) позволяют, пожно снова себя ломать:

- tar -czf file.tar /usr/some_dir
+ tar caf file.tar.gz /usr/some_dir

или даже-уже
+ tar caf file.tar.xz /usr/some_dir

PPS.
$ file file.tar.gz
file.tar.gz: gzip compressed data, from Unix, last modified: Wed Oct 17 09:52:36 2012
$ man file _


"маленький вопросик по tar"
Отправлено opex , 17-Окт-12 10:13 
> Если версия тар (все используемые версии~~) позволяют, пожно снова себя ломать:
> - tar -czf file.tar /usr/some_dir
> + tar caf file.tar.gz /usr/some_dir

Спасибо за ответ!

Что значит себя ломать?
> - tar -czf file.tar /usr/some_dir
> command - not found


"маленький вопросик по tar"
Отправлено a , 17-Окт-12 11:52 
>> Если версия тар (все используемые версии~~) позволяют, пожно снова себя ломать:
>> - tar -czf file.tar /usr/some_dir
>> + tar caf file.tar.gz /usr/some_dir
> Спасибо за ответ!
> Что значит себя ломать?
>> - tar -czf file.tar /usr/some_dir
>> command - not found

Доброго времени!
Вероятно, имелось ввиду, «изменить привычки», «использовать другую команду».
- tar -czf file.tar /usr/some_dir
+ tar caf file.tar.gz /usr/some_dir
Это не конечные команды, «-» - минус, «+» - плюс, соответственно означает «вместо команды tar -czf file.tar /usr/some_dir используйте  tar caf file.tar.gz /usr/some_dir».
Если Вам интересно можете ознакомиться с принципом работы diff
http://ru.wikipedia.org/wiki/Diff
http://en.wikipedia.org/wiki/Diff
$ echo "tar -czf file.tar /usr/some_dir" > text_before
$ echo "tar caf file.tar.gz /usr/some_dir" > text_after
$ diff -u text_before text_after
--- text_before    2012-10-17 00:00:00.383267985 +0600
+++ text_after    2012-10-17 00:00:00.711258826 +0600
@@ -1 +1 @@
-tar -czf file.tar /usr/some_dir
+tar caf file.tar.gz /usr/some_dir

Из man tar ясно, что параметр -a (a) означает следующее
-a, --auto-compress
           use archive suffix to determine the compression program
то есть
использовать суффикс архива для определения программы компрессии.
http://ru.wikipedia.org/wiki/Gzip
http://ru.wikipedia.org/wiki/XZ
Для Unix-like систем «стандартным способом» определения формата файла является использование «магического числа», а не «расширения имени файла»
http://ru.wikipedia.org/wiki/Магическое_число_(программирование)
http://ru.wikipedia.org/wiki/Расширение_имени_файла
http://en.wikipedia.org/wiki/File_%28command%29
http://ru.wikipedia.org/wiki/File_%28Unix%29

Не для всех программ необходимо использовать «расширение имени файла», хотя использование «расширение имени файла» визуально может быть весьма удобно.

Вы можете использовать следующую команду
$ tar -czf my_archive_compressed_with_gzip  /usr/some_dir
$ file my_archive_compressed_with_gzip
my_archive_compressed_with_gzip: gzip compressed data, from Unix, last modified: Wed Oct 17 00:00:00 2012

Всего наилучшего!