linux - 我如何将路径中的最后一个目录打包到 tar 文件中?

标签 linux command-line path archive tar

如何将路径中的最后一个目录打包到 tar 文件中? 比如我有几条路径

/usr/local/files/dir1/

   file1.txt
   file2.txt
   file3.txt

/usr/local/files/dir2/

   file3.txt
   file4.txt
   file5.txt

如果我运行命令:

tar czf my_arch.tar.gz -C /usr/local/files/dir1 .

我只获得了 dir1 目录的包含,没有它本身。

所以我有 - my_arch.tar.gz/file1.txt、file2.txt、file3.txt,但我的存档中需要这样的结构 -

my_arch.tar.gz/dir1/file1.txt, file2.txt, file3.txt

我该怎么做?

谢谢。

最佳答案

尝试

cd /usr/local/files
tar -cvzf my_arch.tar.gz dir1

-C 指令将使您更改为 dir1,因此不会存档文件夹,但会存档其内容:

 -C, --directory DIR
     change to directory DIR

关于linux - 我如何将路径中的最后一个目录打包到 tar 文件中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17996474/

相关文章:

c - 如何在 C 中获取 Linux 命令位置?

python - 无法在 Windows 10 上将目录添加到路径

python - 从函数返回所有路径值

swift - 如何在路径中将 Sprite move 到中心然后返回原始路径?

linux - 如果每行中的字符串匹配,则合并两个文件的内容

linux - 如何在 Linux 中将键盘映射到控制台

linux - 我想使用 "awk"或 sed 打印文件中所有以 "comm="开头的行

linux - 从命令行计算多个子目录中的文件数量

linux - Log4J 日志消息被记录到 grails 应用程序的应用程序日志和标准输出

java - 如何在 java 中从字符串创建 args[]