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

比如/home下有a、b、c....... 共n个文件夹
我想用zip把他们分别打包为a.zip、b.zip、c.zip.........n.zip
因为要在windows下使用,所以最好是用zip

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
温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-15
特别感谢【埃及大猩猩 】的答案,我又完善下
注:必须在对应目录下执行,这里没有判断在对应路径下执行压缩,
这个会把自身也压缩下,本人也在学习中
#!/bin/bash
FILE=`ls`
for i in $FILE
do
## 循环遍历静默压缩
zip -rq $i.zip $i
## 压缩完成显示一个
echo $i.zip
done
第2个回答  推荐于2017-09-05
脚本
#!/bin/bash
FILE=`ls /home/`
for i in $FILE
do
zip $i.zip $i

done

低级错误 失误啊。。。= =真丢脸 已修正本回答被提问者和网友采纳
第3个回答  2020-03-19
很多人在学习云计算之初,都要学习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/64-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先进,但源码包比较全。
第4个回答  2019-08-13
#ls|xargs -i tar -czvf {}.tar.gz {}

zip的话: #ls | xargs -i -r {}.zip {}
相似回答