Linux下常用的压缩,解压命令

压缩命令

tar.gz 格式: tar -zcvf 自定义压缩文件名.tar.gz 被压缩文件名

zip 格式: zip -r 自定义压缩文件名.zip 被压缩文件名

如果要压缩整个文件夹,也可先进入到需要压缩文件夹的目录下,然后运行

tar -zcvf 自定义压缩文件名.tar.gz *
zip -r 自定义压缩文件名.zip *

解压命令

tar.gz 格式tar -zxvf 压缩文件名.tar.gz

zip 格式unzip 压缩文件名.zip

解压缩后的文件只能放在当前的目录。

压缩文件排除某个文件或文件夹方法

很多时候我们需要对某一个目录打包,而这个目录下有几十个子目录和子文件,我们需要在打包的时候排除其中一个或两个目录或几个文件。

这时候我们在用tar命令打包的时候,增加参数 –exclude 就能达到目的。

我们以myweb 为例,打包的时候我们要排除 myweb/logs 目录,命令如下

tar -zcvf myweb.tar.gz --exclude=myweb/logs myweb

如果要排除多个目录,增加 –exclude 即可,比如我们要排除logs和libs两个目录及文件readme.txt,命令如下

tar -zcvf myweb.tar.gz --exclude=myweb/logs --exclude=myweb/libs --exclude=myweb/readme.txt myweb

这里大家要注意,在我们使用tar 的–exclude 命令排除打包的时候,不能加“/”,否则还是会把logs目录以及其下的文件打包进去,例如

tar -zcvf myweb.tar.gz --exclude=myweb/logs/ --exclude=myweb/libs/ myweb (这是错误的写法)

tar -zcvf myweb.tar.gz --exclude=myweb/logs --exclude=myweb/libs myweb (这是正确的写法)