16 tar symlink wildcards files
我使用 tar 命令,
tar -cvf protTests.tar protTests/*
Run Code Online (Sandbox Code Playgroud)
到tar该文件夹内的所有文件,protTests。但这包括文件夹内的符号链接,这不是我们想要的。
是否有命令行选项,可以忽略所有符号链接?
Cel*_*ada 12
您可以这样做,以提供除符号链接之外tar的所有文件的列表protTests:
find protTests -maxdepth 1 -mindepth 1 -not -type l -print0 |
tar --null --files-from - -cvf protTests.tar
Run Code Online (Sandbox Code Playgroud)
顺便说一下,您现有的命令:
tar -cvf protTests.tar protTests/*
Run Code Online (Sandbox Code Playgroud)
不会存档 中的所有文件protTests,只会存档名称不以 开头的文件.(未隐藏的文件)。该*水珠运营商跳过的文件,其名称开头.的设计。该命令还存在一个问题,即如果protTests有大量文件(超过数千个),则protTests/*可以扩展到太多参数以适应命令行。
像这样的更简单的命令不会有这些问题:
tar -cvf protTests.tar protTests
Run Code Online (Sandbox Code Playgroud)