打包: 指将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署.
我们提供的服务有:成都网站制作、成都做网站、微信公众号开发、网站优化、网站认证、淇滨ssl等。为成百上千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的淇滨网站制作公司
压缩或打包文件常见扩展名: *.tar, *.tar.gz, *.gz, *.bz2, *.Z;
Linux系统一般文件的扩展名用途不大,但是压缩或打包文件的扩展名是必须的.因为linux支持的压缩命令较多,不同的压缩技术使用的压缩算法区别较大,根据扩展名能够使用对应的解压算法.
将文件夹打包,也能将包解开成文件夹.
例1: 在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里,然后打包压缩成gz格式,要求显示压缩详情。
1)在/tmp文件夹下创建demo文件夹,将/etc目录拷贝到/tmp/demo目录里.
注意: 拷贝非空目录要加 -r
2)将etc文件夹打包压缩成gz格式,并显示压缩详情.
tar -czvf 打包压缩后文件名 被打包压缩的文件夹
如果打包压缩成.bz2格式,那么tar命令的参数: -cjvf.
例2: 先删除etc目录,解压缩myetc.tar.gz到当前目录.
1)删除etc目录
2)解压缩myetc.tar.gz到当前目录
例3: 将myetc.tar.gz解压缩到指定目录/home
例4: 仅仅解压缩myetc.tar.gz里的某个目录,例如etc/udev
1)先删除etc目录
2)解压缩myetc.tar.gz到etc/udev目录
分析如下:
一、Linux下的tar命令详解
1、tar -c:建立压缩档案
2、tar -x:解压
3、tar -t:查看内容
4、tar -r:向压缩归档文件末尾追加文件
5、tar -u:更新原压缩包中的文件
二、压缩
1、tar -cvf jpg.tar *.jpg// 将目录里所有jpg文件打包成jpg.tar
2、tar -czf jpg.tar.gz *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用gzip压缩,生成一个gzip压缩过的包,命名为jpg.tar.gz
3、tar -cjf jpg.tar.bz2 *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用bzip2压缩,生成一个bzip2压缩过的包,命名为jpg.tar.bz2
4、tar -cZf jpg.tar.Z *.jpg// 将目录里所有jpg文件打包成jpg.tar后,并且将其用compress压缩,生成一个umcompress压缩过的包,命名为jpg.tar.Z
5、rar a jpg.rar *.jpg// rar格式的压缩,需要先下载rar for linux
6、zip jpg.zip *.jpg// zip格式的压缩,需要先下载zip for linux
三、解压
1、tar -xvf file.tar// 解压 tar包
2、tar -xzvf file.tar.gz// 解压tar.gz
3、tar -xjvf file.tar.bz2// 解压 tar.bz2
4、tar -xZvf file.tar.Z// 解压tar.Z
5、unrar e file.rar// 解压rar
6、unzip file.zip// 解压zip
四、具体操作方法:
1、如图看到的示例,用tar命令来打包这些文件以及目录。(文件目录以自己实际情况为准,这里用做参考用例)
2、如图所示,tar -cvf便是打包,包名可以自己定(要加.tar后缀名),这是打包一个bd1.txt文件。
3、打包多个文件就是用空格隔开文件名,这样即可以此来打包多个txt文件。
4、可用星号*跟后缀名来匹配指定某一类文件,比如TXT类文件。
5、用Tar命令打包文件到指定的目录文件夹里面可以在包前面加文件夹的路径,例打包到a文件夹里边了。
tar命令使用
压缩:tar cvfz 目标文件 源文件1 [源文件2...]
例如:tar cvfz m.tar.gz hello.cpp hello.h //m.tar.gz是目标文件,hello.cpp和hello.h是源文件
tar cvzf xxx.tar.gz xxx/ 就压缩文件夹下所有的文件
tar xvjf xxx.tar.bz2 xxx/
解压:tar xvfz 目标文件
例如:tar xvfz m.tar.gz //在当前目录下将压缩包文件m.tar.gz解压缩
上面的简单用法基本够用了,以下是从别的地方转来的其他一些用法,但我从来没用过,暂时存放一下。
1.文件或目录打包:tar -cvf /u0/temp2.tar /usr/lib
将/usr/lib目录下的文件与子目录打包成一个文件库为/u0/temp2.tar。
tar -cvf /u0/temp2.tar /usr/lib *.c *.f
将/usr/lib目录下的*.c *.f等文件(不含子目录)打包。注意:如果指定文件如*.c *.f或*.*,则打包时均不含子目录。如果指定为.或*,则含子目录。
2.压缩:compress /u0/temp2.tar压缩为/u0/temp2.tar.z
3.解压:uncompress /u0/temp2.tar.Z则还原为/u0/temp2.tar
4.解包展开:tar -xvf /u0/temp2.tar
若以相对路径打包的,解包时,以相对路径存放展开的文件数据;若以绝对路径打包的,解包时,以绝对路径存放展开的文件数据。若指定展开的文件名,须注意文件的目录路径。
5.显示:tar -tvf /u0/temp2.tar 显示文件库内的文件名称。当指定文件名时,亦须注意文件的路径。
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
2、在linux命令行下输入shell指令:zip -r test.zip /home/httpd/html/test。
3、键盘按“回车键”运行shell指令,此时成功将test文件夹以及其以下文件一同打包到了test.zip。
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 打包!
zip -r /usr/abc.zip
其中 -r 是为了将你的目录全部循环一遍 如果是单个文件就可以不加
另外如果要指定zip到哪里可以在后面加路径 空格 然后加上路径就好