如何自动删除已存档的文件?

如何自动删除已存档的文件?

我如何存档并删除多余的文件示例。

cd ~/Desktop && tar -cvf sitepack.tar ./

这将给我

ls
Riva_Starr_Feat._Noze_I_Was_Drunk_Official_Video_HD_.mp3
Riva_Starr_feat._Sud_Sound_System_Orizzonti_Official_Vide.mp3
Riva_starr_I_was_drunk_Syskey_remix_.mp3
sitepack.tar

当我寻找的是

ls
sitepack.tar

所以它将所有内容都存档到 zip 中而不是将它们留在原处?

答案1

如果您使用 GNU tar,则可以使用以下--remove-files选项:

--remove-files

将文件添加到档案后删除

但它不是可移植的。

如果你tar没有这个,你需要手动完成,分两步。
我建议你不要将 tar 文件放在你正在打包的目录中,而是放在父目录中。这样,你可以在完成rm *后简单地(可能以递归方式)执行此操作。tar

答案2

[max@localhost zzz]$ touch 1 2 3 4
[max@localhost zzz]$ ll
共 0
-rw-rw-r-- 1 最大 最大 0 十月 18 16:13 1
-rw-rw-r-- 1 最大 最大 0 十月 18 16:13 2
-rw-rw-r-- 1 最大 最大 0 十月 18 16:13 3
-rw-rw-r-- 1 最大 最大 0 十月 18 16:13 4

要创建档案,请使用此命令

-c ---------> 创建档案

[max@localhost zzz]$ tar -cvf max.tar 1 2 3 4
1
2
3
4
[max@localhost zzz]$ ls -l max.tar
-rw-rw-r-- 1 max max 10240 10月 18日 16:14 max.tar

要列出档案的内容,请使用此命令

-t ---------> 列出档案中的所有文件

 
[max@localhost zzz]$ tar -tvf max.tar
-rw-rw-r-- max/max 0 2012-10-18 16:13 1
-rw-rw-r-- max/max 0 2012-10-18 16:13 2
-rw-rw-r-- 最大/最大 0 2012-10-18 16:13 3
-rw-rw-r-- 最大/最大 0 2012-10-18 16:13 4

要提取使用此命令

-x ---------> 从档案中提取

-v ---------> 用于详细模式

[max@localhost zzz]$ tar -xvf max.tar -C direc1
1
2
3
4

这里 -C 将内容提取到目录direc1

要从档案中提取单个文件,请使用此命令

[max@localhost zzz]$ tar -xvf max.tar 1 -C direc1
1

输入您要存档的文件名,在我的例子中文件名是“1”

[max@localhost zzz]$ tar -cvf max.tar 1 2 3 4 --remove-files

这将在实现后删除原始文件

相关内容