tar cvf /var/lib/backup/sample.tar /home/user/.project
Run Code Online (Sandbox Code Playgroud)
但是,当我提取时,我也会得到它的父母
/backup/
- /home/
- /user/
- .project/
Run Code Online (Sandbox Code Playgroud)
这个 tar 命令可以完成它的工作,因为它的父项中不包含任何其他内容(user
例如下的其他文件夹)。
我想以编程方式执行此操作,因此将当前工作目录更改为/home/user/
实际上并不是一个选项。有可能这样做吗?
Kev*_*vin 18
您可以使用该-C
选项/home/user
在 tarring 之前切换到目录,也可以--strip-components 2
在提取时使用。
tar cvfC /var/lib/backup/sample.tar /home/user .project
# Note the space ^
Run Code Online (Sandbox Code Playgroud)
tar cvf /var/lib/backup/sample.tar /home/user/.project
tar Cxf /backup /var/lib/backup/sample.tar --strip-components 2
Run Code Online (Sandbox Code Playgroud)