搜索

linux下如何用zip打包某个目录下所有文件夹为的压缩包

发布网友 发布时间:2022-02-26 14:04

我来回答

7个回答

懂视网 时间:2022-02-26 18:25

Linux中如何打包压缩解压文件

设备型号:ThinkPad E15

操作系统: centos7和centos8

软件版本:tar-1.30

用法:tar [OPTION...] [FILE]...

参数:

-ccreate创建文件

-x-extract解压文件

-v--verbose显示执行详细过程

-f--file指定被压缩的文件

-C (大写)--directory   指定解压位置

例:给/boot/grub2目录 打包

[root@xuegod63 ~]#  tar -cvf grub.tar /boot/grub2/  

[root@xuegod63 ~]# ls grub.tar

[root@xuegod63 ~]# tar xvf grub.tar#解压缩

[root@xuegod63 ~]# ls  boot  #查看解压后,得到的boot文件夹中的内容

grub2

例2:把两个目录或目录+文件打包成一个软件包:

[root@xuegod63 ~]# mkdir ./back

[root@xuegod63 ~]# cp /etc/passwd ./back/

[root@xuegod63 ~]# tar -cvf back.tar /boot/grub2  /root/back/ /etc/passwd

tar: 从成员名中删除开头的“/”

-rw-r--r-- root/root      1024 2020-06-28 19:46 boot/grub2/grubenv     ###输出内容

-rw-r--r-- root/root      5130 2020-06-28 19:46 boot/grub2/grub.cfg

drwxr-xr-x root/root         0 2020-07-03 14:23 root/back/

-rw-r--r-- root/root      2735 2020-07-03 14:23 root/back/passwd

-rw-r--r-- root/root      2735 2020-06-28 19:49 etc/passwd

2、  tar 归档+压缩

语法:tar czvf newfile.tar.gz SOURCE

语法:tar czvf 压缩后的文件名(tar.gz tar.bz2) 需要压缩的文件或目录

常用参数:

-z, --gzip以gzip方式压缩  扩展名: tar.gz

-j :以bz2方式压缩的  扩展名:tar.bz2

-J:以xz 方式压缩   扩展名:tar.xz

例1:创建.tar.gz 包

[root@xuegod63 ~]#  tar zcvf /root/grub.tar.gz  /boot/grub2  #归档,注意备份的名字后缀

[root@localhost test]# tar zxvf /root/etc.tar.gz   #解压缩

例2:创建.tar.bz2包

[root@xuegod63 ~]# tar -jcvf  grub.tar.bz2 /boot/grub2 

[root@xuegod63 ~]#  tar -jxvf grub.tar.bz2 #解压缩

[root@xuegod63 ~]#  tar jxvf grub.tar.bz2  -C  /opt#解压到opt目录下

例3:创建.tar.xz包

[root@xuegod63 ~]#  tar -Jcvf grub.tar.xz /boot/grub2

[root@xuegod63 ~]#  tar -xvf  grub.tar.xz #解压tar.xz 这类包

或:

[root@xuegod63 ~]#  tar -Jxvf ~/etc.tar.xz  

对比三种压缩方式后压缩比例:

[root@xuegod63 ~]# ll -h grub*

-rw-r--r-- 1 root root 5.2M 10月 26 16:27 grub.tar

-rw-r--r-- 1 root root 1.9M 10月 26 18:51 grub.tar.bz2

-rw-r--r-- 1 root root 2.1M 10月 26 18:47 grub.tar.gz

-rw-r--r-- 1 root root 1.4M 10月 26 19:03 grub.tar.xz#这个压缩比例最高,压缩的时间是最长

总结:

用法:tar [OPTION...] [FILE]...

参数:

-ccreate创建文件

-x-extract [?ekstr?kt]  提取 解压还原文件

-v--verbose显示执行详细过程

-f--file指定备份文件

-C (大写)--directory   指定解压位置

tar 归档+压缩

语法:tar czvf newfile.tar.gz SOURCE

语法:tar czvf 压缩后的文件名(tar.gz tar.bz2) 需要压缩的文件或目录

常用参数:

-z, --gzip以gzip方式压缩  扩展名: tar.gz

-j :以bz2方式压缩的  扩展名:tar.bz2

-J:以xz 方式压缩   扩展名:tar.xz

热心网友 时间:2022-02-26 15:33

linux zip命令的基本用法是:
zip [参数] [打包后的文件名] [打包的目录路径]
linux zip命令参数列表:
-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件
-h 显示帮助界面
-m 将文件压缩之后,删除源文件
-n 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
-t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy
举例:说个最常用的吧,打包/home/a目录到/home/a.zip
# zip -r /home/a.zip /home/a/
//参数一般只要有-r

热心网友 时间:2022-02-26 16:51

特别感谢【埃及大猩猩 】的答案,我又完善下
注:必须在对应目录下执行,这里没有判断在对应路径下执行压缩,
这个会把自身也压缩下,本人也在学习中
#!/bin/bash
FILE=`ls`
for i in $FILE
do
## 循环遍历静默压缩
zip -rq $i.zip $i
## 压缩完成显示一个
echo $i.zip
done

热心网友 时间:2022-02-26 18:26

脚本
#!/bin/bash
FILE=`ls /home/`
for i in $FILE
do
zip $i.zip $i

done

低级错误 失误啊。。。= =真丢脸 已修正

热心网友 时间:2022-02-26 20:17

很多人在学习云计算之初,都要学习Linux,云计算服务是部署在Linux系统中的。不过Linux涵盖的知识点非常多,你不仅要掌握各种操作命令,还要了解Linux文件的打包与压缩,接下来的杭州云计算入门课程就给大家简单分享。

在Linux系统中,通常我们使用的打包压缩工具有.tar.gz、.tar.bz2、.zip、gzip、bzip2只压缩文件和tar只打包文件。

tar
只打包文件
tar的打包解包:
tar cvf file.tar 被打包的文件
tar xvf file.tar -C /home 指定解压路径
不解压查看压缩包内的信息内容:
tar -tf dir1.tar.gz

gzip压缩解压:
gzip 源文件
gzip -d 压缩文件
gunzip 压缩文件
gzip -c file1 >/home/file1.gz 将文件压缩到指定位置(注意以.gz结尾)

bzip2
只压缩文件bzip2命令的压缩与解压
bzip2 源文件
bzip2 -d 压缩文件
bunzip2 压缩文件
bzip2 -c file1 >/opt/file1.bz2 将文件压缩到指定位置(注意以.bz2结尾)

打包压缩
tar与gzip命令结合可以实现文件打包压缩,
用gzip压缩tar打包后的文件,其扩展名一般用xxx.tar.gz
tar与bzip2命令结合也可以实现文件的打包压缩,
其扩展名一般用 xxx.tar.bz2

优缺点
bzip2有比较高的压缩比,相应的压缩用时也要久一些,占用的系统内存也更大;
gzip最大的优势就是压缩解压速度快,压缩比稍逊于bzip2;
临时性的压缩包尽量选择压缩速度快的格式,如.gz;
用于持久备份或存档的文件,尽量选择压缩比较大的格式,如.bz2。
最后,它们之间还有一些区别,tar可以打包文件和目录,而bzip2和gzip只能压缩文件。

在Linux中,软件安装的方式有三种:
一、源代码形式
1、绝大多数开源软件都是直接以原码形式发布的
2、源代码一般会被打包成.tar.gz的归档压缩文件
3、源代码需要编译成为二进制形式之后才能够运行使用
4、源代码基本编译流程:
1).configure 检查编译环境,这里可以通过--prefix等命令配置安装路径(好像)
2)make对源代码进行编译;
3)make insall 将生成的可执行文件安装到当前计算机中

二、RPM
1、源代码形式的特点:操作复杂、编译时间长、极易出现问题、依赖关系复杂
2、为了方便,RPM(redhat package manager)
3、RPM通过将代码基于特定平台系统编译为可执行文件,并保存依赖关系,来简化开源软件的安装管理。针对不同的系统设定不同的包
4、常用命令规范:linuxcast-1.2.0-30.el6.1686.rpm 包名-版本号-适用平台-32/-rpm
5、使用rpm –i software.rpm(安装);
rpm -e software.rpm(卸载);
rpm –U software.rpm(升级形式安装);
rrpm –ivh(支持通过http\ftp协议形式安装)
-v 显示详细信息;-h显示进度条
查询功能:rpm –qa 列出全部已经安装的.rpm软件 rpm –qa |grep ***
三:YUM
1、rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。很多时候安装一个软件需要安装1个或者多个其他软件,手动解决时,很复杂,但是yum能解决这些问题。Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点:
1)自动解决依赖关系;2)可以对rpm进行分组,基于组进行安装操作;3)引入仓库概念,支持多个仓库;4)配置简单。
2、yum仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。
3、仓库的配置文件/etc/yum.repos.d目录下
4、使用:1)yum install 安装;
2)yum remove卸载;
3)yum update 升级制定软件
5、安装的时候,会下载软件包.Rpm在安装,所以用国内仓库。改变镜像源1)访问地址 2)点centos使用帮助;3)按步骤来
6、查询软件:可以使用yumsearch *
综上,yum 比rpm先进,但源码包比较全。

热心网友 时间:2022-02-26 22:25

#ls|xargs -i tar -czvf {}.tar.gz {}

zip的话: #ls | xargs -i -r {}.zip {}

热心网友 时间:2022-02-27 00:50

zip -r a.zip a追问1000多个文件夹,挨个zip? 我当然问的是怎么样用一条命令或者比较简单的办法解决啦

追答埃及大猩猩 你的变量传错了 应该是zip $i.zip $i

声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:11247931@qq.com
Top