Linux下如果把多个文件批量压缩成zip文件
linux zip压缩。压缩当前文件夹下所有文件,压缩为a.zip。可以使用命令zip -r mydata.zip dir。例如:
要压缩/home/data这个目录,则压缩命令为zip -q -r mydata.zip /home/data;
如果现在在/home 这个目录下,则命令是zip -q -r data.zip data;
如果在/home/data 这个目录下,则命令是zip -q -r data.zip * 。
扩展资料
linux zip压缩命令主要参数介绍:
1、-c:将解压缩的结果。
2、-l:显示压缩文件内所包含的文件。
3、-p:与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
4、-t:检查压缩文件是否正确。
5、-u:与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其它文件解压缩到目录中。
6、-v:执行是时显示详细的信息。
7、-z:仅显示压缩文件的备注文字。
8、-a:对文本文件进行必要的字符转换。
9、-b:不要对文本文件进行字符转换。
10、-C:压缩文件中的文件名称区分大小写。
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
就拿pdf文件来举例子:
1、对文件、图片、视频进行压缩操作,相应的都会有损害,我们能降低对文件压缩的损害,为什么不这样做呢?我们肯定会选择对我们有利的方法,首先打开工具页面,挑选需要使用的功能。
2、选择文件压缩点击来到文件压缩界面,蓝色语句提示选择文件,点击这个按钮选择文件添加到页面中即可。
3、文件添加在页面上工具会对文件进行夜歌数据的分析,操作者可以参考页面上得数据与压缩之后做一个对比。
4、前面提到这样压缩可以同时对多个文件进行,在这里点击选择文件再添加两个文件到页面中,操作是可以一步完成的,在添加文件时按住Ctrl键添加多的文件一同到页面中
5、将需要压缩的文件放置在页面中后,看下面的选项有没有我们需要的,有三个选项,一:普通压缩(意味将文件中多余且不影响文件内容根据数据压缩)、二:优先缩小(保留文件主体内容对文件进行计算压缩)、三:优先清晰(这个选项一般在视频文件或是图片文件的压缩中使用到)。
6、选择完成之后点击页面左下角的开始压缩按钮,对文件进行压缩,点击之后页面上的文件会出现一个蓝色的条框。
7、当条框到达最左边并显示已完成字样是表示文件压缩完成。
管道命令可以实现
ls |grep csv |while read line;do zip $line.zip $line;done
如果多个文件压缩成一个压缩包可以如下命令
zip test.zip 1.txt 2.txt 3.txt
晕,为什么linux下面用zip呢..
gzip是linux源生并且自带的,windows下面的winrar什么的也可以解压gzip的文件
gzip *.csv
就可以了
解压的时候 gzip -d *.gz
================好吧...非要zip
find . -name '*.csv' -exec zip {}.zip {} \;
rename 's/.csv.zip/.zip/' *.csv.zip
find那个命令最后一个分号别漏了...
第一个问题:
for CSV in `ls *.csv`; do zip $CSV.zip $CSV; NUM=`echo $CSV|awk -F"." {'print $1'}`; mv $CSV.zip $NUM.zip; done
第二个问题:
for CSV in `ls *.csv`; do cat $CSV | sed 's/aaaa/bbbb/g'>new$CSV; /bin/mv new$CSV $CSV; done
Linux下多个应用程序对同一个设备进行操作会引起冲突吗?
如果是多线程的话 特可以用互斥锁 使用互斥锁需避免死锁 如果是多进程的话 可以用信号量来避免冲突 要真具体讲 不是一俩句可以说明白的 需要代码 否则太虚了 你可以看看LINUX中多线程和多进程这部分 看明白了就懂了
怎么在Linux下设置vnc服务器,使其能同时有多个用户用root登录,而且不会...
6. 我们可以查看VNC server占用的端口号,使用命令ss——CentOS 7下用来显示网络sockets 占用的命令。因为我们刚刚打开了一个显示会话,所以目前打开的端口应该是5901\/TCP.同样的,使用ss命令需要root权限。假如不同用户登录到了本机,对应的端口号就应该是5902,接下来应该是5903 等等,端口6000+是用于X...
如何在linux平台下使用C++语言实现多文件的压缩解压缩(使用zlib依赖...
相关 API 虽然 minizip 更像是个例子,但是除去其主程序 minizip.c 和 miniunz.c 后,剩下的部分我们可以看作是 ZLib 的一个上层库,它封装了与 ZIP 文件格式相关的操作。而 minizip.c 和 miniunz.c 就是我们要改写的——把它从命令行程序改为上述傻瓜接口。minizip.c 和 miniunz.c 中用到...
在Linux中打开了太多文件的三种解决方法
因为不是所有的程序都在root下跑的,所有linux有对hard 与soft open files 的区分,普通用户受hard的限制,无论ulimit -n $数值调到多高,都跑不到 \/etc\/security\/limits.conf里nofile的值.这样的优化后 lsof -p $java_pid|wc -l可以跑到4千以上都不会抛出too many ...
linux 下80G硬盘装系统时候默认分区,为什么只能看到一个分区20G 有什...
\/etc\/fstab 文件修改下就好了,就跟重新装系统的原理是一样的(可以对整个linux系统进行搬家),开机自动挂载,比如:\/dev\/sda1 \/ ext3 defaults 0 0 #这个是默认开机挂载根目录的 \/dev\/sdaX \/usr ext3 defaults 0 0 #X是你要挂的分区,\/usr可以自己设定 或者为 \/home 你可以运行相应命令 m...
linux下shell脚本怎样实现多行输出在屏幕上 只显示一行 后一行的输出...
so easy 我记得很久以前还在红联混得时候我写过一个菜单的脚本,就是你这种功能的要求。我当时是这么干的:有个printf 这个和C语言里的printf函数的格式符都一样,所以可以用C里面的 \\r 或者 \\b 来搞 \\r 光标移到行首 \\b 退格 ===这两个用哪个都可以,我当时用的是 \\r printf("第...
在Linux下怎么安装和卸载软件
与其它安装方式相比,需要用户自己编译安装是最难的,它适合于使用Linux已有一定经验的人,一般不推荐初学者使用。关于Linux下软件的安装与卸载lanche已经讲了这么多,但可能还会有人问怎么知道一个tar.gz\/bz2包是二进制文件包呢还是源代码包?如果你用过压缩工具就会明白,压缩包未必就是软件,它也可能是...
linux多线程编程?
Linux系统中,多线编程是一种非常常见的编程模型。多线编程可以让程序在多个线程上同时运行,具有提高程序性能和优化CPU利用率的作用。下面是多线编程的基本流程:1.创建线程:使用pthread_create函数创建需要的线程,这个函数原型如下:函数参数说明:thread:用来存放线程ID的指针。attr:线程属性,通常置NULL...
在linux 对多文件操作时 显示 你输入的参数太长。如果修改配置文件增 ...
因参数太长而报错,一般发生在用rm, cp, mv 等这类命令对特别多的文件进行处理的时候,而wc -l应该不会有问题。在linux中尚未见到有命令能把参数的长度设置长一点。也就是参数的个数太多,shell 看到的是很长的一个命令行。但是,无论如何,xargs 是一个好的工具:cd <mydir> # 先换到目...
linux下可以实现让一个目录拥有多个属主吗
It's impossible. UNIX系统下, 文件(目录也是一种文件) 的用户所有者只能指定一个用户, 用户所有者比 组所用者和other组 仅仅多出一个规则 :用户所有者能更改文件的权限和此文件的组拥有者~~~ 你可以这样分配权限 :创建一个新组 并将其作为此文件的组所有者。 然后对组所有者设置相应的权限...
蒯待五粒: 如果是想压缩多个文件夹到一个tar.gz压缩包中,直接把所有需要压缩的多个文件夹路径都放在一起即可,比如下面的命令把/etc、/var/spool/mail、/root三个文件夹一起压缩在test.tar.gz这个压缩包里面: tar -zcv -f test.tar.gz /etc /var/spool/mail /root 如果是想要多个文件夹分别压缩,那就需要多条tar命令来完成了,比如: tar -zcv -f test1.tar.gz /etc tar -zcv -f test2.tar.gz /var/spool/mail tar -zcv -f test3.tar.gz./root
黄冈市13973657026: linux如何实现批量文件压缩,压缩分卷,并添加rar密码??
蒯待五粒: 分卷压缩:rar a -pABC -v252m -r 123.rar(目标文件) 123(原文件)上面这句命令就是把123这个目录按照252M的分卷打包成rar,密码是ABCa的意识是添加文件到rar-p是设置密码-v是分卷-r是递归子目录
黄冈市13973657026: linux下把一个文件夹内的文件全部压缩的shell命令 - ?
蒯待五粒: 比如生成的文件是file.tar.gz 你要打包的文件夹是/home/test/下的所有文件,命令如下(最后的星号不要忘记哦). tar -cvzf file.tar.gz /home...
黄冈市13973657026: linux下把一个文件夹内的文件全部压缩的shell命令 - ?
蒯待五粒: #!/bin/bash ls /yourdir/ //查看你要压缩的文件夹 if [ $? -eq 0 ];then tar -zcvf yourdir.tar.gz /yourdir //如果文件夹不为空就压缩 else echo "yourdir is empty!" //如果为空显示“yourdir is empty!” fi
黄冈市13973657026: Linux系统下我想压缩某个目录下指定扩展名的文件,比如文件中的所有txt文件,该怎么操作 - ?
蒯待五粒: 使用find搜索特定文件,然后通过管道一个一个的添加到tar包中.例如,将test文件下下的所有txt文件添加到test.tgz中 find test-name \*.txt |xargs tar czvf test.tgz
黄冈市13973657026: linux zip命令.把当前文件夹下的多个文件夹、文件压缩为 bbb.zip,命令是什么? - ?
蒯待五粒: zip -r bbb.zip aaa bc.zip bbb关键是 -r 选项:包含子目录. (recurse 递归)
黄冈市13973657026: 有没有linux下批量压缩为单个.tar.gz的方法呢? - ?
蒯待五粒: 如下命令会将当前路径下的所有文件单独打包 find . -type f|xargs -I {} tar zcvf {}.tar.gz {} 如果需要过滤带规则的名字 find后接-name “需要匹配的文件名对应的通配符” 如仅仅过滤当前目录下的文件,不接下级目录 find 后接-maxdepth 1
黄冈市13973657026: linux下,压缩ZIP文件,用命令怎么实现分包压缩 - ?
蒯待五粒: 要将目录logs打包压缩并分割成多个1M的文件,可以用下面的命令: tar cjf - logs/ |split -b 1m - logs.tar.bz2.完成后会产生下列文件: logs.tar.bz2.aa, logs.tar.bz2.ab, logs.tar.bz2.ac 要解压的时候只要执行下面的命令就可以了:cat logs.tar.bz2.a* | tar xj
黄冈市13973657026: 如何在Linux上使用tar命令解压和压缩文件 - ?
蒯待五粒: 压缩整个目录或单个文件 使用下面的命令来压缩整个目录或Linux上的一个文件. 它也将压缩您指定的文件 tar -czvf name-of-archive.tar.gz /path/to/directory-or-file -c:C reate存档. -z:压缩zip存档. -v:在终端显示进度的同时创建归档,也被称...
黄冈市13973657026: linux下如何将文件打包,压缩并分割成制定大小?
蒯待五粒: 方法/步骤 1.命令:split,例子: 2.以行数拆分 -l参数: 3.split –l 50 原始文件 拆分后文件名前缀 4.说明:以50行对文件进行拆分,最后一个文件的行数没有50行以实际行数进行分配,比如有一个名为 wlan_date.txt的文件,公有120行,进行拆分