csatblogspotdotcom

Saturday, December 27, 2008

关于tar命令

tar用于文件的打包解包以及压缩和解压,常用的参数有:
-c,打包
-x,解包
-v,打包解包时把正在打(解)包的文件的信息打印出来
-f,对哪个文件进行打(解)包
-j,进行bzip2压缩或解压
-z,进行gzip压缩或解压
-C或--directory,把包解到指定目录
-t,列出包中文件
-X或--exclude,排除指定目录

p.s.
若是只解压其中的某个文件,则在命令后面加上该文件的名字,如:
tar jxf name.tar.bz2 name/dir/filename
若是只解压其中某个文件到指定目录,则加-C选项:
tar jxf name.tar.bz2 -C to/which/dir/ name/dir/filename
或者是
tar jxf name.tar.bz2 name/dir/filename -C to/which/dir/
注意:解压时,当前所在的文件夹必须是有权限操作的,因为解压时会产生一个临时文件放在当前目录,如果没有当前目录的读写权限则会报错。

后记20170101:
例如,将alex目录打包压缩为tar.bz2格式:
tar jcf alex.tar.bz2 alex
将alex.tar.bz2解压到tmp目录
tar jxf alex.tar.bz2 -C ./tmp/

后记20170428:
tar jcf打包默认相对路径,如果后面跟的是绝对路径如:
tar jcf /**/** /**/**
会提示 tar: Removing leading `/' from member names
解压的时候会解压出全路径,例如打包/home/**/**,解压的时候会解压出完整的/home/**/**一串目录
所以建议打包的时候先cd到需要打包的目标所在的目录,再打包,这样解压的时候就不包含绝对路径信息

Labels: ,

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home