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/

相关文章:

linux - 如何在2x2网格布局中使用i3窗口管理器?

c++ - 获取命令行参数的大小/访问命令行参数中的单个字符

c++ - 在 C++ 中确定是 Linux 还是 Windows

linux - 路径必须在表达式 Linux find 之前

api - 如何加载带有路径(折线)的静态谷歌地图?

python - 在linux中,wx.PopupWindow从wx.Dialog弹出时没有得到任何鼠标事件?

c - 在同一行重写信息

Python 成像替代品

java - 导入外部 jar 文件

path - 遗传算法 - 路径的交叉和变异算子