linux - mac/linux 上的 zip 命令选项

标签 linux bash terminal zip compression

要压缩的文件夹

我有一个文件夹 /resources/html/article(带有 css/js 文件)

终端命令

我正在执行以下命令以在 node.js 中生成一个 zip 文件,以密切模仿软件实用程序的功能。

cd /resources/html/ 
&& $(which zip) -r article.zip article 

A.我的版本

当我手动更改文件名时,假设 article.zipstore.zip,它会解压到名为 article 的文件夹中

我的版本仍在提取到原始文件夹名称。

B.软件实用程序版本

当我手动更改文件名时,假设 article.ziputility.zip,它会解压到名为 utility 的文件夹中

实用程序的版本正在使用存档的当前文件名。

假设

我认为由于提取路径的不同,服务器在我上传时不接受我的版本,而且我知道文件名在上传时确实会更改为服务器上的临时名称,这就是服务器无法找到的原因提取的文件夹。

问题:

我应该以什么方式创建 zip,我应该指定任何选项以使其与实用程序版本非常相似。

最佳答案

zip -r article.zip article 将在 zip 存档的每个路径名中包含 article/。因此,当您解压缩时,无论您将 .zip 文件命名为什么,您都会解压缩到 article/ 目录。 .zip 文件的名称与解压缩结果的名称没有任何关系。

要删除目录名称,您需要从目录内部执行 zip 操作,以便在命令行上传递给 zip 的名称不包含该目录名称。

关于linux - mac/linux 上的 zip 命令选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38319682/

相关文章:

php - 在命令行中获取 PHP 中的 ini 设置

linux - 如何调试我的 Cron 作业运行两次的原因?

ios - XCode 项目 : how to remove/add files from terminal (script, 命令等)

macos - 不工作 scp 命令 : Connection closed by remote host (Mac OS X)

bash - 管道导出命令

linux - 如何将 "/"分隔符连接到字符串?

linux - 在这种情况下如何使用 awk

bash - 使用 bash 查找函数的声明和定义

linux - 两台服务器之间的远程 rsync 管道损坏

linux - BACnet 错误 : object: unknown-object