我在linux(RedHat)中使用了命令zip,这是我的命令:
zip -r /home/username/folder/compress/zip.zip /home/username/folder/compressed/*
然后,我打开文件 zip.zip,我看到架构为路径文件夹压缩。
我想在 zip 文件夹中仅包含列表文件 *.txt
因为我在脚本 crontab 中使用了此命令,因此在运行命令 zip 之前我无法使用命令 cd 来路径文件夹
请帮助我
我浏览了 zip 手册页,这就是我发现的内容。没有相对于不同目录的归档文件选项。我发现的最接近的是 zip -j ,它删除整个路径并将文件直接存储在 zip 而不是子目录中。我不知道在文件名冲突的情况下会发生什么,例如 /home/username/folder/compressed/a.txt
和 /home/username/folder/compressed/subdir/a.txt
都存在。如果这对您来说不是问题,您可以使用此选项,但我很担心,因为您确实指定了 -r
选项,表明您希望 zip 遍历子文件夹。
我还想到了您的脚本可能以某种方式使用不同的工作目录调用 zip 的可能性,但我看了一下这个 unix stack exchange page看起来他们的选项使用 cd
。
我必须承认我不明白为什么你不能使用cd
并且我对此很好奇。你说过一些关于使用 crontab 的事情,但我从未听说过在 crontab 脚本中更改目录有什么问题。
我是一名优秀的程序员,十分优秀!