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