Как мне получить доступ к файлам и каталогам в zip-файле, используя скрипт bash?

Я хочу иметь возможность переходить к файлам, расположенным в zip-файле из терминала. Я могу получить доступ к файлам и каталогам через графический интерфейс пользователя, но я не могу использовать cd, чтобы получить к ним доступ, как я могу с другими папками.

Я пробовал: cd path/to/.zipfile/and/the/things/inside и даже vi path/to/.zipfile/and/a/file/inside, но оба раза я получаю сообщение об ошибке: no such file or directory, хотя я точно знаю, что они существуют.

Я не уверен, как работает расстегивание молнии - если расстегнуть молнию освобождает все вещи внутри, или если вы можете расстегнуть молнию и вытащить определенные вещи, а затем довольно легко снова сжать все обратно. Я бы предпочел не раскрывать все внутри zip-файла, если это возможно.

Любая помощь будет оценена!

0
задан 11 July 2019 в 17:44

1 ответ

Можно использовать unzip команда с -l опция. man unzip говорит о -l опция:

перечислите архивные файлы (сокращенный формат). Имена, несжатые размеры файла и даты и время модификации указанных файлов печатаются наряду с общими количествами для всех указанных файлов.

Например, Вы находитесь в ~/sed каталог, в котором существует zip-файл под названием my.zip, необходимо сделать:

me@me-K52JT:~/sed$ unzip -l my.zip 

Вывод будет:

  Length      Date    Time    Name
---------  ---------- -----   ----
      752  2019-07-10 20:24   a.txt
      101  2019-07-10 18:33   b.txt
---------                     -------
      853                     2 files

Таким образом, Вы видите список файлов в Вашей zip, не извлекая его. Поведение по умолчанию unzip (без опций), должен извлечь в текущий каталог.

2
ответ дан 24 October 2019 в 00:10

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

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