在linux内核下怎么解压和压缩tar.xz文件

linux下怎么解压和压缩文件
按时间排序
Linux下自带了一个unzip的程序可以解压缩文件,解压命令是:unzip filename.zip 同样也提供了一个zip程序压缩zip文件,命令是 zip filename.zip files 会将files压缩到filename.zip 另外看看你的文件的后缀名,不同的后缀的文件解压和压缩的命令都不一样 总结一下 1、*.tar 用 tar –xvf 解压
2、*.gz 用 gzip -d或者gunzip 解压
3、*.tar.gz和*.tgz 用 tar –xzf 解压
4、*.bz2 用 bzip2 -d或者用bunzip2 解压
5、*.tar.bz2用tar –xjf 解压
6、*.Z 用 uncompress 解压
7、*.tar.Z 用tar –xZf 解压
8、*.rar 用 unrar e解压
9、*.zip 用 unzip 解压
Package_name.tar
看你是什么包了,如果是bz2
详细点可以加个v
压缩目录的话tar -zxuf
包名 路径压缩文件 gzip
[root@linux ~]# 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/etc.tar
[root@linux ~]# tar -cvf
/tmp/etc.tar /etc tar -zcvf
/tmp/etc.tar.gz /etc
[root@linux ~]# tar -jcvf
/tmp/etc.tar.bz2 /etc
# 特别注意,在参数 f 之后的文件档名是自己取的,我们习惯上都用
.tar 来作为辨识。
# 如果加 z 参数,则以 .tar.gz 或 .tgz 来代表 gzip 压缩过的 tar file ~
# 如果加 j 参数,则以 .tar.bz2 来作为附档名啊~
# 上述指令在执行的时候,会显示一个警告讯息:
# 『tar: Removing leading `/’ from member names』那是关於绝对路径的特殊设定。 范例二:查阅上述 /tmp/etc.tar.gz 文件内有哪些文件?
[root@linux ~]# tar -ztvf
/tmp/etc.tar.gz
# 由於我们使用 gzip 压缩,所以要查阅该 tar file
内的文件时,
# 就得要加上 z 这个参数了!这很重要的!
范例三:将 /tmp/etc.tar.gz 文件解压缩在
/usr/local/src 底下
[root@linux ~]# cd /usr/local/src
[root@linux src]# tar
-zxvf /tmp/etc.tar.gz
# 在预设的情况下,我们可以将压缩档在任何地方解开的!以这个范例来说,
# 我先将工作目录变换到 /usr/local/src 底下,并且解开 /tmp/etc.tar.gz
# 则解开的目录会在 /usr/local/src/etc 呢!另外,如果您进入 /usr/local/src/etc
# 则会发现,该目录下的文件属性与 /etc/ 可能会有所不同喔!
范例四:在 /tmp 底下,我只想要将 /tmp/etc.tar.gz
内的 etc/passwd 解开而已
[root@linux ~]# cd /tmp
[root@linux tmp]# tar
-zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透过 tar -ztvf 来查阅 tarfile
内的文件名称,如果单只要一个文件,
# 就可以透过这个方式来下达!注意到! etc.tar.gz 内的根目录 / 是被拿掉了!
范例五:将 /etc/ 内的所有文件备份下来,并且保存其权限!
[root@linux ~]# tar -zxvpf
/tmp/etc.tar.gz /etc
# 这个 -p 的属性是很重要的,尤其是当您要保留原本文件的属性时!
范例六:在 /home 当中,比 /01 新的文件才备份
[root@linux ~]# tar -N
’/01’ -zcvf home.tar.gz /home
范例七:我要备份 /home, /etc ,但不要 /home/dmtsai
[root@linux ~]# tar --exclude
/home/dmtsai -zcvf myfile.tar.gz /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 时,再次提到这个指令跟大家再解释?!gzip, zcat 命令[root@linux
~]# gzip [-cdt#] 档名
[root@linux ~]# zcat 档名.gz
-c :将压缩的资料输出到萤幕上,可透过资料流重导向来处理;
-d :解压缩的参数;
-t :可以用来检验一个压缩档的一致性~看看文件有无错误;
-# :压缩等级,-1 最快,但是压缩比最差、-Array 最慢,但是压缩比最好!预设是 -6 ~
范例一:将 /etc/man.config ?制到 /tmp
,并且以 gzip 压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config
[root@linux tmp]# gzip man.config
# 此时 man.config 会变成 man.config.gz
范例二:将范例一的文件内容读出来!
[root@linux tmp]# zcat man.config.gz
# 此时萤幕上会显示 man.config.gz 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# gzip -d man.config.gz
范例四:将范例三解开的 man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# gzip -Array -c
man.config & man.config.gzbzip2, bzcat 命令[root@linux ~]# bzip2
[-cdz] 档名
[root@linux ~]# bzcat 档名.bz2
-c :将压缩的过程产生的资料输出到萤幕上!
-d :解压缩的参数
-z :压缩的参数
-# :与 gzip 同样的,都是在计算压缩比的参数, -Array 最佳, -1 最快!
范例一:将刚刚的 /tmp/man.config 以 bzip2
[root@linux tmp]# bzip2 -z man.config
# 此时 man.config 会变成 man.config.bz2
范例二:将范例一的文件内容读出来!
[root@linux tmp]# bzcat man.config.bz2
# 此时萤幕上会显示 man.config.bz2 解压缩之后的文件内容!!
范例三:将范例一的文件解压缩
[root@linux tmp]# bzip2 -d man.config.bz2范例四:将范例三解开的
man.config 用最佳的压缩比压缩,并保留原本的文件
[root@linux tmp]# bzip2 -Array -c
man.config & man.config.bz2compress 命令[root@linux ~]# compress
[-dcr] 文件或目录
-d :用来解压缩的参数
-r :可以连同目录下的文件也同时给予压缩呢!
-c :将压缩资料输出成为 standard output (输出到萤幕)
范例一:将 /etc/man.config ?制到 /tmp ,并加以压缩
[root@linux ~]# cd /tmp
[root@linux tmp]# cp /etc/man.config
[root@linux tmp]# compress man.config
[root@linux tmp]# ls -l
-rw-r--r-- 1 root root 2605 Jul 27 11:43 man.config.Z
范例二:将刚刚的压缩档解开
[root@linux tmp]# compress -d
man.config.Z
范例三:将 man.config 压缩成另外一个文件来备份
[root@linux tmp]# compress -c
man.config & man.config.back.Z
[root@linux tmp]# ll man.config*
-rw-r--r-- 1 root root 4506 Jul 27 11:43 man.config
-rw-r--r-- 1 root root 2605 Jul 27 11:46 man.config.back.Z
# 这个 -c 的参数比较有趣!他会将压缩过程的资料输出到萤幕上,而不是写入成为
# file.Z 文件。所以,我们可以透过资料流重导向的方法将资料输出成为另一个档名。
# 关於资料流重导向,我们会在 bash shell 当中详细谈论的啦!dd 命令[root@linux
~]# dd if=&input_file&
of=&outptu_file& bs=&block_size&
count=&number&
if :就是 input file ?~也可以是装置喔!
of :就是 output file 喔~也可以是装置;
bs :规划的一个 block 的大小,如果没有设定时,预设是 512 bytes
count:多少个 bs 的意思。
范例一:将 /etc/passwd 备份到 /tmp/passwd.back
[root@linux ~]# dd if=/etc/passwd
of=/tmp/passwd.back
3+1 records in
3+1 records out
[root@linux ~]# ll /etc/passwd
/tmp/passwd.back
-rw-r--r-- 1 root root 1746 Aug 25 14:16 /etc/passwd
-rw-r--r-- 1 root root 1746 Aug 2Array 16:57 /tmp/passwd.back
# 仔细的看一下,我的 /etc/passwd 文件大小为
1746 bytes,因为我没有设定 bs ,
# 所以预设是 512 bytes 为一个单位,因此,上面那个 3+1 表示有 3 个完整的
# 512 bytes,以及未满 512 bytes 的另一个 block 的意思啦!
# 事实上,感觉好像是 cp 这个指令啦~
范例二:备份 /dev/hda 的 MBR
[root@linux ~]# dd if=/dev/hda
of=/tmp/mbr.back bs=512 count=1
1+0 records in
1+0 records out
# 这就得好好?解一下?~我们知道整颗硬盘的 MBR 为
512 bytes,
# 就是放在硬盘的第一个 sector 啦,因此,我可以利用这个方式来将
# MBR 内的所有资料都纪录下来,真的很厉害吧! ^_^
范例三:将整个 /dev/hda1 partition
备份下来。
[root@linux ~]# dd if=/dev/hda1
of=/some/path/filenaem
# 这个指令很厉害啊!将整个 partition 的内容全部备份下来~
# 后面接的 of 必须要不是在 /dev/hda1 的目录内啊~否则,怎么读也读不完~
# 这个动作是很有效用的,如果改天你必须要完整的将整个 partition 的内容填回去,
# 则可以利用 dd if=/some/file of=/dev/hda1 来将资料写入到硬盘当中。
# 如果想要整个硬盘备份的话,就类似 Norton 的 ghost 软体一般,
# 由 disk 到 disk ,嘿嘿~利用 dd 就可以啦~厉害厉害!cpio 命令[root@linux
~]# cpio -covB & [file|device]
[root@linux ~]# cpio -icduv
-o :将资料 copy 输出到文件或装置上
-i :将资料自文件或装置 copy 出来系统当中
-t :查看 cpio 建立的文件或装置的内容
-c :一种较新的 portable format 方式储存
-v :让储存的过程中文件名称可以在萤幕上显示
-B :让预设的 Blocks 可以增加至 5120 bytes ,预设是 512 bytes !
   这样的好处是可以让大文件的储存速度加快(请参考 i-nodes 的观念)
-d :自动建立目录!由於 cpio 的内容可能不是在同一个目录内,
如此的话在反备份的过程会有问题! 这个时候加上 -d 的话,
就可以自动的将需要的目录建立起来了!
-u :自动的将较新的文件覆盖较旧的文件!
范例一:将所有系统上的资料通通写入磁带机内!
[root@linux ~]# find / -print |
cpio -covB & /dev/st0
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0
范例二:检查磁带机上面有什么文件?
[root@linux ~]# cpio -icdvt
[root@linux ~]# cpio -icdvt
/tmp/content
# 第一个动作当中,会将磁带机内的档名列出到萤幕上面,而我们可以透过第二个动作,
# 将所有的档名通通纪录到 /tmp/content 文件去!
范例三:将磁带上的资料还原回来~
[root@linux ~]# cpio -icduv
# 一般来说,使用 SCSI 介面的磁带机,代号是 /dev/st0
范例四:将 /etc 底下的所有『文件』都备份到 /root/etc.cpio
[root@linux ~]# find /etc -type
f | cpio -o & /root/etc.cpio
# 这样就能够备份?~您也可以将资料以 cpio -i
如果是gzip压缩文件:tar zxvf x.tar.gz如果是bzip2压缩的tar jxvf x.tar.bz2有时扩展名命名不规范,需要用file确定目标文件的属性,比如x.abcde[user@Host ~]$ file x.abcdex.abcde: gzip compressed data, from Unix, last modified: Thu Jun 26 02:24:10 2008这个输出结果就可以看到这个文件是gzip压缩的,就用tar zxvf了
只能重新安装了.
感谢您为社区的和谐贡献力量请选择举报类型
经过核实后将会做出处理感谢您为社区和谐做出贡献
确定要取消此次报名,退出该活动?
请输入私信内容:linux下文件的压缩和解压缩
1.压缩2.解压缩3.归档工具
compress:
-d:解压缩,相当于uncompres
-c:结果输出至标准输出,不删除原文件
-v:显示详情
-c (需要和重定向符 &搭配 ):-v
-c:将压缩或解压缩的结果输出至标准输出
-#:1-9,指定压缩比,值越大压缩比越大
-k:保留原文件
-#:1-9,压缩比,默认为6
-k:保留原文件
-#:1-9,压缩比,默认为6
zip -r filname.zip filename
最好使用xz进行文件的压缩,效率最高
uncompress:
-d:解压缩,相当于uncompres
-d:解压缩,相当于gunzip
或者 bzip2 -d:解压缩
或者xz-d:解压缩
三.文件归档工具(tar)
tar -tf mage.tar.xz 预览压缩包的文件列表
tar -rf mage.tar /path/newfile
往tar包中增强文件(注意只能对tar包增加文件,而不能对压缩包增加)
tar -cf mage.tar filename1 filename2 [filenameN] 将多个文件打包至mage.tar
tar -zcf mage.tar.gz filename1 filename2 [filenameN] 将多个文件打包并用gzip压缩为mage.tar.gz
tar -jcf mage.tar.bz2 filename1 filename2 [filenameN] 将多个文件打包并用bzip2压缩为mage.tar.bz2
tar -Jcf mage.tar.xz filename1 filename2 [filenameN] 将多个文件打包并用xz压缩为mage.tar.xz
tar -xf mage.tar 解压tar包的所有文件到当前目录
tar -xf mage.tar.xz filename
仅将压缩包中的其中一个文件filename解压到当前目录
tar -zxf mage.tar.gz 解压gz的压缩包到当前目录
tar -jxf mage.tar.bz2 解压bzip2的压缩包到当前目录
tar -Jxf mage.tar.xz 解压xz的压缩包到当前目录
tar -zxf mage.tar.gz -C /tmp 解压gz的压缩包到/tmp目录
tar -zvxf mage.tar.gz 解压gz的压缩包到当前目录并显示详细过程
tar zcvf mage.tar.gz -T yasuolist.txt -X paichu.txt
-T 指定需要打包并压缩的文件列表,每个文件路径一行
-X 指定要排除的文件列表,每个文件一行
声明:本文内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至: 进行举报,并提供相关证据,工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。Linux下解压.tar.xz格式文件的方法
转载 &更新时间:日 08:40:50 & 作者:Alliot
最近下载到了一份tar.xz结尾的压缩文件,网上解决的方法比较少,所以决定将解决的方法总结下来,这篇文章主要给大家介绍了在Linux下解压.tar.xz格式文件的方法,需要的朋友可以参考借鉴,下面来一起看看吧。
对于xz这个压缩相信很多人陌生,但xz是绝大数linux默认就带的一个压缩工具,xz格式比7z还要小。
今天在下载Node.js源码包的时候遇到的这种压缩格式。查了一下资料,这里进行一下记录,分享出来供大家参考学习,下面来看看详细的记录吧。
创建xz压缩文件
xz -z 待压缩文件名
-k 保留原文件;
-0至-9调节压缩率。如果不设置,默认压缩等级是6;
解压xz压缩文件
xz -d 待解压文件
-k 保留原文件;
这样解压出来的文件是tar格式的打包文件,需要执行:
tar -xvf 待解包文件名
需要注意的是:tar命令中没有直接解压xz压缩格式的参数(比如-f解压bzip2、 -z解压gzip)
实际上tar.xz格式的压缩包是经历了tar打包文件夹后,进行xz压缩(-f -z是因为tar默认支持bzip2、gzip格式的文件在打包的同时进行压缩)。
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对脚本之家的支持。
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具Linux系统下.tar.xz文件的解压方法
$xz -d ***.tar.xz
$tar -xvf ***.tar
可以看到这个压缩包也是打包后再压缩,外面是xz压缩方式,里层是tar打包方式。
补充:目前可以直接使用 tar xvJf ***.tar.xz来解压【转载】Linux下tar.xz格式文件的解压方法
【转载】Linux下tar.xz格式文件的解压方法
现在很多找到的 .tar.xz 格式的,xz 是一个使用 LZMA 压缩算法的无损数据压缩文件格式。 和 gzip 与 bzip2 一样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。
现在很多找到的 .tar.xz 格式的,xz 是一个使用 LZMA 压缩算法的无损数据压缩文件格式。 和 gzip 与 bzip2 一样支持多文件压缩,但是约定不能将多于一个的目标文件压缩进同一个档案文件。 所以 xz 通常作为一种归档文件自身的压缩格式,例如先用 tar 程序创建的归档。
xz utils 是 lzma utils 的下一代,lzma utils 改名为 xz utils。 压缩时 xz utils 耗时比 bzip2 长一倍, 压缩时 xz utils 耗时是 lzma utils 一半, 压缩时 xz utils 生成文件体积是 bzip2 的一半, 压缩时 xz utils 生成文件体积比 lzma utils 略大, 解压时 xz utils 耗时是 bzip2 的三分之一, 解压时 xz utils 速度比 lzma utils 略快, 解压时 xz utils 耗时仅比 gzip 多一倍。 压缩时 xz utils 使用 *.xz 格式 生成文件 比 *.lzma 格式 略大, 测试样本较小,多次测试结果有出入,无法判断 xz utils 使用 *.xz 与 *.lzma 格式 压缩与解压时间 谁占优势。 到目前为止,lzma utils 的压缩率仍是最大的,xz utils 解压时间占优势。 7-Zip 在 9.04 beta 版支持了 xz 文件格式。 首先到 http://download.chinaunix.net/download/78.shtml 页面下载xz-5.0.3.tar.bz2解压工具,然后编译安装
[root@Think Arrix]# tar -jxvf xz-5.0.3.tar.bz2
[root@Think Arrix]# cd xz-5.0.3
[root@Think Arrix]# ./configure
[root@Think Arrix]# make
[root@Think Arrix]# make install
也可以用 yum 源来安装
[root@Think Arrix]# yum install xz
安装后,可以用 xz 命令来解压 .tar.xz 格式文件:
[root@Think Arrix]# xz -d abc.tar.xz
[root@Think Arrix]# tar -xf abc.tar
用云栖社区APP,舒服~
【云栖快讯】云栖社区技术交流群汇总,阿里巴巴技术专家及云栖社区专家等你加入互动,老铁,了解一下?&&
面向阿里云ECS实例、HPC和Docker的文件存储服务。
为您提供简单高效、处理能力可弹性伸缩的计算服务,帮助您快速构建更稳定、安全的应用,提升运维效...

我要回帖

更多关于 linux sed命令详解 的文章

 

随机推荐