Какую команду мне нужно распаковать / извлечь файл .tar.gz?

Я получил огромный файл .tar.gz от клиента, который содержит около 800 мб файлов изображений (при несжатом виде). ​​ftp-сервер нашей хостинговой компании работает очень медленно, поэтому извлечение всех файлов локально и отправка их через ftp isn ' практический. Я смог загрузить файл .tar.gz на наш хостинг-сайт, но когда я схожу в свой каталог и пытаюсь использовать unzip, он дает мне эту ошибку:

[esthers@clients locations]$ unzip community_images.tar.gz
Archive:  community_images.tar.gz
  End-of-central-directory signature not found.  Either this file is not a zipfile, or it constitutes one disk of a multi-part archive.  In the latter case the central directory and zipfile comment will be found on the last disk(s) of this archive.
note:  community_images.tar.gz may be a plain executable, not an archive
unzip:  cannot find zipfile directory in one of community_images.tar.gz or community_images.tar.gz.zip, and cannot find community_images.tar.gz.ZIP, period.

Какую команду мне нужно использовать для извлечения всех файлов в файле .tar.gz?

1
задан 1 January 2014 в 05:46

3 ответа

Если вы хотите, чтобы файлы были извлечены в конкретный пункт назначения, вы можете добавить -C /destination/path/ Убедитесь, что вы вначале создаете каталог: ~ / Pictures / Community

Пример: [!d3 ]

mkdir ~/Pictures/Community
tar xf community_images.tar.gz -C /home/emmys/Pictures/Community/

Вы можете легко запомнить его, если вы считаете, что -C /destination/path/ указывать на e X тракт F ile

X Помните, что вы можете искать внутри man-страниц с ? + термином для поиска, а затем n и N переходить к следующему или предыдущему экземпляру термина, который вы ищете. [!d10 ]

115
ответ дан 25 May 2018 в 23:05
  • 1
    не забудьте C для " c hange directory"! Кроме того, я чувствую, что лучше не смешивать варианты дефиса и без дефиса (особенно запутывая при использовании ps). – djeikyb 6 November 2014 в 03:45
  • 2
    Почему это не так, как любая другая команда? – Jan M. 1 March 2017 в 17:57
  • 3
    Мне нравится ваш намек на «дегустацию», – Nam G VU 13 November 2017 в 11:11

В какой-то момент tar была обновлена ​​до автоматического распаковки. Все, что вам нужно сейчас:

tar xf community_images.tar.gz

То же объяснение применяется:

f: это должен быть последний флаг команды, а файл tar должен быть сразу после , Он сообщает tar имя и путь сжатого файла. x: извлеките файлы.

Обратите внимание на отсутствие дефиса для флажков команд. Это связано с тем, что большинство версий tar позволяют использовать опции стиля gnu и bsd (упрощенно, gnu требует дефиса, bsd - нет).

83
ответ дан 25 May 2018 в 23:05
  • 1
    Есть ли какая-либо документация по этому поводу? Я искал все ссылки для этого, я никогда не использую флаг -z, и все становится gzipped, поэтому я был обеспокоен, если бы не сжимал свои tarballs вообще, ха-ха. Благодарю. – neurosnap 10 July 2015 в 07:14
  • 2
    @neurosnap см. руководство gnu и руководства bsd – djeikyb 12 July 2015 в 23:49
  • 3
    Вероятно, было бы лучше отредактировать исходный ответ. – Seth♦ 9 June 2016 в 21:04
  • 4
    @Seth он чувствует / чувствует себя достаточно отчетливо, чтобы быть отдельным ответом, особенно в контексте разрушительного редактирования, спровоцировавшего его. Я переосмыслию его после работы, хотя, возможно, более простой способ слияния, чем я изначально думал. – djeikyb 9 June 2016 в 21:23
  • 5
    @EnricoMariaDeAngelis bsd tar с по крайней мере 2004 года и gnu tar, поскольку по крайней мере 2010 год поддерживал автоматический выбор декомпрессора. возможно, нет "недавних" (этот век? девяностые +?) версия tar требует ручного выбора декомпрессора. – djeikyb 2 June 2017 в 07:39

Если вы не можете извлечь файл .tar.gz, используя

tar -xvzf fileName.tar.gz

Попробуйте извлечь с помощью

tar xf fileName.tar.gz
2
ответ дан 25 May 2018 в 23:05
  • 1
    если это gzipped tar-файл, первая команда всегда будет работать. если он не работает, у вас нет gzipped tar-файла. последняя команда - отличная рекомендация для людей, которым все равно, какой алгоритм сжатия использовался в их файле tar. – djeikyb 9 March 2017 в 06:37

Другие вопросы по тегам:

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