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
tar -zcvf 压缩后的文件名.tar.gz 要压缩的目录或文件
-j 用于bzip2压缩方式 文件名.tar.bz2
tar -jcvf 压缩后的文件名.tar.bz2 要压缩的目录或文件
-J 用于xz压缩方式 文件名.tar.xz
tar -Jcvf 压缩后的文件名.tar.xz 要压缩的目录或文件
压缩格式比较:
压缩速度:gz > bz2 > xz
压缩率:xz > bz2 > gz
解压
#不知道压缩格式解压自动识别
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选项,显示压缩的过程:
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.解压 并列出解压结果
unzip -c test.zip
2.列出zip 包里面的文件
unzip -l test.zip
3.检查压缩文件是否正确
unzip -t test.zip
4.不解压压缩文件查看压缩包里面的内容(查看显示的文件列表还包含压缩比率)
unzip -v test.zip
4.解压缩到指定文件
unzip test.zip -d /opt