--- icon: edit date: 2023-04-06 category: - Linux tag: - tar - zip - uzip - linux headerDepth: 5 --- # zip unzip tar 命令使用 ## tar tar命令参数前面加”-"与不加“-”的区别: tar命令参数前面加不加“-”执行命令的结果是没有区别的,区别只要是在于linux风格方面,加“-”属于System V风格,不加“-”属于BSD风格,所以在使用tar命令的时候它的参数加不加“-”结果是一样的,看个人的使用方式; ### 常用参数: tar命令的常用参数 >-z 是否同时具有gz属性 -j 是否同时具有bz2属性 -J 是否同时具有xz属性 -x 解压缩、提取打包的内容 -t 查看压缩包内容 -c 建立一个压缩,打包文档 -C 切换到指定目录,表示指定解压缩包的内容和打包的内容存放的目录 -v 显示压缩或者打包的内容 -f 使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边 -p 保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件 -P 保留绝对路径 ### 打包 #### 普通打包 ``` tar -cvf 压缩后的文件名.tar 要压缩的目录或文件 ``` #### 压缩打包 ##### -z 用于gzip压缩方式 文件名.tar.gz ```shell tar -zcvf 压缩后的文件名.tar.gz 要压缩的目录或文件 ``` ##### -j 用于bzip2压缩方式 文件名.tar.bz2 ```shell tar -jcvf 压缩后的文件名.tar.bz2 要压缩的目录或文件 ``` ##### -J 用于xz压缩方式 文件名.tar.xz ```shell tar -Jcvf 压缩后的文件名.tar.xz 要压缩的目录或文件 ``` ##### 压缩格式比较: 压缩速度:gz > bz2 > xz 压缩率:xz > bz2 > gz #### 解压 ```shell #不知道压缩格式解压自动识别 tar -xvf 文件名.压缩格式自动识别 # 指定gz tar-zxvf 文件名.tar.gz # 指定bz2 tar-jxvf 文件名.tar.bz2 # 指定xz tar-Jxvf 文件名.tar.xz ``` >在解压gz压缩方式压缩文件的时候并不需要加上``` -z ```,直接用参数-xf即可,另外两种压缩方式 ```-j``` 和 ```-J``` 在解压的时候一样,因为tar命令会自动选择,解压之后压缩文件还在,如果不指定解压出来的文件保存在哪里,那么会直接解压在当前目录 ## zip ### 基本用法: zip [参数] [压缩包名] [压缩的目录或者文件的路径] ### 常用参数: zip命令的常用参数 >-m 将文件压缩后,删除原文件 -o 将压缩文件内的所有文件的最新变动时间设为压缩的时间 -q 安静模式,在压缩的时候不显示指令执行的过程 -r 递归压缩,将自定目录下的所有子文件以及文件一起处理 -x ”文件列表“,压缩时排除文件列表中的文件 ### 使用 **1.正常压缩,不加-q选项,显示压缩的过程:** ```shell zip -r 压缩后的文件名 目录 ``` **2.加上-q选项,安静模式输出,不显示压缩的过程:** ``` zip -q -r 压缩后的文件名 目录 ``` **3.压缩多个文件 因为压缩的全是文件,所以可以不用加上-r选项** ``` zip test.zip test1.txt test2.txt test3.txt ``` **结果会将test1.txt test2.txt test3.txt 三个文件压缩进入 test.zip** **4.压缩文件跟目录 因为压缩目标中包含目录 所以要加 -r** ``` zip -r test.zip test1.txt test2.txt test ``` **结果会将test1.txt test2.txt 两个文件 和test目录 压缩进入 test.zip** ## unzip ### 基本用法: unzip [参数] [压缩文件] (-d [目录]) //如果不是用括号里面的内容,则解压文件在当前工作目录 ### 常用参数: unzip命令的常用参数 >-c 将解压缩的结果显示到屏幕上(显示每一个目录下的每一个文件的内容),同时对字符做适当的转换,但是并没有解压压缩包 -l 显示压缩文件内所包含的文件 -t 检查压缩文件是否正确 -v 执行时显示压缩文件的详细信息 -q 安静模式,执行时不显示任何信息 -d 指定文件解压后存储的目录 -x 指定不要处理压缩文件中的那些文件 ### 使用 **1.解压 并列出解压结果** ```shell unzip -c test.zip ``` **2.列出zip 包里面的文件** ```shell unzip -l test.zip ``` **3.检查压缩文件是否正确** ```shell unzip -t test.zip ``` **4.不解压压缩文件查看压缩包里面的内容(查看显示的文件列表还包含压缩比率)** ```shell unzip -v test.zip ``` **4.解压缩到指定文件** ```shell unzip test.zip -d /opt ```