我尝试在根目录中使用 tar.gz 打包 .csv 文件。
该文件myfile.csv
位于/mnt/sdb1/
所以完整的文件名是/mnt/sdb1/myfile.csv
我尝试将 tar.gz 保存在/mnt/sdb1/old_files
我尝试过这样的:
tar -czf /mnt/sdb1/old_files/new.tar.gz mnt/sdb1/myfile.csv
但是当我提取文件时,将提取一个名为“mnt”的文件夹,该文件夹包含另一个名为“sdb1”的文件夹,其中包含该文件。
是否可以只压缩文件,而不是复制所有目录?
答案1
使用--directory
以下选项man tar
:
-C,- -目录DIR
更改目录 DIR
IE:
tar -C /mnt/sdb1/ -czf /mnt/sdb1/old_files/new.tar.gz myfile.csv
答案2
您必须首先cd /mnt/sdb1
启动tar
命令。
仅供参考,您不需要使用tar
此处,因为它的目的是将多个文件聚集在一个 tarball 中。由于这里只有一个文件,因此只需使用gzip
.
答案3
使用-C
tar 选项:
-C Directory Causes the tar command to perform a chdir subroutine to the directory specified by the Directory variable.