linux下tar命令用法,linux下tar命令的用法

通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包……

这时候,tar,是必不可少的一个功能强大的工具。

linux中最流行的tar是麻雀虽小,五脏俱全,功能强大的一款。

下面,就来详细介绍下,tar的用法。

tar

格式: tar 选项 文件目录列表

功能: 对文件目录进行打包备份

选项:

-c 建立新的归档文件

-r 向归档文件末尾追加文件

-x 从归档文件中解出文件

-O 将文件解开到标准输出

-v 处理过程中输出相关信息

-f 对普通文件操作

-z 调用gzip来压缩归档文件,与-x联用时调用gzip完成解压缩

-Z 调用compress来压缩归档文件,与-x联用时调用compress完成解压缩

实例1: 目的:用tar打包一个目录下的文件

命令:#tar -cvf /mnt/lgx/a1.doc

结果:产生一个以.tar为扩展名的打包文件

实例2: 目的:用tar解开打包文件

命令:#tar -xvf /mnt/lgx/a1.doc.tar

附加说明:在通常情况下,tar打包与gzip(压缩)经常联合使用,效果更好。方法是:

首先用tar打包,如:#tar -cvf /mnt/lgx/a1.doc (产生a1.doc.tar文件)

然后用gzip压缩a1.doc.tar文件,如:#gzip /mnt/lgx/a1.doc.tar (产生a1.doc.tar.gz文件)

实例3: 目的:解压a1.doc.tar.gz文件

方法1:

#gzip -dc /mnt/lgx/a1.doc.tar.gz (产生a1.doc.tar文件)

#tar -xvf /mnt/lgx/a1.doc.tar (产生a1.doc文件)

这两次命令也可使用管道功能,把两个命令合二为一:

#gzip -dc /mnt/lgx/a1.doc.tar.gz | tar -xvf

方法2:使用tar提供的自动调用gzip解压缩功能

#tar -xzvf /mnt/lgx/a1.doc.tar.gz

经过tar打包后,也可用compress命令压缩(注:gzip比compress压缩更加有效),产生一个以.tar.Z的文件,在解包时,可先用“uncompress 文件名”格式解压,然后用“tar -xvf 文件名”解包。也可直接调用“tar -Zxvf 文件名”解包。

====================================================

tar命令详解(很好的中文说明)

怎样使用tar命令打包(备份)文件?

A:The syntax of tar is:

tar [options][files]

The options used most often with tar are as follows:

c Creates a new backup,overwriting any files already on the backup destination.

x Extracts files from backup media.

t Lists the contents of backup media.

v Displays the name of each file being processed.

f Creates backups on a specified device.

u Adds files to the backup if they are not already there,or if they have been modified since they were last written on the backup.

步骤:

1)估算打包文件的大小,确定使用档案媒体(archive media)的空间,用命令du -s

例如:

$ lf

a.out* fork.c mbox time.c

atoi.c int.c memcpy.c vi

$ du -s

296 .

$

该例显示的296代表the total number of 512-byte blocks,计算:512*296/1024=148kilobytes.

2)制作备份,用命令tar cvf /dev/fd0135ds18 .(将该目录下的所有内容备份到1.44英寸软盘中 where c causes a new backup to be created,v causes each file to be displayed as the backing up takes place,and f causes the subsequent argument--/dev/fd0135ds18 to be the destination of the backup.)

注:平时硬盘上的备份,我们一般用命令tar cvf filename.tar .

例如:

$ tar cvf wuyd.tar .

a ./.profile 2 tape blocks

a ./.lastlogin 0 tape blocks

a ./mbox 10 tape blocks

a ./fork.c 2 tape blocks

a ./memcpy.c 1 tape blocks

a ./.sh_history 3 tape blocks

a ./a.out 91 tape blocks

a ./time.c 1 tape blocks

a ./vi 169 tape blocks

a ./int.c 1 tape blocks

a ./atoi.c 1 tape blocks

tar: same as archive file: ./wuyd.tar

a ./.scoadmin.pref 1 tape blocks

$ lf

a.out* fork.c mbox time.c wuyd.tar

atoi.c int.c memcpy.c vi

我们还可以用命令tar cvf /dev/fd0135ds18 ./filename将该目录下的名为filename的文件备份到archive media中

怎样列出tar文档的内容?

A:tar tvf /dev/fd0135ds18

tar tvf filename.tar

例如:

$ tar tvf wuyd.tar

tar: blocksize = 20

rw-------203/50 896 Sep 17 15:07 2003 ./.profile

r--------203/21 0 Sep 24 19:49 2003 ./.lastlogin

rw-------203/50 4720 Sep 21 11:17 2003 ./mbox

rw-r--r--203/50 583 Sep 17 15:27 2003 ./fork.c

rw-r--r--203/50 218 Sep 17 20:22 2003 ./memcpy.c

rw-------203/50 1474 Sep 24 20:26 2003 ./.sh_history

rwxr-xr-x203/50 46224 Sep 22 21:00 2003 ./a.out

rw-r--r--203/50 341 Sep 19 09:02 2003 ./time.c

rw-r--r--203/50 86283 Sep 21 09:14 2003 ./vi

rw-r--r--203/50 93 Sep 21 10:53 2003 ./int.c

rw-r--r--203/50 144 Sep 22 21:00 2003 ./atoi.c

rw-r--r-- 0/3 41 Sep 23 20:34 2003 ./.scoadmin.pref

$

怎样从tar文档中导出文件?

A:tar xvf /dev/fd0135ds18

tar xvf filename.tar

例如:

$ mkdir uu;cp wuyd.tar ./uu

$ lf

a.out* fork.c mbox time.c vi

atoi.c int.c memcpy.c uu/ wuyd.tar

$ cd uu

$ tar xvf wuyd.tar

tar: blocksize = 20

x ./.profile, 896 bytes, 2 tape blocks

x ./.lastlogin, 0 bytes, 0 tape blocks

x ./mbox, 4720 bytes, 10 tape blocks

x ./fork.c, 583 bytes, 2 tape blocks

x ./memcpy.c, 218 bytes, 1 tape blocks

x ./.sh_history, 1474 bytes, 3 tape blocks

x ./a.out, 46224 bytes, 91 tape blocks

x ./time.c, 341 bytes, 1 tape blocks

x ./vi, 86283 bytes, 169 tape blocks

x ./int.c, 93 bytes, 1 tape blocks

x ./atoi.c, 144 bytes, 1 tape blocks

x ./.scoadmin.pref, 41 bytes, 1 tape blocks

$

我们可用命令tar xvf /dev/fd0135ds18 ./filename导出archive media中的单个文件

例如:

$ lf

wuyd.tar

$ tar xvf wuyd.tar ./time.c

tar: blocksize = 20

x ./time.c, 341 bytes, 1 tape blocks

$ lf

time.c wuyd.tar

$

怎样使用tar命令提供的简写形式?

A:

$ more /etc/default/tar

# @(#) def135.src 25.2 94/07/25

#

# Copyright © 1987-1994 The Santa Cruz Operation, Inc.

# All Rights Reserved.

# The information in this file is provided for the exclusive use of

# the licensees of The Santa Cruz Operation, Inc. Such users have the

# right to use, modify, and incorporate this code into other products

# for purposes authorized by the license agreement provided they include

# this notice and the associated copyright notice with any such product.

# The information in this file is provided "AS IS" without warranty.

#

# default/tar - archive devices: tar©

#

# device block size tape

#

archive0=/dev/rfd048ds9 18 360 n

archive1=/dev/rfd148ds9 18 360 n

archive2=/dev/rfd096ds15 10 1200 n

archive3=/dev/rfd196ds15 10 1200 n

# archive4=/dev/rfd096ds9 18 720 n

archive4=/dev/rfd0135ds9 18 720 n

archive5=/dev/rfd1135ds9 18 720 n

# archive5=/dev/rfd196ds9 18 720 n

archive6=/dev/rfd0135ds18 18 1440 n

archive7=/dev/rfd1135ds18 18 1440 n

archive8=/dev/rct0 20 0 y

archive9=/dev/rctmini 20 0 y

archive10=/dev/rdsk/fp03d 18 720 n

archive11=/dev/rdsk/fp03h 18 1440 n

archive12=/dev/rdsk/fp03v21 10 20330 n

#

# The default device in the absence of a numeric or "-f device" argument

archive=/dev/rfd0135ds18 18 1440 n

$

从上面可以看出4代表/dev/rfd0135ds9设备,而默认的设备是/dev/rfd0135ds18,所以 tar xvf /dev/rfd0135ds9 ./filename可以简写为tar xv4 ./filename,而 tar cvf /dev/fd0135ds18 .可以简写为tar cv .

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值