I am using this command on a 5GB archive
tar -zxvf archive.tar.gz /folder/in/archive
is this the correct way to do this? It seems to be taking forever with no command line output...
I am using this command on a 5GB archive
tar -zxvf archive.tar.gz /folder/in/archive
is this the correct way to do this? It seems to be taking forever with no command line output...
tar
stores relative paths by default. GNU tar even says so if you try to store an absolute path:
tar -cf foo.tar /home/foo
tar: Removing leading `/' from member names
If you need to extract a particular folder, have a look at what's in the tar file:
tar -tvf foo.tar
And note the exact filename. In the case of my foo.tar
file, I could extract /home/foo/bar
by saying:
tar -xvf foo.tar home/foo/bar # Note: no leading slash
So no, the way you posted isn't (necessarily) the correct way to do it. You have to leave out the leading slash. If you want to simulate absolute paths, do cd /
first and make sure you're the superuser. Also, this does the same:
tar -C / -xvf foo.tar home/foo/bar # -C is the ‘change directory’ option
There are very obvious, good reasons why tar
converts paths to relative ones. One is the ability to restore an archive in places other than its original source. The other is security. You could extract an archive, expect its files to appear in your current working directory, and instead overwrite system files (or your own work) elsewhere by mistake.
Note: if you use the -P
option, tar
will archive absolute paths. So it always pays to check the contents of big archives before extracting.
./foldername/
instead of foldername
, I guess that it was because when I created the tar I created it with tar -cvf santi.tar ./*
and when I "listed" the tar this is what it said drwxr-xr-x santi/santi 0 2016-04-11 09:42 ./foldername/
– santiago arizti
Nov 30 '16 at 03:32
-xvf
to -xzvf
(adding the -z
option) and obviously foo.tar
to foo.tar.gz
or whatever your archive is named. The same holds for -j
(bz2) and on some recent versions, -J
(xz). Otherwise, a pipeline like zcat foo.tar.gz | tar -xvf - …
also works.
– Alexios
Aug 05 '17 at 06:40
v
in all the examples. E.g., tar -tf foo.tar
and tar -xf foo.tar ...
.
– Bo R
Mar 14 '19 at 12:34
-C destination_directory
before the -xvf archive.tar source_directory
, otherwise the destination directory will be ignored, and the archive will be extracted in current location.
– Noam Manos
Apr 05 '23 at 19:46
tar
is withcat /proc/$(pidof tar)/fdinfo/0
(adapt the command if you have more than onetar
process running). – Gilles 'SO- stop being evil' Mar 29 '12 at 22:35folder/folder2/
won't work. – Marki555 Mar 20 '17 at 09:49