我如何存档并删除多余的文件示例。
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
这将在实现后删除原始文件