linux tar命令
解压:tar zxvf filename.tar.gz
压缩:tar zcvf filename.tar.gz dirname
排除两个文件夹
tar zcvf wx.61yxl.com_200510.tar.gz wx.61yxl.com --exclude=wx.61yxl.com/runtime --exclude=public/uploads
linux zip命令
zip -r myfile.zip ./*
将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件.
2.unzip
unzip -o -d /home/sunny myfile.zip
把myfile.zip文件解压到 /home/sunny/
-o:不提示的情况下覆盖文件;
-d:-d /home/sunny 指明将文件解压缩到/home/sunny目录下;
3.其他
zip -d myfile.zip smart.txt
删除压缩文件中smart.txt文件
zip -m myfile.zip ./rpm_info.txt
向压缩文件中myfile.zip中添加rpm_info.txt文件
linux zip命令的基本用法是:
zip [参数] [打包后的文件名] [打包的目录路径]
linux zip命令参数列表:
-a 将文件转成ASCII模式
-F 尝试修复损坏的压缩文件
-h 显示帮助界面
-m 将文件压缩之后,删除源文件
-n 特定字符串 不压缩具有特定字尾字符串的文件
-o 将压缩文件内的所有文件的最新变动时间设为压缩时候的时间
-q 安静模式,在压缩的时候不显示指令的执行过程
-r 将指定的目录下的所有子目录以及文件一起处理
-S 包含系统文件和隐含文件(S是大写)
-t 日期 把压缩文件的最后修改日期设为指定的日期,日期格式为mmddyyyy
举例:说个最常用的吧,打包/opt/abc目录到/opt/abc.zip
# zip -r /opt/abc.zip /opt/abc/ //参数一般只要有-r
# tar -cf all.tar *.jpg
这条命令是将所有.jpg的文件打成一个名为all.tar的包。-c是表示产生新的包,-f指定包的文件名。
# tar -cf all.tar /home/aaa
将aaa文件夹打包成all.tar文件保存在当前文件夹
# tar -rf all.tar *.gif
这条命令是将所有.gif的文件增加到all.tar的包里面去。-r是表示增加文件的意思。
# tar -uf all.tar logo.gif
这条命令是更新原来tar包all.tar中logo.gif文件,-u是表示更新文件的意思。
# tar -tf all.tar
这条命令是列出all.tar包中所有文件,-t是列出文件的意思
# tar -xf all.tar
这条命令是解出all.tar包中所有文件,-t是解开的意思
分片压缩
1.压缩:
tar zcf - tmp/* |split -d -b 3800m - tmp.tar.gz.
# 每个卷3800M
2.压缩之后产生3个压缩文件:
tmp.tar.gz.00
tmp.tar.gz.01
tmp.tar.gz.02
3.下载到Windows中合并(重点):
# 打开cmd,在上面输入命令,在当前目录下操作即可
copy /b tmp.tar.gz.0* tmp.tar.gz
4、(Linux)分割后的压缩包解压命令如下
cat cm-11.tar.gz.* | tar -zxv