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.

Avatar
Benjamin Cane
Principal Engineer, Vice President

Benjamin Cane is Principal Engineer at American Express. He has more than 16 years of experience with roles in both systems and software engineering. He leverages both his systems and software skills to build end-to-end platforms. Platforms, purpose built for performance and resiliency. Benjamin is also the author of Red Hat Enterprise Linux - Troubleshooting Guide (2015, Packt Publishing), and he has published many popular articles on topics such as Linux, Docker, Python, Go and Performance Tuning. Thoughts and Opinions expressed in my articles are my own.

Next
Previous

Related