linux : archiving & compression
Zaki Arrozi Arsyad
Posted on May 30, 2020
Archiving is the process of combining multiple files and directories (same or different sizes) into one file. Compression is the process of reducing the size of a file or directory.
Common type of compression:
-
Gzip
: with extension.tar.gz
. It has fastest compression time. -
Bzip
: with extension.tar.bz2
-
Xz
: with extension.tar.xz
. It has smallest size compression.
Common programs for archiving files:
tar
zip
gzip
bzip2
xz
We will talk about how we use tar
command. It has a lot of option that we can use:
-c
or--create
: create a new file archive-
-f
or--file
: filename
# create an archive from multiple files
tar -cf ARCHIVE.tar FILE1.txt FILE2.txt FILE3.txt
# create an archive from a directory
tar -cf ARCHIVE.tar DIRECTORY
# using long command
tar --create --file ARCHIVE.tar DIRECTORY
-
-X
or--exclude
: exclude a file
# exclude a file when creating an archive
tar -cf ARCHIVE.tar DIRECTORY --exclude=FILE.txt
-
-x
or--extract
: extract an archive
# extract an archive file
tar -xf ARCHIVE.tar
# using long command
tar --extract --file ARCHIVE.tar
-z
: zip or unzip usinggzip
create a compressed archive
# create an archive with gzip compression
tar -czf ARCHIVE.tar.gz DIRECTORY
# using gzip
gzip ARCHIVE.tar.gz DIRECTORY
extract a compressed archive
# extract an archive with gzip compression
tar -xzf ARCHIVE.tar.gz
# using gunzip --decompress
gunzip -d ARCHIVE.tar.gz
-j
: zip or unzip usingbzip2
create a compressed archive
# create an archive with bzip compression
tar -cjf ARCHIVE.tar.bz2 DIRECTORY
# using bzip2
bzip2 ARCHIVE.tar.bz2 DIRECTORY
extract a compressed archive
# extract an archive with bzip compression
tar -xjf ARCHIVE.tar.bz2
# using bunzip2 --decompress
bunzip2 -d ARCHIVE.tar.bz2
-J
: zip or unzip usingxz
create a compressed archive
# create an archive with xz compression
tar -cJf ARCHIVE.tar.xz DIRECTORY
# using xz
xz ARCHIVE.tar.xz DIRECTORY
extract a compressed archive
# extract an archive with xz compression
tar -xJf ARCHIVE.tar.xz
# using unxz --decompress
unxz -d ARCHIVE.tar.xz
zip
andunzip
create a compressed archive
# create using zip
zip ARCHIVE.zip DIRECTORY
extract a compressed archive
# extract using unzip
unzip ARCHIVE.zip
-
-t
or--list
: list the contents of an archive without extracting it
# display contents of an archive
tar -tf ARCHIVE.tar
# display contents using gzip
gzip -l ARCHIVE.tar.gz
# display contents using unzip
unzip -l ARCHIVE.zip
-
-r
or--append
: append files to the end of an archive
# append files to an archive
tar -rf ARCHIVE.tar FILE.txt
# using --append
tar --append -file ARCHIVE.tar FILE.txt
-
-u
or--update
: Append files which are newer than the corresponding copy in the archive
# append files to an archive
tar -uf ARCHIVE.tar FILE.txt
# using --append
tar --update -file ARCHIVE.tar FILE.txt
-
delete
: delete files inside an archive
# delete from the archive
tar --delete --file ARCHIVE.tar FILE.txt
-
-C
or--directory
: change the directory
# change location of unarchived files
tar -xf ARCHIVE.tar -C DIRECTORY
-v
or--verbose
: see the detailed output
We can combine this options with all others--wildcards
: matching on the filenames within an archive
# extract a particular type of file
tar -xf ARCHIVE.tar --wildcards "*.txt"
Posted on May 30, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.