我创建了一个目录的 tar 文件,然后使用该v
选项提取了一些文件及其名称。现在,如果我再次运行相同的命令,我仍然会得到相同的输出。为什么会这样?如果文件已经被提取,为什么我能够再次提取它。
作为参考,这是命令 :- tar xvf ../playground2.tar --wildcards 'home/me/playground/dir-*/file-A'
。我第二次运行它,结果输出相同!
我创建了一个目录的 tar 文件,然后使用该v
选项提取了一些文件及其名称。现在,如果我再次运行相同的命令,我仍然会得到相同的输出。为什么会这样?如果文件已经被提取,为什么我能够再次提取它。
作为参考,这是命令 :- tar xvf ../playground2.tar --wildcards 'home/me/playground/dir-*/file-A'
。我第二次运行它,结果输出相同!
Linux 命令
tar
代表磁带存档,用于在磁带备份(或文件)上创建存档,并从该存档中提取文件。 在您的情况下,它是保存到文件中的备份。如tar 手册页中所示-
-v
选项 (-v, --verbose) 只是在处理文件时详细列出它们。tar
没有选项可以在提取后删除存档。必须手动执行此操作,最好在您确认文件已成功提取后执行。如果您愿意,也可以通过一行代码执行此操作:&&
上述命令中的意思是,只有成功且没有错误的rm ../playground2.tar
情况下才会运行。tar xvf ../playground2.tar --wildcards 'home/me/playground/dir-*/file-A'
GNU tar 是一个归档程序,旨在将多个文件存储在一个文件(档案)中,并操作这些档案。
下表列出的选项告诉 GNU tar 要执行什么操作。
-A, --catenate, --concatenate 将档案附加到另一个档案的末尾。
-c, --create 创建一个新的档案。
-d, --diff, --compare 查找档案和文件系统之间的差异。
--delete 从档案中删除。
-r, --append 将文件附加到档案末尾。
-t, --list 列出档案的内容。
--test-label 测试档案卷标并退出。
-u, --update 附加比档案中相应副本更新的文件。
-x, --extract, --get 从档案中提取文件。它不会删除它。
--usage 显示可用选项列表并退出。