How can I compress two folders into archive file (zip, gzip or something like that) with a password on the files?

For example I have folder structure:

  • rootDir
    • dir1
    • dir2
    • dir3
    • dir4

I need bash command to add dir2 and dir4 to same archive file compressed with a password on it.

zip -er filename.zip dir2 dir4

The zip command is widely available; if not on your system, look for a zip package or similar.

The -e flag specifies encryption is to be used on the zipfile; you'll be prompted for a password.

The -r flag specifies recursion; all the files in dir2 and dir4 will be included.

The resulting zipped, encrypted file containing dir2 and dir4 will be placed at filename.zip.

  • This is good, how do I do it for all folders , files and subfolders (recursive) ? And another question, how do I provide password without prompt ? – Perica Zivkovic Sep 10 '09 at 18:01
  • 2
    so the answer I was looking for is: zip -rP "password" filename.zip dir2 dir4 – Perica Zivkovic Sep 10 '09 at 18:42
  • 1
    Note however, that zip's built-in encryption is fairly insecure: math.ucr.edu/~mike/zipattacks.pdf . If you want more than protection from casual peeping, use a real encryption software (such as GnuPG or TrueCrypt). – sleske Jan 4 '10 at 11:25

Compress with your favorite unix command (mine is 'tar cfj' for a BZip2 tarball).
Then encrypt with bcrypt.

Bcrypt is a cross platform file encryption utility.

But, they say bcrypt is no longer safe (! ;-)),
Well, change to TrueCrypt (it too is cross platform -- easycrypt).

Tip: Encryption after compression makes life much more interesting.

  • what do you mean by "more interesting"? – Tebe Jul 25 '15 at 14:16
  • 1
    This approach is interesting, as it will hide the file list in the compressed file, unlike zipped file. – Technico.top Oct 19 '16 at 4:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.