TAR命令参数详解

TAR
命令名
tar - tar 档案文件管理程序的 GNU 版本。下面将逐个介绍其含义
总览
tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | r --append | t --list | u --update | x -extract --get [ --atime-preserve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, --directory DIR ] [ --checkpoint ]
[ -f, --file [HOSTNAME:]F ] [ --force-local ]
[ -F, --info-script F --new-volume-script F ] [ -G, --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ -i, --ignore-zeros ] [ -I, --bzip ] [ --ignore-failed-read ] [ -k, --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-volume ] [ -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --preserve-permissions ] [ -P, --absolute-paths ] [ --preserve ]
[ -R, --record-number ] [ --remove-files ] [ -s, --same-order, --preserve-order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-from F ] [ --null ]
[ --totals ]
[ -v, --verbose ] [ -V, --label NAME ] [ --version ]
[ -w, --interactive, --confirmation ] [ -W, --verify ]
[ --exclude FILE ] [ -X, --exclude-from FILE ] [ -Z, --compress, --uncompress ] [ -z, --gzip, --ungzip ]
[ --use-compress-program PROG ] [ --block-compress ] [ -[0-7][lmh] ]

filename1 [ filename2, ... filenameN ]
directory1 [ directory2, ...directoryN ]

 


描述
tar 程序用于储存或展开 tar 存档文件。存档文件可放在磁盘中 ,也可以存为普通文件。 tar是需要参数的,可选的参数是A、c、d、r、t、u、x,您在使用tar时必须首先为 tar 指定至少一个参数;然后,您必须指定要处理的文件或目录。如果指定一个目录则该目录下的所有子目录都将被加入存档。
应用举例:

1)展开 abc.tar.gz 使用命令: tar xvzf abc.tar.gz 展开 abc.tar 使用命令: tar xvf abc.tar

2)将当前目录下的 man 目录及其子目录存成存档 man.tar tar cf man.tar ./man
参数说明
运行tar时必须要有下列参数中的至少一个才可运行

-A, --catenate, --concatenate
将一存档与已有的存档合并
-c, --create
建立新的存档
-d, --diff, --compare
比较存档与当前文件的不同之处
--delete
从存档中删除
-r, --append
附加到存档结尾
-t, --list
列出存档中文件的目录
-u, --update
仅将较新的文件附加到存档中
-x, --extract, --get
从存档展开文件


其他参数

--atime-preserve
不改变转储文件的存取时间

-b, --block-size N
指定块大小为 Nx512 字节(缺省时 N=20)

-B, --read-full-blocks
读取时重组块(???!!!)

-C, --directory DIR

转到指定的目录

--checkpoint
读取存档时显示目录名

-f, --file [HOSTNAME:]F
指定存档或设备 (缺省为 /dev/rmt0)

--force-local
强制使用本地存档,即使存在克隆

-F, --info-script F --new-volume-script F
在每个磁盘结尾使用脚本 F (隐含 -M)

-G, --incremental
建立老 GNU 格式的备份

-g, --listed-incremental F
建立新 GNU 格式的备份

-h, --dereference
不转储动态链接,转储动态链接指向的文件。

-i, --ignore-zeros
忽略存档中的 0 字节块(通常意味着文件结束)

--ignore-failed-read
在不可读文件中作 0 标记后再退出???

-k, --keep-old-files
保存现有文件;从存档中展开时不进行覆盖

-K, --starting-file F
从存档文件 F 开始

-l, --one-file-system
在本地文件系统中创建存档

-L, --tape-length N
在写入 N*1024 个字节后暂停,等待更换磁盘

-m, --modification-time
当从一个档案中恢复文件时,不使用新的时间标签

-M, --multi-volume
建立多卷存档,以便在几个磁盘中存放

-N, --after-date DATE, --newer DATE
仅存储时间较新的文件

-o, --old-archive, --portability
以 V7 格式存档,不用 ANSI 格式

-O, --to-stdout
将文件展开到标准输出

-p, --same-permissions, --preserve-permissions
展开所有保护信息

-P, --absolute-paths
不要从文件名中去除 '/'

--preserve
like -p -s
与 -p -s 相似

-R, --record-number
显示信息时同时显示存档中的记录数

--remove-files
建立存档后删除源文件

-s, --same-order, --preserve-order
???
--same-owner
展开以后使所有文件属于同一所有者

-S, --sparse
高效处理

-T, --files-from F
从文件中得到要展开或要创建的文件名

--null
读取空结束的文件名,使 -C 失效

--totals
显示用 --create 参数写入的总字节数

-v, --verbose
详细显示处理的文件

-V, --label NAME
为存档指定卷标

--version
显示 tar 程序的版本号

-w, --interactive, --confirmation
每个操作都要求确认

-W, --verify
写入存档后进行校验

--exclude FILE
不把指定文件包含在内

-X, --exclude-from FILE
从指定文件中读入不想包含的文件的列表

-y, --bzip2, --bunzip2
用 bzip2 对存档压缩或解压

-Z, --compress, --uncompress
用 compress 对存档压缩或解压

-z, --gzip, --ungzip
用 gzip 对存档压缩或解压

--use-compress-program PROG
用 PROG 对存档压缩或解压 ( PROG 需能接受 -d 参数)

--block-compress
为便于磁盘存储,按块记录存档

-[0-7][lmh]
指定驱动器和密度[高中低]

 

--------------------------

 

打包: tar -cf soft.tar soft

解包: tar -xf soft.tar soft

压缩目录

打包压缩:tar czvf usr.tar.gz /home

解压缩:tar xzvf usr.tar.gz

 

压缩文件(对于目录失效)

压缩:zip good.zip good1 good2

解压:unzip good.zip 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
linux tar命令详解 tar命令 tar能为文件和目录创建档案。利用tar,用户能为某一特定文件创建档案(备份文件),也能在档案中改动文件,或向档案中加入新的文件。tar最初被用来在磁带上创建档案,目前,用户能在所有设备上创建档案,如软盘。利用tar命令,能把一大堆的文件和目录全部打包成一个文件,这对于备份文件或将几个文件组合成为一个文件以便于网络传输是非常有用的。Linux上的tar是GNU版本的。 语法:tar [主选项+辅选项] 文件或目录 使用该命令时,主选项是必须要有的,他告诉tar要做什么事情,辅选项是辅助使用的,能选用。 主选项: c 创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。 r 把要存档的文件追加到档案文件的未尾。例如用户已作好备份文件,又发现更有一个目录或是一些文件忘记备份了,这时能使用该选项,将忘记的目录或文件追加到备份文件中。 t 列出档案文件的内容,查看已备份了哪些文件。 u 更新文件。就是说,用新增的文件取代原备份文件,如果在备份文件中未找到要更新的文件,则把他追加到备份文件的最后。 x 从档案文件中释放文件。 辅助选项: b 该选项是为磁带机设定的。其后跟一数字,用来说明区块的大小,系统预设值为20(20*512 bytes)。 f 使用档案文件或设备,这个选项通常是必选的。 k 保存已存在的文件。例如我们把某个文件还原,在还原的过程中,遇见相同的文件,不会进行覆盖。 m 在还原文件时,把所有文件的修改时间设定为目前。 M 创建多卷的档案文件,以便在几个磁盘中存放。 v 周详报告tar处理的文件信息。如无此选项tar不报告文件信息。 w 每一步都需求确认。 z 用gzip来压缩/解压缩文件,加上该选项后能将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。 Linux下的压缩文件剖析 对于刚刚接触Linux的人来说,一定会给Linux下一大堆各式各样的文件名给搞晕。别个不说,单单就压缩文件为例,我们知道在视窗系统下最常见的压缩文件就只有两种,一是,zip,另一个是.rap。可是Linux就不同了,他有.gz、.tar.gz、tgz、bz2、.Z、.tar等众多的压缩文件名,此外windows下的.zip和.rar也能在Linux下使用,不过在Linux使用.zip和.rar的人就太少了。本文就来对这些常见的压缩文件进行一番小结,希望你下次遇见这些文件时不至于被搞晕:)   在具体总结各类压缩文件之前呢,首先要 弄清两个概念:打包和压缩。打包是指将一大堆文件或目录什么的变成一个总的文件,压缩则是将一个大的文件通过一些压缩算法变成一个小文件。为什么要区分这两个概念呢?其实这源于Linux中的非常多压缩程式只能针对一个文件进行压缩,这样当你想要压缩一大堆文件时,你就得先借助另他的工具将这一大堆文件先打成一个包,然后再就原来的压缩程式进行压缩。   Linux下最常用的打包程式就是tar了,使用tar程式打出来的包我们常称为tar包,tar包文件的命令通常都是以.tar结尾的。生成tar包后,就能用其他的程式来进行压缩了,所以首先就来讲讲tar命令的基本用法:   tar命令选项有非常多(用man tar能查看到),但常用的就那么几个选项,下面来举例说明一下:   # tar -cf all.tar *.jpg   这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。   # tar -rf all.tar *.gif   这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。 # tar -uf all.tar logo.gif   这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。   # tar -tf all.tar   这条命令是列出all.tar包中所有文件,-t是列出文件的意思   # tar -xf all.tar   这条命令是解出all.tar包中所有文件,-t是解开的意思   以上就是tar的最基本的用法。为了方便用户在打包解包的同时能压缩或解压文件,tar提供了一种特别的功能。这就是tar能在打包或解包的同时调用其他的压缩程式,比如调用gzip、bzip2等。   1) tar调用gzip   gzip是GNU组织研发的一个压缩程式,.gz结尾的文件就是gzip压缩的结果。和gzip相对的解压程式是gunzip。tar中使用-z这个参数来调用gzip。下面来举例说明一下:   # tar -czf all.tar.gz *.jpg   这条命令是将所有.jpg的文件打成一个tar包,并且将其用gzip压缩,生成一个gzip压缩过的包,包名为all.tar.gz   # tar -xzf all.tar.gz   这条命令是将上面产生的包解开。   2) tar调用bzip2   bzip2是个压缩能力更强的压缩程式,.bz2结尾的文件就是bzip2压缩的结果。和bzip2相对的解压程式是bunzip2。tar中使用-j这个参数来调用gzip。下面来举例说明一下:   # tar -cjf all.tar.bz2 *.jpg   这条命令是将所有.jpg的文件打成一个tar包,并且将其用bzip2压缩,生成一个bzip2压缩过的包,包名为all.tar.bz2   # tar -xjf all.tar.bz2   这条命令是将上面产生的包解开。 3)tar调用compress   compress也是个压缩程式,不过好象使用compress的人不如gzip和bzip2的人多。.Z结尾的文件就是bzip2压缩的结果。和compress相对的解压程式是uncompress。tar中使用-Z这个参数来调用gzip。下面来举例说明一下:   # tar -cZf all.tar.Z *.jpg   这条命令是将所有.jpg的文件打成一个tar包,并且将其用compress压缩,生成一个uncompress压缩过的包,包名为all.tar.Z   # tar -xZf all.tar.Z   这条命令是将上面产生的包解开   有了上面的知识,你应该能解开多种压缩文件了,下面对于tar系列的压缩文件作一个小结:   1)对于.tar结尾的文件   tar -xf all.tar   2)对于.gz结尾的文件   gzip -d all.gz   gunzip all.gz   3)对于.tgz或.tar.gz结尾的文件   tar -xzf all.tar.gz   tar -xzf all.tgz   4)对于.bz2结尾的文件   bzip2 -d all.bz2   bunzip2 all.bz2   5)对于tar.bz2结尾的文件   tar -xjf all.tar.bz2   6)对于.Z结尾的文件   uncompress all.Z   7)对于.tar.Z结尾的文件   tar -xZf all.tar.z   另外对于Window下的常见压缩文件.zip和.rar,Linux也有相应的方法来解压他们:   1)对于.zip   linux下提供了zip和unzip程式,zip是压缩程式,unzip是解压程式。他们的参数选项非常多,这里只做简单介绍,依举例说明一下其用法:   # zip all.zip *.jpg   这条命令是将所有.jpg的文件压缩成一个zip包 # unzip all.zip   这条命令是将all.zip中的所有文件解压出来   2)对于.rar   要在linux下处理.rar文件,需要安装RAR for Linux,能从网上下载,但要记住,RAR for Linux 不是免费的;然后安装:   # tar -xzpvf rarlinux-3.2.0.tar.gz   # cd rar   # make   这样就安装好了,安装后就有了rar和unrar这两个程式,rar是压缩程式,unrar是解压程式。他们的参数选项非常多,这里只做简单介绍,依举例说明一下其用法:   # rar a all *.jpg   这条命令是将所有.jpg的文件压缩成一个rar包,名为all.rar,该程式会将.rar 扩展名将自动附加到包名后。   # unrar e all.rar   这条命令是将all.rar中的所有文件解压出来   到此为至,我们已介绍过linux下的tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、 zip、unzip、rar、unrar等程式,你应该已能够使用他们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行解压了,以后应该不必为下载了一个软件而不知道怎么在Linux下解开而烦恼了。而且以上方法对于Unix也基本有效。   本文介绍了linux下的压缩程式tar、gzip、gunzip、bzip2、bunzip2、compress、uncompress、zip、 unzip、rar、unrar等程式,及怎么使用他们对.tar、.gz、.tar.gz、.tgz、.bz2、.tar.bz2、.Z、.tar.Z、.zip、.rar这10种压缩文件进行操作。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值