今天因为准备远程压缩个文件,结果用tar命令失败了好几次。看来命令还是常用才熟悉啊。
tar命令:
简介:tar命令只是把目录打包成一个归档(文件),并不负责压缩。在tar命令中可以带参数调用gzip或bzip2压缩。因为gzip和bzip2只能压缩单个文件。
在linux下是不需要后缀名的,但通常tar归档后缀名为.tar,gzip压缩后的后缀名为.gz,bzip2压缩后的后缀名为.bz2。
命令用法:
tar [参数] [文件或目录]
1 |
#比如把x文件夹打包并用gzip压缩。 |
2 |
tar -zcvf x.tar.gz x |
3 |
4 |
#解压到当前目录 |
5 |
tar -xzvf x.tar.gz |
6 |
#解压到父目录 |
7 |
tar -xzvf x.tar.gz -C .. |
打包和解包命令基本一样,可看作是个逆过程,参数中是-c和-x的区别。解包时可以不需要指定目录,默认解压到当前目录。如需指定目录须使用-C参数。请对照上面样例。
无论打包还是解包-f后都必须跟归档名。
1 |
#这样语句也能正确执行,注意-f |
2 |
tar -cv x -f x.tar |
常用参数:
指定归档 | -f 后面必须直接跟归档名 |
打包(create) | -c |
解包 | -x |
详细地列出处理的文件 | -v |
查看打包的文件 | -t |
压缩 | -z 调用gzip压缩 -j调用bzip2压缩 |
时间限制参数 | -N 比后面接的日期(yyyy/mm/dd)还要新的才会被打包进新建的文件中 |
排除指定文件 | –exclude FILE:不将 FILE 打包! |
保留原本文件的属性 | -p |
这些参数中 c/x/t 仅能存在一个!不可同时存在!
zip和unzip命令:
简介:zip用于压缩文件,unzip解压文件。zip可以直接压缩多个文件,不需要先使用tar归档。压缩后后缀名为.zip。
命令用法:
zip [参数名] [压缩包名] [被打包的文件]
unzip [压缩包名]
1 |
#压缩,如果不加.zip后缀,会自动添加。 |
2 |
zip a.zip a.o |
3 |
#解压 |
4 |
unzip a.zip |
常用参数:
zip | |
递归压缩 | -r递归搜索目录下的所有文件夹目录,默认不会把目录下的文件压缩进去。 |
静默压缩 | -q |
添加注释 | -z |
压缩效率 | –数字介于0-9的数值,数值越小效率越低,但越快。0就是不压缩 |
设定压缩日期 | -t |
尝试修复压缩包 | -f |
压缩成自解压文件 | -A |
unzip | |
查看压缩包,不解压 | -l 列出文件 -v 列出文件详细信息 |
解压到指定的目录 | -d |
是否覆盖以存在的文件 | -n 不覆盖 -o 覆盖 |
检查压缩包是否损坏 | -t 不解压 |
查看压缩包注释 | -z |
不重建文档的目录结构 | -j 把所有文件解压到同一目录下 |
(未完待续)
转载请注明:旅途@KryptosX » Linux的文件压缩——tar和zip命令
时间: 2024-10-29 11:25:06