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)效果:

总结

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

相关文章

  • 在Linux系统上安装Spring boot应用的教程详解

    在Linux系统上安装Spring boot应用的教程详解

    这篇文章主要介绍了在Linux系统上安装Spring boot应用,本文通过实例文字相结合的形式给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-05-05
  • 详解Nginx服务器中的Socket切分

    详解Nginx服务器中的Socket切分

    这篇文章主要介绍了Nginx服务器中的Socket切分,以新发布的1.9.1版本的Nginx为基础,需要的朋友可以参考下
    2015-06-06
  • Linux CentOS使用crontab设置定时重启的方法

    Linux CentOS使用crontab设置定时重启的方法

    本篇介绍 crontab 设置定时任务,并且把 crontab 加入到开机自启动中,感兴趣的朋友跟随脚本之家小编一起看看吧
    2018-08-08
  • LuManager VPS主机控制面板安装和Eduvps免费VPS测评

    LuManager VPS主机控制面板安装和Eduvps免费VPS测评

    这篇文章主要介绍了LuManager VPS主机控制面板安装和Eduvps免费VPS测评,需要的朋友可以参考下
    2016-04-04
  • CentOS7环境搭建python3以及与python2实现共存的方法

    CentOS7环境搭建python3以及与python2实现共存的方法

    这篇文章主要介绍了CentOS7环境搭建python3以及与python2实现共存的方法,结合实例形式简单分析了CentOS7环境下安装Python3的步骤、命令及测试代码示例,非常简单易懂,需要的朋友可以参考下
    2018-06-06
  • linux服务器校对时间方法命令详解

    linux服务器校对时间方法命令详解

    Linux中有个ntp包可以自动校准时间,并且非常好用,这篇文章主要介绍了linux服务器校对时间方法,需要的朋友可以参考下
    2022-08-08
  • 详解Linux环境变量配置全攻略

    详解Linux环境变量配置全攻略

    这篇文章主要介绍了Linux环境变量配置全攻略,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Linux系统命令中screen命令详解

    Linux系统命令中screen命令详解

    screen是可以在同一个远程登陆会话窗口中创建多个screen会话窗口,当会话暂时可以不需要的时候,可以放至后台运行,虽然LINUX下提供&命令将程序放置后台运行,但是对于人机交互的任务(比如在MySQL中运行一个长任务),还是screen比较胜任一点。下面来看看详细的介绍吧。
    2016-12-12
  • ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

    ubuntu系统中/etc/rc.local和/etc/init.d/rc.local的区别详解

    这篇文章主要给大家介绍了关于在ubuntu系统下/etc/rc.local和/etc/init.d/rc.local区别的相关资料,文中通过示例代码介绍的非常详细,对需要的朋友们具有一定的参考学习价值,需要的朋友们下面来一起看看吧。
    2017-08-08
  • Ubuntu下sublime中文无法输入的处理方案

    Ubuntu下sublime中文无法输入的处理方案

    本文主要是给出了Ubuntu下sublime中文无法输入的处理方案,非常的实用,遇到相同问题的小伙伴们可以参考下
    2014-11-11

最新评论