Zip, включая скрытые файлы


88

В Linux я могу заархивировать все (кроме скрытых файлов) в текущем каталоге, выполнив:

zip 1.zip *

Но как мне включить скрытые файлы?

Ответы:


163

РЕДАКТИРОВАТЬ: правильный способzip -r 1.zip .

Команды, показанные в моем предыдущем ответе ниже, неверны, потому что они также включают родительский каталог.


Вы пробовали это:

zip yourfile.zip sourcedir/* .*

или ты в твоем случае

zip 1.zip * .[^.]*'

Он также должен включать все скрытые файлы.


1
это в значительной степени работает, но теперь я также получаю ../, которого я не думаю, что хочу.
Джон-Джонс

под ../ вы имеете в виду, что вы также сжимаете файлы из каталога выше?
Gunnar

1
по всей видимости. Когда я делаю zip 1.zip *. * (В папке с подпапкой a и скрытым файлом с именем '.hidden_file'), я получаю:
john-jones

добавление: a / (сохранено 0%) добавление: ../ (сохранено 0%) добавление: .hidden_file (сохранено 0%)
john-jones

12
или, как вы сказали, «zip -r 1.zip.», что также работает и проще.
Джон-Джонс


12

Просто чтобы убедиться, что это не забыто, поскольку это форум для разработчиков, и многие из нас используют git.

Самый простой способ получить на молнии только то, что вы хотите, - это использовать git archive -o filename.zip branch


1
Спасибо! Это было именно то, что мне нужно: гораздо меньше проблем, чем при звонке вручную zip.
Egon

Однако этот подход не включает .git/каталог
ScottMcC

@ScottMcC Если вам нужно что-то, что уже связано с git, вы бы просто клонировали это?
код

Было бы неплохо для передачи с scp
Уильям Руснак

5

Если вы хотите заархивировать все файлы (+ скрытые файлы), используйте: zip -r namefiles.zip. Знак "." все файлы в папке.

zip -r namefiles.zip "folder will zip"

1
Чем ваш ответ отличается от принятого ответа, в котором говорится: «Правильный способ zip -r 1.zip .»?
Саймон MᶜKenzie

@ SimonMᶜKenzie Он также объяснил, что такое "." средства. Я полагаю, это имело значение.
Чунг Лун Юэнь

8
Знак "." НЕ все файлы в папке. Это означает саму «текущую папку», которая в конечном итоге будет включать все ее содержимое.
Ижар Аазми

1

если у вас нет прав на сохранение zip-файла в текущем каталоге, вы можете перейти в каталог, в котором у вас есть права, и ввести

zip -r 1.zip /path/to/source/dir/.

Однако, если .../some_dirвы вводите

unzip 1.zip

тогда ваши файлы будут распакованы в .../some_dir/path/to/source/dir/

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.