如何在linux中使用zip命令使文件夹具有短路径?
我在linux(RedHat)中使用了命令zip,这是我的命令:如何在linux中使用zip命令使文件夹具有短路径?,linux,zip,compression,redhat,Linux,Zip,Compression,Redhat,我在linux(RedHat)中使用了命令zip,这是我的命令: zip -r /home/username/folder/compress/zip.zip /home/username/folder/compressed/* 然后,我打开文件zip.zip,我看到架构是路径文件夹压缩 我想在文件夹zip中只包含列表文件*.txt 因为我在脚本crontab中使用了这个命令,所以我不能在运行命令zip之前使用命令cd来路径文件夹 zip -jr /home/username/folder/co
zip -r /home/username/folder/compress/zip.zip /home/username/folder/compressed/*
然后,我打开文件zip.zip,我看到架构是路径文件夹压缩
我想在文件夹zip中只包含列表文件*.txt
因为我在脚本crontab中使用了这个命令,所以我不能在运行命令zip之前使用命令cd来路径文件夹
zip -jr /home/username/folder/compress/zip.zip /home/username/folder/compressed/*
请帮助我我浏览了zip手册页,这是我找到的。没有相对于其他目录的存档文件选项。我找到的最接近的是
zip-j
,它删除了整个路径,并将文件直接存储在zip中,而不是子目录中。我不知道在文件名冲突的情况下会发生什么,例如/home/username/folder/compressed/a.txt
和/home/username/folder/compressed/subdir/a.txt
都存在。如果这对您来说不是问题,您可以使用此选项,但我很担心,因为您确实指定了-r
选项,指示希望zip遍历子文件夹
我还想到了脚本可以用不同的工作目录调用zip的可能性,但我看了一下,它们的选项似乎使用了cd
我不得不承认,我不明白你为什么不能使用
cd
,我对此很好奇。您提到了使用crontab,但我从来没有听说过在crontab脚本中更改目录有什么问题。我在命令zip中使用了option-j
zip -jr /home/username/folder/compress/zip.zip /home/username/folder/compressed/*
我已经解决了这个问题,谢谢你能把
cd
放到目录中然后cd
回来吗?不,我在文件夹/home中运行command zip,不使用command cd,我希望运行command zip而不是使用command cd