tar压缩带绝对路径
时间: 2023-12-09 11:36:31 浏览: 134
当需要在两台环境相似的机器上进行同步复制的时候,就有需要使用绝对路径进行打包。使用tar命令打包时,如果不指定相应的参数,tar会将绝对路径转化为相对路径。可以使用`-P`参数来保留绝对路径,例如:
```shell
tar -zcvf test2.tar.gz -P /home/user_00/wade/test
```
这样打包后的压缩包中的文件路径就是绝对路径了。如果需要解压缩,可以使用以下命令:
```shell
tar zxvf test2.tar.gz
```
相关问题
tar: 从成员名中删除开头的“/”
当在使用tar命令时,出现类似于“tar:从成员名中删除开头的“/””这样的提示时,通常是因为在指定要压缩或解压缩的文件或目录路径时,路径名前面带了一个“/”导致的。
解决这个问题的方法是,在指定路径时,不要在路径前面添加额外的“/”,或者在指定路径前面加上“./”,表示当前目录,这样就可以避免出现“tar:从成员名中删除开头的“/””的提示了。是的,您理解得非常正确。在使用tar命令时,指定要压缩或解压缩的文件或目录路径时,不要在路径名前面添加一个额外的“/”,这样会导致tar命令删除路径名前面的“/”,从而引发警告信息。或者,您可以在路径名前面添加“./”,表示当前目录,这样也可以避免出现警告信息。
例如,如果要压缩目录`/home/user/documents`,正确的tar命令示例为:
```
tar -czvf documents.tar.gz /home/user/documents
```
而不是:
```
tar -czvf documents.tar.gz /home/user/documents/
```
或者:
```
tar -czvf documents.tar.gz ./home/user/documents
```
请注意,在使用tar命令时,指定要压缩或解压缩的文件或目录路径时,路径名最好使用绝对路径,这样可以避免不必要的问题。可以使用以下命令来删除 tar 文件名中开头的 "/":
```
tar --transform 's/^\///' -xf filename.tar
```
这个命令使用了 tar 的 --transform 选项来对文件名进行转换,其中 's/^\///' 表示使用正则表达式将开头的 "/" 替换为空字符串。-xf 选项表示解压缩 tar 文件。
如果你想要在压缩时避免添加 "/",可以在 tar 命令中使用相对路径,例如:
```
tar -czf directory.tar.gz -C /path/to/directory .
```
其中,"." 表示当前目录。这个命令会将 /path/to/directory 目录下的所有文件和子目录压缩到 directory.tar.gz 文件中,并且不会在文件名前添加 "/"。
阅读全文