在mac上做开发有段时间了,突然发现自己一直在使用工具,对于linux下的一些命令,虽然都有过接触,却不常使用。今天要打包一个文件,刚好最近看那个压缩工具不舒
服,于是,使用命令行来解决这个问题。
tar命令主要有三个参数,如下面的命令
localhost:spine admin$ tar -zcvf /Users/admin/Desktop/2d/spine/spine-runtimes/
tar: no files or directories specified
,显然,这个命令是错误的,我第一次写了这样的命令,后来发现没有指定类型。作如下修改:
localhost:spine admin$ tar -zcvf /Users/admin/Desktop/2d/spine/spine.tar.gz /Users/admin/Desktop/2d/spine/spine-runtimes/
ok,过了。这几个参数就不用详细介绍了吧,最后一个是一个路径,要压缩的文件的路径;倒数第二个,是一个要压缩的文件的名字;至于-zcvf,就不用说了吧,z是一个gzip的压缩;
-c 将解压缩的结果显示到屏幕上,并对字符做适当的转换。
-f 更新现有的文件。
-l 显示压缩文件内所包含的文件。
-p 与-c参数类似,会将解压缩的结果显示到屏幕上,但不会执行任何的转换。
-t 检查压缩文件是否正确。
-u 与-f参数类似,但是除了更新现有的文件外,也会将压缩文件中的其他文件解压缩到目录中。
-v 执行是时显示详细的信息。
-z 仅显示压缩文件的备注文字。
-a 对文本文件进行必要的字符转换。
-b 不要对文本文件进行字符转换。
-C 压缩文件中的文件名称区分大小写。
-j 不处理压缩文件中原有的目录路径。
-L 将压缩文件中的全部文件名改为小写。
-M 将输出结果送到more程序处理。
-n 解压缩时不要覆盖原有的文件。
-o 不必先询问用户,unzip执行后覆盖原有文件。
-P<密码> 使用zip的密码选项。
-q 执行时不显示任何信息。
-s 将文件名中的空白字符转换为底线字符。
-V 保留VMS的文件版本信息。
-X 解压缩时同时回存文件原来的UID/GID。
[.zip文件] 指定.zip压缩文件。
[文件] 指定要处理.zip压缩文件中的哪些文件。
-d<目录> 指定文件解压缩后所要存储的目录。
-x<文件> 指定不要处理.zip压缩文件中的哪些文件。
-Z unzip -Z等于执行zipinfo指令
cvf什么意思都明白了吧,每个参数对应一个意思,然后合起来。
ok,over了。就这样吧。关于压缩,网上还有很多很不错的文章,我这只是写了一下我用到的两个。其他的,根据工作需要,一点一滴积累吧。