How to gzip all files in all sub-directories into one compressed file in bash
tar -zcvf compressFileName.tar.gz folderToCompress
everything in folderToCompress will go to compressFileName
Edit: After review and comments I realized that people may get confused with compressFileName without an extension. If you want you can use .tar.gz extension(as suggested) with the compressFileName
there are lots of compression methods that work recursively command line and its good to know who the end audience is.
i.e. if it is to be sent to someone running windows then zip would probably be best:
zip -r file.zip folder_to_zipunzip filenname.zip
for other linux users or your self tar is great
tar -cvzf filename.tar.gz foldertar -cvjf filename.tar.bz2 folder # even more compression#change the -c to -x to above to extract
One must be careful with tar and how things are tarred up/extracted, for example if I run
cd ~tar -cvzf passwd.tar.gz /etc/passwdtar: Removing leading `/' from member names/etc/passwdpwd
/home/myusername
tar -xvzf passwd.tar.gz
this will create/home/myusername/etc/passwd
unsure if all versions of tar do this:
Removing leading `/' from member names