我正在创建一个tar.gz
包含一些文件和文件夹的文件,如下所示:
/bin/tar cfz /usr/local/backups/mybackup-${DATENAME}.tar.gz
/usr/local/backups/db-${DATENAME}.sql.gz
/usr/local/tomcat/webapps/MyApp/myapp_folder
/usr/local/tomcat/myapp.properties
但是路径存储为usr/local
没有/
。tar
还会先给出删除消息/
但创建文件。
现在,当我将此文件传输到其他系统并想要解压缩它时:
tar -zxvf mybackup-2011-APR-18.tar.gz
它usr
在当前目录中创建目录。
我如何压缩和解压缩档案并将文件放回到原始文件夹(/usr
树中而不是./usr
)?
答案1
这将做到这一点:
(cd / && tar -zxvf mybackup-2011-APR-18.tar.gz )
或者,您可以使用 -P 创建档案:
/bin/tar -P cfz /usr/local/backups/mybackup-${DATENAME}.tar.gz
/usr/local/backups/db-${DATENAME}.sql.gz
/usr/local/tomcat/webapps/MyApp/myapp_folder
/usr/local/tomcat/myapp.properties
这不会从档案中的文件名中删除首字母“/”。