Difference between revisions of "GNU/Linux File Compression with tar command"

From WikiOD
(Created page with "=== Parameters === {| ! Common Options ! - |- | -c --create | Create a new archive. |- | -x --extract | Extract files from an archive. |- | -t --list | List the contents of a...")
 
m (Text replacement - "{{note| This article is an extract of the original Stack Overflow Documentation created by contributors and released under [https://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0]. This website is not affiliated with Stack Overflow }}" to "{{note| Credit:Stack_Overflow_Documentation }}")
 
Line 148: Line 148:
 
</syntaxhighlight>
 
</syntaxhighlight>
  
{{note| This article is an extract of the original Stack Overflow Documentation created by contributors and released under [https://creativecommons.org/licenses/by-sa/3.0/ CC BY-SA 3.0]. This website is not affiliated with Stack Overflow }}[[Category:GNU/Linux]]
+
{{note| [[Credit:Stack_Overflow_Documentation]] }}[[Category:GNU/Linux]]

Latest revision as of 06:02, 27 May 2021

Parameters[edit | edit source]

Common Options -
-c --create Create a new archive.
-x --extract Extract files from an archive.
-t --list List the contents of an archive.
-f --file=ARCHIVE Use archive file or dir ARCHIVE.
-v --verbose Verbosely list files processed.
Compression Options -
-a --auto-compress Use archive suffix to determine the compression program.
-j --bzip2 Filter the archive through bzip2.
-J --xz --lzma Filter the archive through xz.
-z --gzip Filter the archive through gzip.

Compress a folder[edit | edit source]

This creates a simple archive of a folder :

tar -cf ./my-archive.tar ./my-folder/

Verbose output shows which files and directories are added to the archive, use the -v option:

tar -cvf ./my-archive.tar ./my-folder/

For archiving a folder compressed 'gzip', you have to use the -z option :

tar -czf ./my-archive.tar.gz ./my-folder/

You can instead compress the archive with 'bzip2', by using the -j option:

tar -cjf  ./my-archive.tar.bz2 ./my-folder/

Or compress with 'xz', by using the -J option:

tar -cJf  ./my-archive.tar.xz ./my-folder/

Extract a folder from an archive[edit | edit source]

There is an example for extract a folder from an archive in the current location :

tar -xf archive-name.tar

If you want to extract a folder from an archive to a specfic destination :

tar -xf archive-name.tar -C ./directory/destination

List archive content[edit | edit source]

There is an example of listing content :

tar -tvf archive.tar

The option -t is used for the listing. For listing the content of a tar.gz archive, you have to use the -z option anymore :

tar -tzvf archive.tar.gz

Compress and exclude one or multiple folder[edit | edit source]

If you want to extract a folder, but you want to exclude one or several folders during the extraction, you can use the --exclude option.

tar -cf archive.tar ./my-folder/ --exclude="my-folder/sub1" --exclude="my-folder/sub3"

With this folder tree :

my-folder/
   sub1/
   sub2/
   sub3/

The result will be :

./archive.tar
   my-folder/
      sub2/

Strip leading components[edit | edit source]

To strip any number of leading components, use the --strip-components option:

 --strip-components=NUMBER
   strip NUMBER leading components from file names on extraction

For example to strip the leading folder, use:

tar -xf --strip-components=1 archive-name.tar

List contents of an archive[edit | edit source]

List the contents of an archive file without extracting it:

tar -tf archive.tar.gz
Folder-In-Archive/
Folder-In-Archive/file1
Folder-In-Archive/Another-Folder/
Folder-In-Archive/Another-Folder/file2

Credit:Stack_Overflow_Documentation