How do I delete OR remove a single file from within a tar ball under Unix / Linux like operating systems?
You can use the following syntax to delete a file from a tar ball:
tar --delete -f example.tar filename
Example: Delete a File From a Tar Ball
First, create a tar ball for testing purpose using the tar command, enter:
# cd /tmp
# tar -cvf foo.tar /etc
To display a list of files, enter:
# tar -tvf foo.tar
OR
# tar -tvf foo.tar | grep 'etc/resolv.conf'
Sample outputs:
-rw-r--r-- root/root 30 2011-09-20 17:51 etc/resolv.conf.tmp
-rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf
-rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf.pppd-backup.ppp0
-rw-r--r-- root/root 51 2011-07-12 03:14 etc/resolv.conf~
To delete a file called 'etc/resolv.conf' from a tar ball called foo.tar, enter:
# tar --delete -f foo.tar etc/resolv.conf
Verify that file has been deleted from the tar ball:
# tar -tvf foo.tar | grep 'etc/resolv.conf'
Sample outputs:
-rw-r--r-- root/root 30 2011-09-20 17:51 etc/resolv.conf.tmp -rw-r--r-- root/root 185 2011-07-27 20:35 etc/resolv.conf.pppd-backup.ppp0 -rw-r--r-- root/root 51 2011-07-12 03:14 etc/resolv.conf~
To delete all etc/resolv.conf files, use the --wildcards opitons. It will enable pattern matching:
# tar --wildcards --delete -f foo.tar 'etc/resolv.conf*'
Use the following command to verify that files deleted from the tar ball:
# tar -tvf foo.tar | grep 'etc/resolv.conf'
Please note that you are not allowed to modify or delete files from compressed archives such as tar.gz or tar.bz2.
See also:
You should follow me on twitter here or grab rss feed to keep track of new changes.
Featured Articles:
- 30 Handy Bash Shell Aliases For Linux / Unix / Mac OS X
- Top 30 Nmap Command Examples For Sys/Network Admins
- 25 PHP Security Best Practices For Sys Admins
- 20 Linux System Monitoring Tools Every SysAdmin Should Know
- 20 Linux Server Hardening Security Tips
- Linux: 20 Iptables Examples For New SysAdmins
- Top 20 OpenSSH Server Best Security Practices
- Top 20 Nginx WebServer Best Security Practices
- 20 Examples: Make Sure Unix / Linux Configuration Files Are Free From Syntax Errors
- 15 Greatest Open Source Terminal Applications Of 2012

- My 10 UNIX Command Line Mistakes
- Top 10 Open Source Web-Based Project Management Software
- Top 5 Email Client For Linux, Mac OS X, and Windows Users
- The Novice Guide To Buying A Linux Laptop












{ 2 comments… read them below or add one }
I didn’t know this could be done. Unfortunately, it isn’t available in Mac OS X.
Of course this can be worked around with pipes. An example with an archive made with tar cJf Compress.tar.lzma