Q. I've couple of large tarballs such as www.tar and images.tar. Is it possible to extract a single file or a list of files from a large tarball such as images.tar instead of extracting the entire tarball? How do I extract specific files under Linux / UNIX operating systems?
A. GNU tar can be used to extract a single or more files from a tarball. To extract specific archive members, give their exact member names as arguments, as printed by -t option.
Extracting Specific Files
Extract a file called etc/default/sysstat from config.tar.gz tarball:
$ tar -ztvf config.tar.gz
$ tar -zxvf config.tar.gz etc/default/sysstat
$ tar -xvf {tarball.tar} {path/to/file}
Some people prefers following syntax:
tar --extract --file={tarball.tar} {file}
Extract a directory called css from cbz.tar:
$ tar --extract --file=cbz.tar css
Wildcard based extracting
You can also extract those files that match a specific globbing pattern (wildcards). For example, to extract from cbz.tar all files that begin with pic, no matter their directory prefix, you could type:
$ tar -xf cbz.tar --wildcards --no-anchored 'pic*'
To extract all php files, enter:
$ tar -xf cbz.tar --wildcards --no-anchored '*.php'
Where,
- -x: instructs tar to extract files.
- -f: specifies filename / tarball name.
- -v: Verbose (show progress while extracting files).
- -j : filter archive through bzip2, use to decompress .bz2 files.
- -z: filter archive through gzip, use to decompress .gz files.
- --wildcards: instructs tar to treat command line arguments as globbing patterns.
- --no-anchored: informs it that the patterns apply to member names after any / delimiter.
Further readings:
- GNU tar man page
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















{ 20 comments… read them below or add one }
excellent article..
I suggest getting coffee especially, Extracting files from large tar files.
Instead of using tar, it’s far better to use zip as methode. the reason for this is that zip knows where the files are.
We have some 4 Gb tar files and extracting a couple of single files with tar can take up to 25 minutes.
My 2 cents,
Ruben
good advice, I am waiting here for a file to be extracted from a 7GB tar file which is stored on a different computer. Its going to be a long night I think.
Excellent post. It’s really useful. Clear, simple and just as what we need.
excellent article for new bie
Great article!
Keep it coming!
Great help !!! thanks ..
Good one! Thanks a lot!
My problem is that i have downloaded a movie.
But my mvie is corrupt in da end
now i have downloaded 8th part of the movie.
but when i extract it
i gives me error
” YOU MUST HAVE THE PREVIOUS FILES TO EXTRACT “…
is dere any way i can resole this n can only extract on file.
I think you are talking about a multiple RAR archive downloaded from a torrent client. if it is, you have search the answer in other forum.
Маурсанк
is there a way to use regexp matching rather than wildcard matching with tar?
On Solaris 10 if you have a tar ball called myTarfile.tar and you want to extract only one directory called my_dir from that tar file then below command workes
tar -xvf myTarfile.tar -C my_dir
For better speed and low cpu usage use pbzip2, very good work with big archives on hosting systems.
Very useful.
Thanks!
thanks…good to know
Thank you very much. Timely help.
there is need to type command in proper way with proper
symbols and spaces tar -xvf {tarfile} {file} or {{path}/{file}}.
Example: tar -xvf file.tar myfold/file
same with tar.gz types just instead of -xvf , -xvzf should be
typed. or if with -C option then:
Example : tar -xvf file.tar -C /newfold myfold/file
i have a file in format gz type any bady can help me plz help me opening this file
Thanks for the post!
I have a 68gb tar.gz backup of our website, and I need to extract a single file from it..
$ tar -zxvf config.tar.gz home/path/to/folder/*
Is the above line correct?
Thanks a lot! It was exactly was I waiting for…