A. 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”结尾的文件
格式
常用选项
范例
B. Linux下,如何用命令,要求:只打包当前文件夹和所有子文件夹中的.
1、连接上相应的linux主机,进入到等待输入shell指令的linux命令行状态下。
C. linux下打包所有文件,包括隐藏文件到压缩包
命令如下:
压缩当前文件夹下非[隐藏文件]的文件
压缩当前文件夹下[隐藏文件]排除两个[隐藏文件]夹"."和“..”
https://www.cnblogs.com/ysk123/p/9849865.html
D. 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重新设置文件的权限。
E. Linux中用tar命令对文件夹进行打包压缩
打包: 指将多个文件(或目录)合并成一个文件,方便在不同节点之间传递或在服务器集群上部署.
压缩或打包文件常见扩展名: *.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目录
F. linux 如何打包当前文件下所有文件包括隐藏文件
命令如下:
cd /root/test/
tar czvf test.tar.gz .[!.]* *
解说下:
tar czvf test.tar.gz * 压缩当前文件夹下非隐藏文件的文件
tar czvf test.tar.gz .[!.]* 压缩当前文件夹下隐藏文件排除两个隐藏文件夹"."和“..”
排除的如图,然后会把上一级的文件也打包进来了。
G. 「方法」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 打包!
H. 4-11 Linux中的打包和备份的归档工具 --- tar(打包)
2、用参数 -cvf 打包 directory 目录及内容。
3、用参数 tf 列出包内容。tvf 列出包详细内容
4、解包用 xvf 参数。
5、打包、解包细节事项:
2)、如果想把打包文件存放到其他地方,就要指定打包路径存放 tar 的打包文件。
例:把 directory 目录及文件打包到 backups_tar 目录。
3)、精确定位打包到单个目录或目录下的文件。
4)、指定打包某些目录、文件。假设 SRC 目录下有多个目录及不同类型的文件需要进行打包。
6)、--exclude:排除指定目录或文件不进行打包。
I. linux下如何用zip打包某个目录下所有文件夹为独立的压缩包
特别感谢【埃及大猩猩 】的答案,我又完善下
注:必须在对应目录下执行版,这里没有判断在对应权路径下执行压缩,
这个会把自身也压缩下,本人也在学习中
#!/bin/bash
FILE=`ls`
for i in $FILE
do
## 循环遍历静默压缩
zip -rq $i.zip $i
## 压缩完成显示一个
echo $i.zip
done