I would like to know whether it is possible to do the following via CLI.
I have a Folder F
which contains several sub folders and some files. I want to compress folder F
into .zip
file with the "password-only-extract".
I would like to know whether it is possible to do the following via CLI.
I have a Folder F
which contains several sub folders and some files. I want to compress folder F
into .zip
file with the "password-only-extract".
Go to the relevant folder using the cd
command like this:
cd /path/to/folder/
(If your folder F
is in your Home folder, you can just do cd ~
.)
Then, type in your terminal:
zip -er F.zip F
This will prompt you for a password. Give it, and that will create a password-protected zip file from that folder.
-e
enables encryption for your zip file. This is what makes it ask for the password.-r
makes the command recursive, meaning that all the files inside the folder will be added to the zip file.F.zip
is the name of the output file.F
is the folder you want to zip.There is an option called -P
that will allow you to pass the password in the command itself, but that is not good because there is always the threat of over-the-shoulder peeking. Also other users can see the password by using ps -ef
command if you use -P
switch. With that -P
switch, the command will look like this:
zip -P password -r F.zip F
man zip
for more information.-e means encrypt
comment, as well as the meaning of the -r
option. Thanks!
The encryption of zip files is weak and can be broken very easily. Instead use 7zip.
7z a -p Fdirectory.7z /path/to/F
a
command tells 7zip to add files.-p
You can either, leave it blank so it asks you interactively or type your password here.Fdirectory.7z
is the name of the to-be-created archive./path/to/F
is the path of your directory. It can be relative or full path.Is recommendable not typing the password in the shell since it's visible to anyone with access to the /proc
directory.
Then to decrypt and extract the files later:
7z x ../Fdirectory.7z
-p
only to 7z
and omit the password, it asks for it interactively - even a second time for confirmation.
-r
will instead add all files and subdirectories of the current working directory. The man page for 7z specifically warns against this and says that this flag should be avoided. linux.die.net/man/1/7z
Jan 5, 2017 at 22:04