在 unix 中压缩文件时 -@ 是什么意思?

在 unix 中压缩文件时 -@ 是什么意思?

我在网上找到了这个命令,但不确定它是什么-@意思。

find . -type f -mtime -29 -mtime +21 | zip -@ 061110_061201.zip

答案1

如果你跑步的话man zip你会看到:

-@ file lists.   If  a file list is specified as -@, zip
       takes the list of input files from standard input instead of  from  the
       command line. 

您可以参考这个Unix & Linux Stack Exchange 上的问题更好地理解标准输入和命令行参数之间的区别。

答案2

手册中对此选项的描述如下(参见man zip命令行或在线版本

 -@     Take the list of input files from standard input.  
        Only  one  filename per line.

因此,解释一下你的命令。这将产生不确定数量的结果:

 find . -type f -mtime -29 -mtime +21

该结果被命令的第二部分接受,但一次只能得到 1 个结果,但仍会处理到同一个 zip 文件中。

zip -@ 061110_061201.zip

答案3

根据man zip

-@ file lists.   If  a file list is specified as -@ [Not on MacOS], zip
   takes the list of input files from standard input instead of  from  the
   command line.  For example,

          zip -@ foo

相关内容