首先应该明确:*nix系统中,使用tar对文件打包时,一般不建议使用绝对路径。
root@queen ~ # tar -czvf robin.tar.gz /home/robin tar: Removing leading `/' from member names /home/robin/ /home/robin/file1 /home/robin/file2 /home/robin/file3 root@queen ~ # tar -tzvf robin.tar.gz drwxr-xr-x robin/root 0 2009-11-10 18:51:31 home/robin/ -rw-r--r-- robin/root 0 2009-11-10 18:51:28 home/robin/file1 -rw-r--r-- robin/root 0 2009-11-10 18:51:30 home/robin/file2 -rw-r--r-- robin/root 0 2009-11-10 18:51:31 home/robin/file3 root@queen ~ #这样的一个压缩包,如果我们再去解开,就会当前目录(也即此例中的“~”)下再新建出“./home/robin/” 两级目录。对于这样的压缩包,解压方法是使用参数 “-C”指解压的目录为根目录(“/”):tar -xzvf robin.tar.gz -C / 更为可靠的方法是在打包和解开的时候都使用参数 -P:
root@queen ~ # tar -czvPf robin.tar.gz /home/robin/ /home/robin/ /home/robin/file1 /home/robin/file2 /home/robin/file3 root@queen ~ # tar tzvf robin.tar.gz drwxr-xr-x robin/root 0 2009-11-10 18:51:31 /home/robin/ -rw-r--r-- robin/root 0 2009-11-10 18:51:28 /home/robin/file1 -rw-r--r-- robin/root 0 2009-11-10 18:51:30 /home/robin/file2 -rw-r--r-- robin/root 0 2009-11-10 18:51:31 /home/robin/file3 root@queen ~ # tar -xzvPf robin.tar.gz /home/robin/ /home/robin/file1 /home/robin/file2 /home/robin/file3 root@queen ~ #
本文链接:http://xiaobin.net/200911/tar-removing-leading-slash-from-member-name/