Мне нужно перечислить содержимое довольно большого (gzipped) архива tar (около 37 ГБ) tar -ztvf archive
берет навсегда. Есть ли способ быстро получить этот список? Возможно, только перечисляя содержимое до определенной глубины каталога?
Мог ли я что-то сделать во время упаковки архива, чтобы ускорить вывод содержимого?
Ответы:
Итак, у вас есть набор файлов, которые вы сделали архив, используя «Деготь» , который создаст один выходной файл. Затем вы использовали "GZIP" сжать это ".Tar" файл в ".Zip" ,
Если это так, то процесс получения списка всех файлов в ".Tar" файл, требует, чтобы ".Tar" файл должен быть полностью с расстегнутой молнией от ".Zip" файл, перед содержанием ".Tar" файл может быть в списке.
Это всегда займет больше времени, чем получение списка файлов, которые хранятся «напрямую» в ".Zip" файл. Если файл большой, это время может быть значительным.
Если вы хотите сократить время, необходимое для составления списка файлов в сжатом архивном файле, то:
расстегнуть молнию (распаковать) ".Tar" файл из ".Zip" файл и разверните получившийся ".Tar" файл в базовый набор файлов
создать ".Zip" файл прямо из набора файлов.
Таким образом, файлы в файле архива могут быть перечислены без распаковки архива.
источник
tar -zcvf
, да. Тогда я не собираюсь сейчас конвертировать архив, так как он мне не понадобится после распаковки. Мне просто нужно было определить, какой из нескольких архивов содержал файл, который я искал.-z
значитungzip
или жеgzip
файл tar. Тар себе в пачки без сжатия. Когда вы gzip ничего не можете сделать, метаданные находятся в tar-файле, который сжимается,Это все, что видит gzip. Тебе нужно убить оружие, чтобы вернуться к смоле. Unix способ обойти это просто генерировать манифест,
find . > MANIFEST
и отправить с этим. Однако есть и другие варианты, такие как использование.tar.gz
просто отправьте другой формат, который не сжимает метаданные. Я думаю7zip
соответствует этому описанию.В последнее время люди стали использовать
sha1sum
или жеmd5sum
это лучший план, чем обычный манифест.Это также можно проверить довольно легко, но это не нужно, потому что и то и другое tar и gzip предоставляют контрольные суммы внутри,
источник