压缩文件夹(tar)而不在文件夹名称中包含它的目录

See*_*man 24 command-line compression extract tar

我正在尝试使用该tar命令压缩文件夹。

当我尝试压缩它时,它工作正常。问题在于文件名。

源路径:

/data/file/
Run Code Online (Sandbox Code Playgroud)

目的地路径:

/data/repo/temp/file.tar.gz

tar zcvf $srcpath $destinationpath
Run Code Online (Sandbox Code Playgroud)

我正在从不同的文件夹执行命令,在提取文件夹时,我获得了所有子目录,而不是单独的文件夹。

Jac*_*ijm 54

最简单的方法是先 cd 到目录:

cd /path/to/containing/folder && tar -zcvf tarfile.tar.gz foldername_tocompress
Run Code Online (Sandbox Code Playgroud)

使(包含)文件夹的目录成为压缩文件的根目录。

更高级的是使用 -C 选项:

tar -zcvf tarfile.tar.gz -C /path/to/foldername_tocompress .
Run Code Online (Sandbox Code Playgroud)

这会tar.gz在当前(工作)目录中创建一个文件,其中包含所有文件/文件夹foldername_tocompress(注意点,说应该包含所有文件/文件夹)。

  • 第二个命令末尾的点将包含当前目录中的所有文件... (4认同)