Linux 解压缩命令:强制覆盖的选项?

Nic*_*oul 257 linux zip command-line

我正在编写一个 shell 脚本,它将 ZIP 文件解压缩到现有的文件层次结构中,可能会覆盖某些文件。

问题是 unzip 命令要求确认:
replace jsp/extension/add-aspect.jsp? [y]es, [n]o, [A]ll, [N]one, [r]ename: y

是否有强制解压缩覆盖文件的选项?

for*_*idt 393

根据http://www.manpagez.com/man/1/unzip/您可以使用-o覆盖文件的选项:

unzip -o /path/to/archive.zip
Run Code Online (Sandbox Code Playgroud)

请注意-o,与大多数unzip选项一样,必须放在存档名称之前

  • `-o` 选项应该在任何其他参数之前使用。示例:`unzip -o /path/to/archive.zip -d /destination_dir` (15认同)
  • @loretoparisi 你在说什么?这是一个Linux问题。您是否正在寻找类似[Expand-Archive](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.archive/expand-archive)的东西? (2认同)

小智 50

如果您需要解压缩以仅替换新文件,您可以使用

unzip -f archieve.zip
Run Code Online (Sandbox Code Playgroud)

但是为了将来的参考,您可以输入

unzip 
Run Code Online (Sandbox Code Playgroud)

你会得到这个包的参数列表。这种情况下可能的论据是:

-f  freshen existing files, create none
-n  never overwrite existing files         
-q  quiet mode (-qq => quieter)
-o  overwrite files WITHOUT prompting    
Run Code Online (Sandbox Code Playgroud)

使用您认为更适合您需要的那一种。

  • +1,我喜欢更微妙、更友好的版本“这里是如何为上下文进行 rtfm,但这里是 m”方法的相关部分。 (7认同)