我想要的只是简单的东西。将给定目录的所有内容压缩。
我得到的结果是:
zip -r /home/andi/MEDIA_DUMPS/xyz_media.zip /home/andi/xyz/mega_backend/mega_www/media
如下:
➜ home tree -L 5
.
└── andi
└── xyz
└── mega_backend
└── mega_www
└── media
├── csv
├── editor
└── img
而我想要的只是这个:
➜ media tree -L 1
.
├── csv
├── editor
└── img
我使用 TAR 的临时方法:
tar -cjf /home/andi/MEDIA_DUMPS/xyz_media.tar.gz -C /home/andi/xyz/mega_backend/mega_www/media .
答案1
我如何仅压缩文件而不是整个目录结构?
使用-j
(垃圾路径)选项。
zip:打包并压缩(存档)文件
-j
--junk-paths
Store just the name of a saved file (junk the path), and do not
store directory names. By default, zip will store the full path
(relative to the current directory).
...
您可能想要创建一个包含 foo 中的文件的 zip 存档,而不记录目录名 foo。
您可以使用 -j 选项来省略路径,如下所示:
zip -j foo foo/*
来源 zip:打包并压缩(存档)文件:
答案2
Zip command is:
zip -jr /home/jack/Desktop/Backup/20180314/032256.zip /home/jack/Desktop/bopy`
这将创建一个不包含整个文件夹的 zip 文件。标志“-jr”或“zip -j -r ....zip /../..”
答案3
尝试
查找 /home/andi/xyz/backend/media -type f -print | zip -j name.zip -@
find 查找文件并将它们通过管道传输到 zip。-j 表示丢弃路径,-@ 告诉 zip 从标准输入读取。
希望这对您有帮助。