tar[-j|-z][cv][-f建立的档案名]filename...《==打包与压缩
tar[-j|-z][tv][-f建立的档案名]《==查看档案
tar[-j|-z][xv][-f建立的档案名][-C目录]《==解压缩
选项与参数:
-c:建立打包档案,可搭配-v来观察过程中被打包的档案名(filename)
-t:查看打包档案的内容含有那些档案
-x:解压缩的功能,可以搭配-C在特定的目录解开;-c、-t、-x不能同时出现在一串指令列中。
-j:透过bzip2的支持进行压缩/解压缩:此时档案名最好为*.tar.bz2
-z:透过gzip的支持进行压缩/解压缩:此时档案名最好为*.tar.gz
-v:在压缩/解压缩的过程中,将正在处理文件名显示出来
-ffilename:-f后面要立刻接被处理的档案名!建议-f单独写一个选项
-C目录:这个选项用在解压缩,若要在特定目录解压缩,可以使用这个选项
tar命令是Unix/Linux系统中非常常用的备份文件方法,它的使用权限是所有用户。
tar命令语法:
tar[主选项+辅选项]文件名或目录。使用该命令时,主选项是必须要有的,它告诉tar命令要做什么,辅选项是辅助使用的,可以选用。
主选项:
-c创建新的档案文件。如果用户想备份一个目录或是一些文件,就要选择这个选项。相当于打包。
-x从档案文件中释放文件。相当于拆包。
-t列出档案文件的内容,查看已经备份了哪些文件。
-r把要存档的文件追加到档案文件的末尾。例如用户已经做好备份文件,又发现还有一个目录或是一些文件忘记备份了,这时可以使用该选项,将忘记的目录或文件追加到备份文件中
特别注意,主选项只能存在一个,c/x/t/r仅能存在一个!不可同时存在!因为不可能同时压缩与解压缩。
辅助选项:
-z:用gzip程序来压缩或解压缩文件,加上该选项后可以将档案文件进行压缩,但还原时也一定要使用该选项进行解压缩。文件格式一般为xx.tar.gz或xx.tgz
-j:使用bzip2程序进行文件的压缩或解压,文件格式一般为xx.tar.bz2
-v:压缩的过程中显示文件!这个常用
-f:使用档名,请留意,在f之后要立即接档名!不要再加其他参数!
-p:使用原文件的原来属性(属性不会依据使用者而变)
-w每一步都要求确认。
--excludeFILE:在压缩的过程中,不要将FILE打包!
范例:
范例一:将整个/etc目录下的文件全部打包成/tmp/etc.tar
[root@ubuntu~]#tar-cvf/tmp/etc.tar/etc<==仅打包,不压缩!
[root@ubuntu~]#tar-zcvf/tmp/etc.tar.gz/etc<==打包后,以gzip压缩
[root@ubuntu~]#tar-jcvf/tmp/etc.tar.bz2/etc<==打包后,以bzip2压缩
#特别注意,在参数f之后的文件档名是自己取的,我们习惯上都用.tar来作为辨识。
#如果加z参数,则以.tar.gz或.tgz来代表gzip压缩过的tarfile
#如果加j参数,则以.tar.bz2来代表bzip2压缩过的tarfile
#上述指令在执行的时候,会显示一个警告讯息:
#‘tar:Removingleading`/"frommembernames’那是关于绝对路径的特殊设定。
范例二:查看上述/tmp/etc.tar.gz文件内有那些被压缩的文件
[root@ubuntu~]#tar-ztvf/tmp/etc.tar.gz
#由于我们使用gzip压缩,所以要查阅该tarfile内的文件时,
#就得要加上z这个参数了!这很重要的!
范例三:将/tmp/etc.tar.gz文件解压缩在/usr/local/src底下
[root@linux~]#cd/usr/local/src
[root@linuxsrc]#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@linuxtmp]#tar-zxvf/tmp/etc.tar.gzetc/passwd
#我可以透过tar-ztvf来查阅tarfile内的文件名称,如果单只要一个文件,
#就可以透过这个方式来下达!注意到!etc.tar.gz内的根目录/是被拿掉了!
范例五:我要备份/home,/etc,但不要/home/dmtsai
[root@linux~]#tar--exclude/home/dmtsai-zcvfmyfile.tar.gz/home/*/etc
另外:tar命令的C参数
$tar-cvffile2.tar/home/usr2/file2
tar:Removingleading'/'frommembersnames
home/usr2/file2
该命令可以将/home/usr2/file2文件打包到当前目录下的file2.tar中,需要注意的是:使用绝对路径标识的源文件,在用tar命令压缩后,文件名连同绝对路径(这里是home/usr2/,根目录'/'被自动去掉了)一并被压缩进来。使用tar命令解压缩后会出现以下情况:
$tar-xvffile2.tar
$ls
………home…………
解压缩后的文件名不是想象中的file2,而是home/usr2/file2。
$tar-cvffile2.tar-C/home/usr2file2
该命令中的-Cdir参数,将tar的工作目录从当前目录改为/home/usr2,将file2文件(不带绝对路径)压缩到file2.tar中。注意:-Cdir参数的作用在于改变工作目录,其有效期为该命令中下一次-Cdir参数之前。
使用tar的-Cdir参数,同样可以做到在当前目录/home/usr1下将文件解压缩到其他目录,例如:
$tar-xvffile2.tar-C/home/usr2
而tar不用-Cdir参数时是无法做到的:
$tar-xvffile2.tar/home/usr2
tar:/tmp/file:Notfoundinarchive
tar:
② linux下如何解压和压缩文件
Linux下自带了一个unzip的程序可以解压缩文件,解压命令是:unzip filename.zip
也提供了一个zip程序压缩zip文件,命令是 zip filename.zip files ,会将files压缩到filename.zip
③ “方法”Linux下将文件打包、压缩并分割成指定大小
https://blog.csdn.net/whu_zhangmin/article/details/45870077
tar -zcvf cm-11.tar.gz cm-11
//将cm-11文件夹压缩成cm-11.tar.gz
split -b 4000M -d -a 1 cm-11.tar.gz cm-11.tar.gz.
//使用split命令,-b 4000M 表示设置每个分割包的大小,单位还是可以k
// -d "参数指定生成的分割包后缀为数字的形式
//-a x来设定序列的长度(默认值是2),这里设定序列的长度为1
执行命令后,生成压缩包如下:
tar -zcvf cm-11.tar.gz cm-11 | split -b 4000M -d -a 1 - cm-11.tar.gz.
//采用管道,其中 - 参数表示将所创建的文件输出到标准输出上
tar -zxvf cm-11.tar.gz
cat cm-11.tar.gz.* | tar -zxv
tar可以用来压缩打包单文件、多个文件、单个目录、多个目录。
Linux打包命令 tar
tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。
常用格式:
单个文件压缩打包 tar -czvf my.tar.gz file1
多个文件压缩打包 tar -czvf my.tar.gz file1 file2,...(file )(也可以给file 文件mv 目录在压缩)
单个目录压缩打包 tar -czvf my.tar.gz dir1
多个目录压缩打包 tar -czvf my.tar.gz dir1 dir2
解包至当前目录:tar -xzvf my.tar.gz
cpio
含子目录find x* | cpio -o > /y/z.cpio
不含子目录ls x* | cpio -o > /y/z.cpio
解包: cpio -i < /y/z.cpio
[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 打包!
④ 在linux操作系统如何快速打包压缩文件
软件测试过程中,我们会用到linux操作系统,如果想快速的压缩一些文件在window操作中很简答,在linux就可以使用命令行的方式快速压缩多个文件命令 tar czf test.tar.gz 要压缩的文件,生产压缩文件需要注意后缀名是统一,这样就可以把多个文件合并压缩成一个压缩包,如果想解压只需要记住一条命令 tar xzf test.tar.gz -C 目录名 注意,-C需要大写这样可以指定到某个目录下解压当前压缩包.
有关全套的linux的命令黑马程序员的社区当中都有全套的文章介绍啊,学习操作的话,我的方法是边看视频边实操。黑马就有一个很好的点,他们的课程都含有配套资料,内涵有笔记+课件+源码。或者你可以看看他们的软件测试相关的基础班课程大纲,基础班可以线下去上课,也是免费的。
⑤ linux--8、打包压缩文件命令
tar命令用于对文件打包压缩或解压:
$ tar [选项] [文件]
以下是tar命令的常用参数:
tar是个打包的命令,它的作用是将一堆的文件或目录归档成一个.tar结尾的文件。生成tar包后,就可以用其他的压缩程序来对tar包进行压缩。
我们在上面看到的 -z 参数就是对tar包用Gzip程序进行了压缩,最后才生成了 .tar.gz 结尾的压缩包。如果不用 -z 参数而使用 -j 参数,也就是用bzip2程序压缩tar包,最后就会生成 .tar.bz2 结尾的压缩包。
使用tar命令打包压缩的一个好处是,它会保留原始文件的权限和属性。
我们经常会在windows系统上使用 .zip 格式的压缩文件,在linux中也可以将文件和目录压缩成zip格式,或者解压zip格式的压缩包。
但是zip的缺点是不能保留文件的权限和属性,解压后需要我们自己用chmod重新设置文件的权限。
⑥ 说说 Linux 中的压缩与解压缩指令(tar)
tar 的功能类似于 Windows 中的 WinRAR。它可以将多个目录或文件打包成一个大文件,在打包的过程中还可以透过 gzip/bzip2/xz 的支持,对文件进行压缩 1 。
tar 的选项参数很多,主要用到的有以下这些:
还是太多,记不住怎么办? 记住下面这些最常用的命令即可:
总结一下:z 为gzip;j 为bzip2;J 为xz。c 为压缩;t 为查询;x 为解压缩。最后跟着 vf。f 一定要是最后一个,如果放在其他选项之前,tar 就会把文件名搞错。比如 tar -zcfv xxx 命令,tar 指令就会认为压缩文件名为 v!
压缩的文件名称要根据压缩算法加上响应的后缀:
只有知道了压缩算法,我们才能解的出来,你说是吗?所以文件名规范很重要。
假设我们需要备份 /etc 文件夹,把它打成一个压缩包 1 。这在实际应用中很常见,因为 /etc 文件夹存放了系统主要配置文件。在英文中完整单词是etc.,也就是后面会带上一个句点,表示“等等”之意。
接下来,我们分别使用 gzip、bzip2与 xz 算法对 /etc 文件夹进行打包压缩。
gzip 压缩指令: time tar -zpcvf /root/etc.tar.gz /etc
bzip2压缩指令: time tar -jpcvf /root/etc.tar.bz2 /etc
xz 压缩指令: time tar -Jpcvf /root/etc.tar.xz /etc
从 real 中可以看出: gzip 的压缩速度最快,而 xz 的压缩速度最慢。
从大小上来看,xz 的压缩率最高,而gzip 压缩率最差。
压缩率高,自然需要时间成本。因此需要压缩的文件夹很大,那么就要多多考虑时间成本咯。因为 gzip 压缩速度快,这也是 *.tar.gz 比较流行的原因之一。
假设有这样一种场景:我们需要打包某个文件夹(/root),但这个文件夹中的某个文件或者子文件夹不想打包进去(带 etc 前缀)。也就是希望这个文件夹部分打包,部分不打包。可以执行以下指令:
tar -zcvf /root/test.tar.gz --exclude=/root/etc* --exclude=/root/test.tar.gz /root
加了 --exclude=/root/test.tar.gz 是为了排除自身,否则压缩包中会包含一个大小为 0 的自身文件,这恐怕不是我们希望看到的:
通过 tar -ztvf test.tar.gz 就可以查看刚刚新打的压缩包中所包含的文件列表:
使用命令 tar -ztvf etc.tar.gz 查看刚刚打好的压缩包。注意要使用匹配的解压缩算法才能正确解压,比如示例中是 gz 作为后缀,所以加了 -z 选项表示使用 gzip 算法进行解压。
部分输出内容:
可以看到该命令把文件的权限、账户以及归属组也一并打印出来了。
而且还有一点很关键,这些文件都没有根目录。如果没有拿掉根目录,解压缩后的文件名就会是绝对路径, 亦即解压缩后的数据一定会被放置 到 /etc/xxx 去 1 !这样系统的 /etc 文件夹就会被覆盖,后果很严重。所以,tar 打包指令默认都会去除放入包中文件的根目录。除非通过 -P 显示要求保留这些文件的根目录。
(1)完全解压
利用 tar -zxvf etc.tar.gz -C /tmp 命令把 etc.tar.gz 解压到 /tmp。解压成功后,就会在 /tmp 下看到 /etc 文件夹。
如果需要在本地路径下直接解开,那直接执行 tar -zxvf etc.tar.gz 即可。
(2)部分解压
假设我们需要把压缩包(etc.tar.gz)中的 vconsole.conf 解压出来。可以先执行以下命令,查询出该文件所对应的相对路径:
tar -ztvf etc.tar.gz | grep ‘console’
拿到需要解压的文件路径之后,就可以执行 tar -zxvf etc.tar.gz etc/vconsole.conf
进入当前目录的 etc 文件夹,就可以看到 vconsole.conf 已经被解压出来了:
【1】 鸟哥. 鸟哥的Linux私房菜 基础学习篇[M]. 第四版. 北京: 人民邮电出版社,2018:359-362.
⑦ Linux打包和压缩
主要针对单个文件压缩,而非目录
此工具来自于ncompress包,此工具目前已经很少使用
对应的文件是 .Z 后缀
格式
常用选项
范例
zcat file.Z 不显式解压缩的前提下查看文本文件内容
范例
来自于 gzip 包
对应的文件是 .gz 后缀
格式
常用选项
范例
范例
来自于 bzip2 包
对应的文件是 .bz2 后缀
格式
常用选项
范例
来自于 xz 包
对应的文件是 .bz2 后缀
选项
范例
zip 可以实现打包目录和多个文件成一个文件并压缩,但可能会丢失文件属性信息,如:所有者和组信息,一般建议使用 tar 代替
分别来自于 zip 和 unzip 包
选项
范例
范例:交互式加密和解密
范例: 非交互式加密和解密
tar 即 Tape ARchive 磁带归档,可以对目录和多个文件打包一个文件,并且可以压缩,保留文件属性不丢失,常用于备份功能,推荐使用
对应的文件是 .tar 后缀
格式
选项
(1)创建归档,保留权限
(2)追加文件至归档:注:不支持对压缩文件追加
(3) 查看归档文件中的文件列表
(4) 展开归档
(5) 结合压缩工具实现:归档并压缩
范例
范例
范例
split 命令可以分割一个文件为多个文件
范例
将多个切割的小文件合并成一个大文件
cpio 是历史悠久的打包和解包工具,不过目前也已较少使用
cpio 命令是通过重定向的方式将文件进行打包备份,还原恢复的工具,它可以解压以“.cpio”或者“.tar”结尾的文件
格式
常用选项
范例
⑧ linux把文件压缩成.tar.gz的命令
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。