Linux命令tar -zxvf,[Linux基础][转]tar命令的使用及例子

Creating a tar gzipped archive using option cvzf

The above tar cvf option, does not provide any compression. To use

a gzip compression on the tar archive, use the z option as shown

below.

$ tar cvzf archive_name.tar.gz dirname/

z – filter the archive

through gzip

Note: .tgz

is same as .tar.gz

Note: I like

to keep the ‘cvf’ (or tvf, or xvf) option unchanged for all archive

creation (or view, or extract) and add additional option at the

end, which is easier to remember. i.e cvf for archive creation,

cvfz for compressed gzip archive creation, cvfj for compressed

bzip2 archive creation etc., For this method to work properly,

don’t give – in front of the options.

Creating a bzipped tar

archive using option cvjf

Create a bzip2

tar archive as shown below:

$ tar cvfj archive_name.tar.bz2 dirname/

j – filter the archive

through bzip2

gzip vs bzip2: bzip2 takes

more time to compress and decompress than gzip. bzip2 archival size

is less than gzip.

Note: .tbz

and .tb2 is same as .tar.bz2

2. Extracting (untar) an archive using tar command

Extract a *.tar file using

option xvf

Extract a tar

file using option x as shown below:

$ tar xvf archive_name.tar

x – extract files from

archive

Extract a gzipped tar

archive ( *.tar.gz ) using option xvzf

Use the option z

for uncompressing a gzip tar archive.

$ tar xvfz archive_name.tar.gz

Extracting a bzipped tar

archive ( *.tar.bz2 ) using option xvjf

Use the option j

for uncompressing a bzip2 tar archive.

$ tar xvfj archive_name.tar.bz2

Note: In all

the above commands v is optional, which lists the file being

processed.

3. Listing an archive using tar command

View the tar archive file

content without extracting using option tvf

You can view the

*.tar file content before extracting as shown below.

$ tar tvf archive_name.tar

View the *.tar.gz file

content without extracting using option tvzf

You can view the

*.tar.gz file content before extracting as shown below.

$ tar tvfz archive_name.tar.gz

View the *.tar.bz2 file

content without extracting using option tvjf

You can view the

*.tar.bz2 file content before extracting as shown below.

$ tar tvfj archive_name.tar.bz2

4. Listing out the tar file content with less command

When the number

of files in an archive is more, you may pipe the output of tar to

less. But, you can also use less command directly to view the tar

archive output, as explained in one of our previous

article

5. Extract a single file from tar, tar.gz, tar.bz2 file

To extract a

specific file from a tar archive, specify the file name at the end

of the tar xvf command as shown below. The following command

extracts only a specific file from a large tar file.

$ tar xvf archive_file.tar /path/to/file

Use the relevant

option z or j according to the compression method gzip or bzip2

respectively as shown below.

$ tar xvfz archive_file.tar.gz /path/to/file

$ tar xvfj archive_file.tar.bz2 /path/to/file

6. Extract a single directory from tar, tar.gz, tar.bz2 file

To extract a

single directory (along with it’s subdirectory and files) from a

tar archive, specify the directory name at the end of the tar xvf

command as shown below.The

following extracts only a specific directory from a large tar

file.

$ tar xvf archive_file.tar /path/to/dir/

To extract

multiple directories from a tar archive, specify those individual

directory names at the end of the tar xvf command as shown

below.

$ tar xvf archive_file.tar /path/to/dir1/ /path/to/dir2/

Use the relevant

option z or j according to the compression method gzip or bzip2

respectively as shown below.

$ tar xvfz archive_file.tar.gz /path/to/dir/

$ tar xvfj archive_file.tar.bz2 /path/to/dir/

7. Extract group of files from tar, tar.gz, tar.bz2 archives using

regular expression

You can specify a

regex, to extract files matching a specified pattern. For example,

following tar command extracts all the files with pl extension.

$ tar xvf archive_file.tar --wildcards '*.pl'

Options

explanation:

–wildcards *.pl – files with

pl extension

8. Adding a file or directory to an existing archive using option

-r

You can add

additional files to an existing tar archive as shown below. For

example, to append a file to *.tar file do the following:

$ tar rvf archive_name.tar newfile

This newfile will

be added to the existing archive_name.tar. Adding a directory to

the tar is also similar,

$ tar rvf archive_name.tar newdir/

Note: You

cannot add file or directory to a compressed archive. If you try to

do so, you will get “tar: Cannot update compressed archives” error

as shown below.

$ tar rvfz archive_name.tgz newfile

tar: Cannot update compressed archives

Try `tar --help' or `tar --usage' for more information.

9. Verify files available in tar using option -W

As part of

creating a tar file, you can verify the archive file that got

created using the option W as shown below.

$ tar cvfW file_name.tar dir/

If you are

planning to remove a directory/file from an archive file or from

the file system, you might want to verify the archive file before

doing it as shown below.

$ tar tvfW file_name.tar

Verify 1/file1

1/file1: Mod time differs

1/file1: Size differs

Verify 1/file2

Verify 1/file3

If an output line

starts with Verify, and there is no differs line then the

file/directory is Ok. If not, you should investigate the issue.

Note: for a

compressed archive file ( *.tar.gz, *.tar.bz2 ) you cannot do the

verification.

Finding the

difference between an archive and file system can be done even for

a compressed archive. It also shows the same output as above

excluding the lines with Verify.

Finding the

difference between gzip archive file and file system

$ tar dfz file_name.tgz

Finding the

difference between bzip2 archive file and file system

$ tar dfj file_name.tar.bz2

10. Estimate the tar archive size

The following

command, estimates the tar file size ( in KB ) before you create

the tar file.

$ tar -cf - /directory/to/archive/ | wc -c

20480

The following

command, estimates the compressed tar file size ( in KB ) before

you create the tar.gz, tar.bz2 files.

$ tar -czf - /directory/to/archive/ | wc -c

508

$ tar -cjf - /directory/to/archive/ | wc -c

428

链接一:http://www.thegeekstuff.com/2010/04/unix-tar-command-examples/

链接二:http://linux.die.net/man/1/tar

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值