TAR 包含排除项的文件夹

TAR 包含排除项的文件夹

我正在尝试创建一个压缩的 TAR 文件。我有一个要销毁的磁盘,我想对 /users 文件夹进行最后一次快照,但我不想要用户的 .m4v .m4a 和 .mp3 文件,因为它们太大了。

我尝试使用这个命令行

sudo tar acvf- -exclude='*.m4v' -exclude='*.m4a' -exclude='*.mp3' /home/john/Desktop/KS_UserFolders.tar.gz media/john/OS/Users/

我收到的消息是

john@Pepper:~$ sudo tar acvf- -exclude='*.m4v' -exclude='*.m4a' -exclude='*.mp3' /home/john/Desktop/KS_UserFolders.tar.gz media/john/OS/Users/
[sudo] password for john:
tar: -exclude=*.m4a: Cannot stat: No such file or directory
tar: -exclude=*.mp3: Cannot stat: No such file or directory
tar: Removing leading `/' from member names
tar: /home/john/Desktop/KS_UserFolders.tar.gz: Cannot stat: No such file or directory
tar: media/john/OS/Users: Cannot stat: No such file or directory
tar: Exiting with failure status due to previous errors
john@Pepper:~$ 

我确信这只是我习惯了 Linux 的语法,但我找不到适合我的情况的 TAR 使用示例,以及 TAR 的版本

答案1

尝试

sudo tar acvf /home/john/Desktop/KS_UserFolders.tar.gz \
  --exclude='*.m4v' \
  --exclude='*.m4a' \
  --exclude='*.mp3' media/john/OS/Users/

请注意,存档文件名必须紧跟在f选项后面(不带-),并且--exclude选项需要两个破折号。

如果你想把所有内容放在一行上,那么

sudo tar acvf /home/john/Desktop/KS_UserFolders.tar.gz --exclude='*.m4v' --exclude='*.m4a' --exclude='*.mp3' media/john/OS/Users/

相关内容