Я хотел бы знать, возможно ли сделать следующее через CLI.
У меня есть папка, F
которая содержит несколько подпапок и несколько файлов. Я хочу сжать папку F
в .zip
файл с «извлечением пароля только».
command-line
compression
zip
неудачник
источник
источник
Ответы:
Перейдите в соответствующую папку, используя следующую
cd
команду:(Если ваша папка
F
находится в вашей домашней папке, вы можете просто сделатьcd ~
.)Затем введите свой терминал:
Это попросит вас ввести пароль. Дайте это, и это создаст защищенный паролем zip-файл из этой папки.
-e
включает шифрование для вашего почтового файла. Это то, что заставляет его спрашивать пароль.-r
делает команду рекурсивной, то есть все файлы внутри папки будут добавлены в zip-файл.F.zip
это имя выходного файла.F
это папка, которую вы хотите сжать.Существует опция
-P
, которая позволяет вам передавать пароль в самой команде, но это нехорошо, потому что всегда есть угроза заглянуть через плечо . Также другие пользователи могут видеть пароль с помощьюps -ef
команды, если вы используете-P
переключатель. С этим-P
переключателем команда будет выглядеть так:man zip
для получения дополнительной информации.источник
-e means encrypt
комментарий, а также значение-r
параметра. Спасибо!Шифрование zip-файлов слабое и может быть очень легко взломано. Вместо этого используйте 7zip.
a
Команда говорит 7zip, чтобы добавить файлы.-p
Вы можете либо оставить это поле пустым, чтобы он запрашивал вас в интерактивном режиме, либо ввести свой пароль здесь.Fdirectory.7z
имя создаваемого архива./path/to/F
путь вашего каталога. Это может быть относительный или полный путь.Рекомендуется не вводить пароль в оболочке, поскольку он виден всем, у кого есть доступ к
/proc
каталогу.источник
-p
только7z
пароль и пропускаете его, он запрашивает его в интерактивном режиме - даже второй раз для подтверждения.-r
вместо этого добавит все файлы и подкаталоги текущего рабочего каталога . Страница man для 7z специально предупреждает об этом и говорит, что этого флага следует избегать. linux.die.net/man/1/7z