tar: Exclude directories/files

Tar is a essential commands for a Linux/Unix user, when it comes to archiving or copying files tar is my favorite.

Today’s shell-fu examples will show you how to create a tar file that excludes specified directories and files. You can achieve this two ways.

1. Using the –exclude flag

[[email protected] play]$ tar -cvzf ../tar.tgz --exclude="./somedir" ./  
./  
./files.tgz  
./list.txt  
./3.txt  
./2.txt  
./4.txt  
./1.txt

2. Using the -X flag followed by a file to read

[[email protected] play]$ cat list.txt   
1.txt  
2.txt  
3.txt  
[[email protected] play]$ tar -cvzf ../tar.tgz -X list.txt ./  
./  
./files.tgz  
./list.txt  
./somedir/  
./4.txt

The second option is very handy when you have a large list of files/directories to exclude.

About Benjamin

Benjamin is a Infrastructure and Software Engineer. On this blog he writes about Linux, Docker, Programming as well as other Systems topics.

Learn more about Linux

If you liked this article, check out Benjamin's book: Red Hat Enterprise Linux Troubleshooting Guide. Where you can learn a lot more about troubleshooting Linux systems. This book is filled with tips and techniques he has learned over years of managing mission critical systems.

Related