linux如何将环境文件或者文件夹打包
作者:wd520521
这篇文章主要介绍了linux如何将环境文件或者文件夹打包问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
1、linux zip压缩
压缩当前文件夹下所有文件,压缩为a.zip。命令行的方法是怎样。
常用格式:
zip -r fileName.zip 文件夹名
(1)把/home目录下面的data目录压缩为data.zip
zip -r data.zip data #压缩data目录
(2)把/home目录下面的data.zip解压到databak目录里面
unzip data.zip -d databak
(3) 覆盖源路径解压
unzip -o healthcode-catch.zip -d disaster-recovery
(4)把/home目录下面的a文件夹和3.txt压缩成为a123.zip
zip -r a123.zip a 3.txt
(5)把/home目录下面的t.zip直接解压到/home目录里面
unzip t.zip
(6)把/home目录下面的a1.zip、a2.zip、a3.zip同时解压到/home目录里面
unzip a*.zip
(7)把/home目录下面w.zip里面的所有文件解压到第一级目录
unzip -j wt.zip
2、linux tar压缩
(1)tar命令格式:
下面五个参数是独立的,压缩解压都要用到其中一个,可以和下面的命令连用但只能用其中一个。
- -c: 建立压缩档案(创建一个新的tar文件)
- -x:解压
- -t:查看内容
- -r:向压缩归档文件末尾追加文件
- -u:更新原压缩包中的文件
下面的参数是根据需要在压缩或解压档案时可选的。
- -z:使用gzip压缩它
- -j:有bz2属性的
- -Z:有compress属性的
- -v:详细,显示要压缩或解压缩的文件
- -O:将文件解开到标准输出
- -p :使用原文件的原来属性(属性不会依据使用者而变)
参数-f是必须的。
- -f: 以提供的文件名作为参数创建tar文件
(2)tar命令可以用来压缩打包单文件、多个文件、单个目录、多个目录。
常用格式:
- 单个文件压缩打包 tar czvf my.tar file1
- 多个文件压缩打包 tar czvf my.tar file1 file2,…
- 单个目录压缩打包 tar czvf my.tar dir1
- 多个目录压缩打包 tar czvf my.tar dir1 dir2
- 解包至当前目录:tar xzvf my.tar
压缩为*.tar
tar -cvf test.tar test.txt
*.tar解压缩
tar -xvf test.tar
压缩为*.bz2
tar -jcvf test.tar.bz2 test.txt
*bz2解压缩
tar -jxvf test.tar.bz2
3、分卷压缩
(1)使用tar分卷压缩
格式:
tar zcvf - filedir | split -d -b 500m - filename
样例:
tar zcvf - ./picture | split -d -b 500m - picture
将./picture打包,并切割为 500m 的包
- 输出的文件为 filename00、filename01、filename02 …
- 假设不加filename,则输出文件为 x00、x01、x02 …
- 假设不加參数 -d。则输出aa、ab、ac …
(2)解压分卷
首先将分卷包合并
cat x* > myzip.tar.gz
然后解压
tar zxvf myzip.tar.gz
样例:
cat picture* > picture.tar.gz tar zxvf picture.tar.gz
4、Linux脚本把指定目录下的所有目录(文件夹)分别单独打包
(1)编写Linux shell 脚本完整代码如下 ——yasuo.sh
#!/bin/bash function zipFile(){ echo $1 flist=`ls $1` cd $1 echo $flist for f in $flist do if test -d $f then #echo "dir:$f" zip -r $f.zip $f fi done } zipFile $1
注意:
- 传入参数——指定目录
ls
获取目录下文件 到flist
- 遍历
flist
判断是否是目录,如果是目录则进行打包操作zip -r $f.zip $f
(2)应用:
# 修改脚本属性为 可执行 chmod 755 yasuo.sh # 指定目录即可 ./yasuo.sh 123/
(3)效果:
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。