文件压缩与解压命名
一、.tar 格式(未压缩的打包文件)
命令:tar 【选项】 打包文件的名称 被打包的文件目录路径(有多个,用空格隔开)
-x:extract,解包,表示解包操作(与打包时的 -c
对应)。
-v:verbose,显示解包过程中的详细信息(如输出文件名)显示命名执行的过程
-f:file,指定要操作的文件路径(必须紧跟文件名,中间无空格)。
-c:打包
-z:打包时压缩/解包时解压缩.gz 使用gzip算法
-j:打包时压缩/解包时解压缩,操作的文件扩展名为.bz2
-c和-x不能同时使用。
打包并保留原来文件
解包
用gzip格式打包压缩和解压缩
打包压缩
将 test1.txt、test2.txt、压缩名字为demo.tar.gz 保留源文件
解包解压缩
解包并解压缩 demo.tar.gz中的文件**text1.txt、test2.txt**
用bzip2格式打包压缩和解压缩
打包压缩
将 test1.txt、test2.txt、压缩名字为demo.tar.gz 保留源文件
解包解压缩
解包并解压缩 demo.tar.gz中的文件**text1.txt、test2.txt**
二、.gz 格式(gzip 压缩文件)
命令 :gzip 【选项】
文件路径
-
特点只能压缩文件,不能压缩目录,原文件删除、不支持打包合并
选项:
-r :可以将目录下的文件递归压缩(绕过目录找到文件进行压缩)
-l: 显示已压缩文件的压缩信息
-d:解压缩
注意: gzip -r 命令会递归压缩指定的目录下的每个文件(每个文件单独压缩成.gz ),不会将整个目录打包成一个压缩文件。
压缩
此时原来的2.txt 文件已经被删除
-r递归解压
此时原来的a.txt文件已经被删除
-l显示压缩信息
上述展示了已压缩文信息包括时间 权限
跳过目录压缩文件
批量解压
解压缩:
gzip -d example.txt.gz
作用:解压 example.gz
,生成 example
文件(原压缩包会被删除)。
原文件会被删除
此时原来文件2.txt.gz被删除
递归文件解压缩
递归文件跳过目录,然后解压,此时原来的a.txt.gz文件就会被删除
批量解压多个文件
原来的test1.txt.gz、test2.txt.gz、test3.txt.gz 就会被删除
三、.tar.gz 和 .tgz 格式(tar 打包后用 gzip 压缩)
命令:tar -xvzf 压缩包名.tar.gz
或 tar -xvzf 压缩包名.tgz
-
参数解析
-
-x:解包。
-
-v:显示详细信息。
-
-z:指定使用 gzip 压缩算法(解包时自动解压)。
-
-f:指定文件。
-
-
示例:
tar -xvzf example.tar.gz
作用:先通过-z
调用 gzip 解压,再用 tar 解包,生成目录或文件。
压缩
解压缩
四、.bz2 格式(bzip2 压缩文件)
说明:压缩文件为 .bz2 格式,同样这种压缩不提供打包功能。
执行者:所有用户
特点不支持打包合并
压缩
语法 bzip2【选项】 文件路径
选项
-k 保留源文件,支持保留源文件
-d 解压缩
-f 覆盖式/解压缩出现同名出现同名文件,用压缩或者解压缩后的文件覆盖
批量压缩
原来的test1.txt.、test2.txt、test3.txt.就会被删除
压缩支持保留原来文件
解压
批量解压
原来的test1.txt.bz2、test2.txt.bz2、test3.txt.bz2就会被删除
解压覆盖
解压过后变成了test1.txt、test2.txt、test3.txt因为原来的文件本来就存在,所以发生了替换(解压后的文件替换原来的文件并且将test1.txt.bz2、test2.txt.bz2、test3.txt.bz2删除)
解压保留覆盖
原来的
保留了test1.txt.bz2、test2.txt.bz2、test3.txt.bz2、test4.txt.bz2 然后解压的test1.txt、test2.txt、test3.txt、test4.txt,替换原来的test1.txt、test2.txt、test3.txt、test4.txt**
五、.tar.bz2 格式(tar 打包后用 bzip2 压缩)
命令:tar -xjvf 压缩包名.tar.bz2
-
参数解析
-
-x:解包。
-
-v:显示详细信息。
-
-j:指定使用 bzip2 压缩算法(解包时自动解压)。
-
-f:指定文件。
-
-
示例:
tar -xjvf example.tar.bz2
压缩
解压缩
六、.zip 格式(跨平台压缩包)
说明:文件的后缀名是.zip,同时支持打包和压缩
执行者:所有用户
注意: ① 这个指令不是Linux自带的,如果需要用,就需要额外的安装。zip压缩是跨平台的,各个平台都能用。 ② 当压缩一个目录时,必须使用 -r选项,否则只会压缩目录本身(空目录),不包括目录中的文件。
压缩语法
zip 【选项】 压缩后的文件名字 文件目录
解压语法
unzip 文件名.zip
[y]es :输入y,表示覆盖文件,进行替换(单文件一个个交互处理)
[n]o :输入n,表示不覆盖文件(单文件一个个交互处理)
[A]ll :输入A,表示覆盖文件夹(多文件,统一处理)
[N]one :输入N,表示不覆盖文件夹(多文件,统一处理)
[r]ename :输入r,重命名解压后的文件
通配符
*:匹配任意单个或多个字符
代码
注意:通配符可以用于 rm、cp、mv、ls等指令中
? :匹配任意单个字符。**
代码
相当于占位符
[..] :匹配[ ]范围中的任意单个字符**
代码
权限说明
权限补充说明:
移动操作( mv )需要源目录和目标目录的执行权限(用于访问路径)
同时需要源目录的写权限(删除原位置条目)和目标目录的写权限(创建新位
置条目)