令人惊讶的是,我在这里找不到这个问题的直截了当的答案。我还在学习Linux。假设我已经将zip文件下载到我的下载文件夹中。现在,我想将它移动到受保护的文件夹,例如/ opts或/ var。对于我需要它的文件sudo move
和unzip
是否有良好的命令?
答案 0 :(得分:19)
如果您希望执行两个单独的操作(移动和提取),那么您别无选择,只能使用两个命令。
但是,如果您的最终目标是将zip文件解压缩到特定目录,则可以将zip文件保留在原始位置,并使用-d
选项指定提取目录:
sudo unzip thefile.zip -d /opt/target_dir
来自manpage:
[ - d exdir]
要提取文件的可选目录。默认情况下,所有文件和子目录都在当前目录中重新创建; -d选项允许在任意目录中进行提取(总是假设有权写入目录)。此选项不需要出现在命令行的末尾;它在zipfile规范之前(使用常规选项),zipfile规范之后或文件与-x选项之间也被接受。可以连接选项和目录,它们之间没有任何空格,但请注意,这可能会导致正常的shell行为被抑制。特别是,' - d~''(代字号)由Unix C shell扩展为用户主目录的名称,但'' - d~''被视为当前的文字子目录''〜''目录。
答案 1 :(得分:1)
sudo mv <file_name> /opts && unzip /opts/<file_name>
此外,您可以指定解压缩目标以解压缩,以便您可以在单个命令中执行此操作。然而,这将与上面的命令略有不同,因为zip将保留在其当前位置,只有解压缩的文件将被提取到指向的目标。
答案 2 :(得分:1)
unzip -d [target directory] [filename].zip