我正在编写一个PHP脚本,该脚本将一系列生成的文件(使用wget)下载到一个目录中,然后使用zip命令进行压缩,然后向上移动.

下载效果很好,压缩效果也很好.我运行命令:

zip -r /var/www/oraviewer/rgn_download/download/fcst_20100318_0319.zip /var/www/oraviewer/rgn_download/download/fcst_20100318_0319

这将生成一个包含所有下载文件的zip文件,但它包含完整的/var/www/oraviewer/rgn_download/download/个目录,然后到达fcst_20100318_0319/目录.

我可能只是在zip命令中缺少了一个标志,或者一些小的东西,但是如何让它使用fcst_20100318_0319/作为根目录呢?

推荐答案

我不认为zip有这样的标志.我认为唯一的办法是:

cd /var/www/oraviewer/rgn_download/download/ && \
   zip -r fcst_20100318_0319.zip fcst_20100318_0319

(反斜杠只是为了清楚起见,你可以go 掉它,把所有的东西放在一行.)

由于PHP在子shell中执行该命令,因此不会更改当前目录.

Linux相关问答推荐

使用sed替换字符,但如果它是在bash csv文件中的字符串中,则不使用

如何在Linux上获取clang中的模板实例化统计?

为什么 `std::this_thread::yield()` 比 `std::this_thread::sleep_for(0s)` 慢 10 倍?

sed:用空格替换

中的换行符

c++进程状态中的+是什么意思

最小的 x86_64 Hello World ELF 二进制文件是什么?

为什么 Linux (x86) 的页面大小是 4 KB,这是如何计算的?

在 Bash 中识别接收到的信号名称

如何在 Linux 中使用命令行将 PDF 转换为 JPG?

kdevtmpfsi 使用整个 CPU

C++:使用 longjmp 和 setjmp 安全吗?

比较两个图像的 python/linux 方式

限制程序在 Linux 中运行的时间

如何将文件夹中的文件列表发送到Linux中的txt文件

如何在 linux 或 unix 上找到用户的主目录?

如何使用 Linux 命令找到我的 shell 版本?

System.currentTimeMillis 是否总是返回一个值 >= 以前的调用?

区分 Java 线程和 OS 线程?

id_rsa.pub 文件 SSH 错误:格式无效

Linux下Eclipse在哪里找eclipse.ini