2024年1月12日发(作者:)
linux解压 tar命令
tar命令
tar [-cxtzjvfpPN] 文件与目录 ....
参数:
-c :建立一个压缩文件的参数指令(create 的意思);
-x :解开一个压缩文件的参数指令!
-t :查看 tarfile 里面的文件!
特别注意,在参数的下达中, c/x/t 仅能存在一个!不可同时存在!
因为不可能同时压缩与解压缩。
-z :是否同时具有 gzip 的属性?亦即是否需要用 gzip 压缩?
-j :是否同时具有 bzip2 的属性?亦即是否需要用 bzip2 压缩?
-v :压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f :使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
例如使用『 tar -zcvfP tfile sfile』就是错误的写法,要写成
『 tar -zcvPf tfile sfile』才对喔!
-p :使用原文件的原来属性(属性不会依据使用者而变)
-P :可以使用绝对路径来压缩!
-N :比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中!
--exclude FILE:在压缩的过程中,不要将 FILE 打包!
范例:
范例一:将整个 /etc 目录下的文件全部打包成为 /tmp/
[root@linux ~]# tar -cvf /tmp/ /etc<==仅打包,不压缩!
[root@linux ~]# tar -zcvf /tmp/ /etc<==打包后,以 gzip 压缩
[root@linux ~]# tar -jcvf /tmp/2 /etc<==打包后,以 bzip2 压缩
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用 .tar 来作为辨识。
# 如果加 z 参数,则以 . 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/" from member names』那是关於绝对路径的特殊设定。
范例二:查阅上述 /tmp/ 文件内有哪些文件?
[root@linux ~]# tar -ztvf /tmp/
# 由於我们使用 gzip 压缩,所以要查阅该 tar file 内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/ 文件解压缩在 /usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar -zxvf /tmp/
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/ ,
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入
/usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/ 内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -zxvf /tmp/ etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile 内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf /tmp/ /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
范例六:在 /home 当中,比 2005/06/01 新的文件才备份
[root@linux ~]# tar -N "2005/06/01" -zcvf /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude /home/dmtsai -zcvf /home/*
/etc
范例八:将 /etc/ 打包后直接解开在 /tmp 底下,而不产生文件!
[root@linux ~]# cd /tmp
[root@linux tmp]# tar -cvf - /etc | tar -xvf -
# 这个动作有点像是 cp -r /etc /tmp 啦~依旧是有其有用途的!
# 要注意的地方在於输出档变成 - 而输入档也变成 - ,又有一个 | 存在~
# 这分别代表 standard output, standard input 与管线命令啦!
# 这部分我们会在 Bash shell 时,再次提到这个指令跟大家再解释啰
Linux中常见的“压缩与解压缩”方法
(2011-03-07 17:47:02)
转载
标签: 分类: 嵌入式与QT编程篇
linux
c
杂谈
it
常见的“压缩与解压缩”方法...
压缩解压
linux下怎么解后缀名是gzip的文件?
1.以.a为扩展名的文件:
#tar xv file.a
2.以.z为扩展名的文件:
#uncompress file.Z
3.以.gz为扩展名的文件:
#gunzip
4.以.bz2为扩展名的文件:
#bunzip2 2
5.以.tar.Z为扩展名的文件:
#tar xvZf .Z
或 #compress -dc .Z | tar xvf -
6.以./.tgz为扩展名的文件:
#tar xvzf
或 gzip -dc | tar xvf -
7.以.2为扩展名的文件:
#tar xvIf 2
或 bzip2 -dc 2 | xvf -
8.以./.cgz为扩展名的文件:
#gzip -dc | cpio -div
9.以.cpio/cpio为扩展名的文件:
#cpio -div
或cpio -divc
10.以.rpm为扩展名的文件安装:
#rpm -i
11.以.rpm为扩展名的文件解压缩:
#rpm2cpio | cpio -div
12.以.deb为扩展名的文件安装:
#dpkg -i
13.以.deb为扩展名的文件解压缩:
#dpkg-deb --fsys-tarfile | tar xvf - ar p
| tar xvzf -
14.以.zip为扩展名的文件:
#unzip
在linux下解压Winzip格式的文件
要是装了jdk的话,可以用jar命令;还可以使用unzip命令。
直接解压.文件
文件使用tar带zxvf参数,可以一次解压开。XXXX为文件名。 例如:
$tar zxvf 各种压缩文件的解压(安装方法)
文件扩展名 解压(安装方法)
.a ar xv file.a
.Z uncompress file.Z
.gz gunzip
.bz2 bunzip2 2
.tar.Z tar xvZf .Z
compress -dc .Z | tar xvf -
./.tgz tar xvzf
gzip -dc | tar xvf -
.2 tar xvIf 2
bzip2 -dc 2 | xvf -
./.cgz gzip -dc | cpio -div
.cpio/cpio cpio -div
cpio -divc
.rpm/install rpm -i
.rpm/extract rpm2cpio | cpio -div
.deb/install dpkg -i
.deb/exrtact dpkg-deb --fsys-tarfile | tar xvf -
ar p | tar xvzf -
.zip unzip
bzip2 -d 2 | tar xvf
tar xvfz 2
x 是解压
v 是复杂输出
f 是指定文件
z gz格式
gzip
gzip[选项]要压缩(或解压缩)的文件名
-c将输出写到标准输出上,并保留原有文件。
-d将压缩文件压缩。
-l对每个压缩文件,显示下列字段:压缩文件的大小,未压缩文件的大小、压缩比、未压缩文件的名字
-r递归式地查找指定目录并压缩或压缩其中的所有文件。
-t测试压缩文件是正完整。
-v对每一个压缩和解压缩的文件,显示其文件名和压缩比。
-num-用指定的数字调整压缩的速度。
举例:
把/usr目录并包括它的子目录在内的全部文件做一备份,备份文件名为
tar cvf /home
把/usr 目录并包括它的子目录在内的全部文件做一备份并进行压缩,备份文件名是
tar czvf /usr
压缩一组文件,文件的后缀为
#tar cvf /back/
#gzip -q
or
#tar cvfz /back/
释放一个后缀为的文件。
#tar zxvf
#gzip
#tar xvf
tar的使用方法:
1:压缩一组文件为后缀
tar cvf /etc
或gzip -q
2:释放一个后缀为的文件
gunzip
或tar xvf
3:用一个命令完成压缩
tar cvf -/etc | gzip -qc >
4:用一个命令完成释放
gunzip -c | tar xvf -
5:如何解开ta.Z的文件
tar xvfz .Z
或uncompress .Z
tar xvf
6:如何解开.tgz文件
gunzip
7:如何压缩和解压缩.bz2的包
bzip2 /etc/ 这将压缩文件成2
bunzip2 /etc/2 在当前目录下还原2为


发布评论