====== GNU tar ====== ===== compress ===== tar caf /path/to/archive.tgz /path/to/folder/ ==== files in /etc ===== tar cvaT include.txt -f files_$(date +%Y-%m-%d).tlz ===== extract ===== tar xavf files_$(date +%Y-%m-%d).tlz -C / ===== transfer tar over ssh ===== For many small files, transferring them over [[ssh|ssh]] or even with [[rsync|rsync]] can take ages. You can use the following command to pack them into a stream and transfer them to your PC: ssh user@source.example.com tar cf - /path/to/remote/source | tar xvf - -C /path/to/local/target This will not create one connection for each file, but instead use a pipe through SSH to maximise I/O. If you want to transfer files from your local PC to the remote server, you can do this the other way round: tar cvf - /path/to/local/source | ssh user@target.example.com tar xvf - -C /path/to/remote/target ===== Show files in archive ===== tar taf files.tlz