在 Unix zip 程序中,-@ 和 - 参数有什么区别?

在 Unix zip 程序中,-@ 和 - 参数有什么区别?

不两者兼而有之-,而是-@让你用zip通过标准输入管道传入的内容替换参数?有什么区别?

答案1

不同之处在于,它将像压缩文件本身一样 -进行压缩。它将从中读取文件名称列表,并将每个文件添加到存档中。stdinstdin-@stdin手册页说明差异(但请不要真正使用该-@示例,它已损坏并且在任何包含IFS类似空格字符的名称上都会失败):

在 Unix 下,此选项与 find (1) 命令配合使用可发挥强大作用。例如,要存档当前目录及其子目录中的所有 C 源文件:

find . -name "*.[ch]" -print | zip source -@

zip 还接受单个破折号(“-”)作为要压缩的文件的名称,在这种情况下,它将从标准输入读取文件,从而允许 zip 从另一个程序获取输入。例如:

tar cf - . | zip backup -

相关内容