linux如何将环境文件或者文件夹打包

 更新时间:2023年12月12日 09:27:28   作者: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)效果:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

最新评论