我正在尝试使用follwing命令创建一个tar:
tar -cvf myFile.tar -X exclude-files.txt myContentDirectory
Run Code Online (Sandbox Code Playgroud)
我的排除文件有以下要排除的模式:
**/*.bak
**/*.db
**/*.html
Run Code Online (Sandbox Code Playgroud)
但我没有看到这些文件类型被我的焦油排除在外.我在这做错了什么?
我发现当我在exclude-files.txt中只有一个模式时,我们只说
**/*.bak
Run Code Online (Sandbox Code Playgroud)
它确实有效.但没有多种文件模式(每个新线路)
我认为这:
*.bak
*.db
*.html
Run Code Online (Sandbox Code Playgroud)
如果要排除可以执行的特定目录,则排除文件的格式是正确的:
some-dir/*.db
Run Code Online (Sandbox Code Playgroud)
你的命令也应如下所示:
tar -cvf myFile.tar -X exclude-files.txt myContentDirectory
Run Code Online (Sandbox Code Playgroud)
对不起,如果这个答案有点晚了。
tar -cO --exclude=*.bak myContentDirectory | tar -O --delete '*.db' | tar -O --delete '*.html' > myFile.tar
Run Code Online (Sandbox Code Playgroud)
看,您在这里所做的是创建 tar,但是将其发送到 stdout 而不是文件,然后将其通过管道传输到 tar 以删除您不想要的内容,一次或多次,最后将输出写入文件.
你甚至可以像这样先测试它:
tar -cO --exclude=*.bak myContentDirectory | tar -O --delete '*.db' | tar -O --delete '*.html' | tar -tv
Run Code Online (Sandbox Code Playgroud)
这将吐出存档中剩余的所有文件的列表。
| 归档时间: |
|
| 查看次数: |
17907 次 |
| 最近记录: |