解压缩并移动下载的文件-Linux

解压缩并移动下载的文件-Linux,linux,ubuntu,command-line,Linux,Ubuntu,Command Line,令人惊讶的是,我在这里还没有找到这个问题的直接答案。我还在学习Linux。假设我已将zip文件下载到我的下载文件夹中。现在,我想将它移动到一个受保护的文件夹中,如/opts或/var。是否有一个好的命令可以同时sudo move和unzip将文件解压缩到需要的位置 sudo mv/opts&&unzip/opts/ 您还可以指定要解压的解压目的地,以便可以在单个命令中完成此操作。但是,这与上面的命令有点不同,因为zip将保留在其当前位置,只有解压缩的文件将被提取到指定的目标。如果您希望执行两个单

令人惊讶的是,我在这里还没有找到这个问题的直接答案。我还在学习Linux。假设我已将zip文件下载到我的下载文件夹中。现在,我想将它移动到一个受保护的文件夹中,如/opts或/var。是否有一个好的命令可以同时
sudo move
unzip
将文件解压缩到需要的位置

sudo mv/opts&&unzip/opts/


您还可以指定要解压的解压目的地,以便可以在单个命令中完成此操作。但是,这与上面的命令有点不同,因为zip将保留在其当前位置,只有解压缩的文件将被提取到指定的目标。

如果您希望执行两个单独的操作(移动和提取),那么您别无选择,只能使用两个命令

但是,如果最终目标是将zip文件解压缩到特定目录,则可以将zip文件保留在原来的位置,并使用
-d
选项指定解压缩目录:

sudo unzip thefile.zip -d /opt/target_dir
从:

[-d exdir]

要将文件解压缩到的可选目录。默认情况下,将在当前目录中重新创建所有文件和子目录;-d选项允许在任意目录中进行提取(始终假定有权限写入该目录)。此选项不必出现在命令行的末尾;它也可以在zipfile规范之前(使用普通选项),在zipfile规范之后,或者在文件和-x选项之间接受。选项和目录可以连接在一起,但它们之间没有任何空格,但请注意,这可能会导致抑制正常的shell行为。特别是,'-d~''(tilde)由Unix C shell扩展为用户主目录的名称,但'-d~''被视为当前目录的文本子目录'~'


不要期望复合命令,而是期望程序能够很好地协同工作。不要让应用程序变得过于复杂,而是将它们分解为简单的步骤。习惯于管道、流等信息。这是一个关于使用操作系统的问题,而不是真正的编程问题。我们有,还有关于学习Linux的问题。回答得很好。您还指出,执行上述命令与单独执行mv和解压有区别。谢谢Shawn,非常有用!谢谢你的回答。
unzip -d [target directory] [filename].zip