gzip 2 файла в один файл
Я хочу сжать два или более файлов в один файл, я проверил это и это, но оба имеют такие файлы, как: n1.txt, n2.txt... но мои имена файлов совершенно разные, например: file.mp4, bar.txt, foo.jpeg и я хочу сжать их все и поместить вывод в один файл. Это тоже не помогло:
gzip -c file.mp4 > test.gz
gzip -c bar.txt >> test.gz
Должен ли я сначала смолить их?
И еще один вопрос: в tar-файлах мы можем смотреть внутренние файлы без распаковки, используя:
tar -tvf filename.tar
Есть ли способ сделать это с помощью gzip или bzip2?
2 ответа
В отличие от ZIP, RAR или 7-Zip, например, gzip можно сжать только один файл. Как вы уже заметили, есть tar программа, которая может сериализовать несколько файлов в один, что делает их готовыми к gzip, Традиционная философия Unix предпочитает использовать несколько более простых и более специализированных инструментов, чем один монолитный и сложный. В этом случае это приводит к использованию tar а также gzip последовательно, в результате чего .tar.gz (или же .tgz) файл.
Тем не менее, GNU tar включает в себя -z опция, которая сжимает результат традиционного tar с помощью gzip всего за одну команду.
.tar.gz файлы в основном создаются с использованием -czvf опции:
cсоздать новый архив- г
zip (альтернативы:jдля bzip2,Jдля хз) verbose (список обработанных файлов; необязательно)- выход
file (следующий аргумент указывает выходной файл)
В вашем примере вы можете использовать команду:
tar -czvf test.tar.gz file.mp4 bar.txt
Есть ли способ смотреть внутренние файлы без распаковки с помощью gzip или bzip2?
Да, ваша команда также работает для .tar.gz файл:
tar -tvf test.tar.gz
дальнейшее чтение
gzip это компрессор, а не архиватор, но он хорошо работает с tar
tar -cvzf file.tar.gz path-to-files-or-directories-to-compress
Увидеть man tar
Compression options
-a, --auto-compress
Use archive suffix to determine the compression program.
-I, --use-compress-program=COMMAND
Filter data through COMMAND. It must accept the -d option, for
decompression. The argument can contain command line options.
-j, --bzip2
Filter the archive through bzip2(1).
-J, --xz
Filter the archive through xz(1).
--lzip Filter the archive through lzip(1).
--lzma Filter the archive through lzma(1).
--lzop Filter the archive through lzop(1).
--no-auto-compress
Do not use archive suffix to determine the compression program.
-z, --gzip, --gunzip, --ungzip
Filter the archive through gzip(1).
-Z, --compress, --uncompress
Filter the archive through compress(1).
И да, вы можете смотреть сжатые архивы таким же образом.