我正在使用tar -xf archive.tar -C /home/user/target/folder
(在 bash 脚本中)将特定档案(archive.tar)的内容提取到目标目录(/home/user/target/folder)中,以便目标目录的所有现有内容将被新内容(包含在档案中)覆盖。
一切运行良好,但我想省略档案中的一个目录(从提取并因此覆盖目标文件夹中的现有目录)...例如,如果archive.tar包含:
folderA/
folderB/
folderC/
folderD/
fileA.php
fileB.php
fileC.xml
我怎样才能提取(并覆盖)除(例如)folderC/之外的所有内容?
tar --version
输出tar (GNU tar) 1.23
答案1
使用 -X 选项或 --exclude 选项
filename 是包含您想要排除的模式列表的文件的名称。pattern 是您想要排除的单个模式。
要排除 FolderC,请使用以下命令
tar -xf archive.tar --exclude folderC -C /home/user/target/folder
在您的系统上使用 man tar 来完整解释这两个选项。