打包跟压缩的区别:
打包是指将多个文件或者目录放在一起,形成一个总的包,这样便于保存和传输,但是大小是没有变化的
压缩是指将一个或者多个大文件或者目录通过压缩算法使文件的体积变小以达到压缩的目的,可以节省存储空间,在压缩的时候通常是先打包再压缩
tar命令
tar命令参数前面加”-"与不加“-”的区别:
tar命令参数前面加不加“-”执行命令的结果是没有区别的,区别只要是在于linux风格方面,加“-”属于System V风格,不加“-”属于BSD风格,所以在使用tar命令的时候它的参数加不加“-”结果是一样的,看个人的使用方式;
常用参数
常用参数 | 含义解释 |
---|---|
-c | 创建一个压缩文件 |
-x | 解开一个压缩文件 |
-t | 查看压缩包内有哪些文件 |
-z | 用Gzip压缩或解压,gz属性 |
-j | 用bzip2压缩或解压,bz2属性 |
-C | 指定解压的目录 |
-P | 使用绝对路径来压缩 |
-p | 保留备份数据的原本权限与属性,常用于备份(-c)重要的配置文件 |
-v | 显示压缩或解压的过程 |
-f | 使用文件名,在f后面要接压缩后的文件的名字,只要用到tar命令,-f选项是必须要用的,-f参数在使用的时候一定排在其他参数的后面,在最右边 |
打包
打包通用命令tar -cvf 压缩包名.tar 要压缩的文件夹
实例:将sol文件夹打包成tar ,命令tar -cvf sol.tar sol
查看tar文件内容,命令tar -tf 压缩包名.tar
压缩
linux主要有三种压缩方式:
1.gzip:是公认的压缩这速度最快,压缩大文件的时候与其他的压缩方式相比更加明显,历史最久,应用最广泛的压缩方式
2.bzip:压缩形成的文件小,但是可用性不如gzip
3.xz:是最新的压缩方式,可以自动提供最佳的压缩率
建议的压缩的时候标明后缀:
参数 | 作用 | 命名方向 |
---|---|---|
-z | 用于gzip压缩方式 | 文件名.tar.gz |
-j | 用于bzip2压缩方式 | 文件名.tar.bz2 |
-J | 用于xz压缩方式 | 文件名.tar.xz |
压缩通用命令tar -zcvf 压缩包名.tar.gz 要压缩的文件夹
在压缩的过程中,我们可以发现:
压缩速度:gz > bz2 > xz 压缩率:xz > bz2 > gz
解压
tar命令式一个很聪明的命令,我们在解压的时候不需要指明自己压缩的方式它会自己选择跟压缩方式对应的方式去解压,在解压gz压缩方式压缩文件的时候并不需要加上-z,直接用参数-xf即可,另外两种压缩方式在解压的时候一样,因为tar命令会自动选择,解压之后压缩文件还在,如果不指定解压出来的文件保存在哪里,那么会直接解压在当前目录
解压通用命令tar -zxvf 压缩包名.tar.gz
可以缩写成tar -xf 压缩包名.tar.gz
zip命令和unzip命令
在使用zip跟unzip命令之前先查看系统有没有安装这两个命令的包,没有的话要自己安装
安装命令centos下yum install zip
zip命令
基本用法:
zip [参数] [压缩包名] [压缩的目录或者文件的路径]
例如 zip sol.zip sol
常用参数 | 含义解释 |
---|---|
-m | 将文件压缩后,删除原文件 |
-o | 将压缩文件内的所有文件的最新变动时间设为压缩的时间 |
-q | 安静模式,在压缩的时候不显示指令执行的过程 |
-r | 递归压缩,将自定目录下的所有子文件以及文件一起处理 |
-x | ”文件列表“,压缩时排除文件列表中的文件 |
unzip命令
基本用法:
unzip [参数] [压缩文件] (-d [目录]) //如果不是用括号里面的内容,则解压文件在当前工作目录
例如:unzip sol.zip
常用参数 | 含义解释 |
---|---|
-c | 将解压缩的结果显示到屏幕上(显示每一个目录下的每一个文件的内容),同时对字符做适当的转换,但是并没有解压压缩包 |
-l | 显示压缩文件内所包含的文件 |
-t | 检查压缩文件是否正确 |
-v | 执行时显示压缩文件的详细信息 |
-q | 安静模式,执行时不显示任何信息 |
-d | 指定文件解压后存储的目录 |
-x | 指定不要处理压缩文件中的那些文件 |