linux - Tar 几个文件保存目录树

标签 linux bash ssh tar

我已经看了好几个小时了,但找不到用目录结构(树)压缩几个文件的方法

例子:

我的文件在:

1. /home/user/somefolder/file.txt
2. /home/user/somefolder/file2.txt
3. /home/user/somefolder/file3.txt
4. /home/user/somefolder/somefolder2/file2.txt
5. /home/user/somefolder/somefolder3/file3.txt

现在我想获取文件 1+4 并对其进行压缩。

tar cvzf file.tar.gz /home/user/somefolder/file.txt /home/user/somefolder/somefolder/file2.txt

但它会将这些文件打包成一个文件,而不保留第二个文件夹,而我希望将文件打包成如下所示: 文件

somefolder
|-- file.txt
|-- somefolder2
    |-- file2.txt

最佳答案

试试这个 tar :

tar -cvz -f file.tar.gz -C /home/user/somefolder/ file.txt file2.txt file3.txt \
                        -C /home/user/somefolder/somefolder2/ file2.txt file3.txt

关于linux - Tar 几个文件保存目录树,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19751477/

相关文章:

linux - 从套接字读取失败 : Connection reset by peer

python - 如何使用 Paramiko 制作 sudo 命令

arrays - 在 Debian 8.4 中创建数组变量时出错

linux - 如何监控长时间运行的命令的进度?

PHP file_exists 仅适用于 root :root

linux - LINUX 中的替换模式

c - 如何调整/编辑编译 C 的终端 bash 脚本?

linux - 如何在登录时运行命令并将其显示在控制台中?

linux - 使用 'sudo apt-get install build-essentials'

linux - 使用 bash 取十进制数的平均值