2013-01-17 70 views
4

令人驚訝的是,我還沒有在這裏找到這個問題的直接答案。我仍然在學習Linux。假設我已將zip文件下載到我的Downloads文件夾中。現在,我想將它移動到受保護的文件夾中,如/ opts或/ var。有沒有一個好的命令,以sudo moveunzip文件到我需要去的地方?你解壓縮並移動下載的文件 - Linux

+0

這是一個有關使用的操作系統,不是一個真正的編程問題的問題。我們有[超級用戶](http://superuser.com),[Unix和Linux](http://unix.stackexchange.com)和[請求Ubuntu](http://ubuntu.stackexchange.com)的問題關於在Linux上學習你的方式。 –

+0

不要期望複合命令,但期望程序能夠很好地協同工作。不要讓應用程序比他們需要的更復雜,而是將它們分解成簡單的步驟。習慣管道,流媒體等信息。 – SBI

回答

13

如果你想執行兩個單獨的操作(移動和提取),那麼你別無選擇,只能使用兩個命令。

但是,如果你的最終目標是把zip文件解壓到指定目錄,你可以把zip文件它在哪裏,並使用-d選項來指定提取目錄:

sudo unzip thefile.zip -d /opt/target_dir 

manpage

[-d exdir]

要將文件提取到的可選目錄。默認情況下,所有文件和子目錄都在當前目錄中重新創建; -d選項允許在任意目錄中進行提取(始終假定有權寫入目錄)。該選項不需要出現在命令行的末尾;它也在zipfile規範之前(使用普通選項),緊隨zipfile規範之後,或者在文件和-x選項之間被接受。選項和目錄可以連接在一起,但它們之間沒有任何空格,但請注意,這可能會導致正常的shell行爲被抑制。特別是,''-d''(代字號)被Unix C shell擴展爲用戶主目錄的名稱,但''-d〜''被當作當前的文本子目錄''〜''目錄。

+0

真的很好的答案。您還指出,**之後**與執行上面的命令和mv並單獨解壓縮有所不同。 –

+1

謝謝肖恩,非常有幫助! – Houdini

+1

不客氣。 –

1

sudo mv <file_name> /opts && unzip /opts/<file_name>

也可以指定解壓目的地解壓,所以你可以在一個單一的命令來實現。然而,這與上面的命令有一點不同,因爲zip會保存在當前位置,只有解壓縮的文件會被提取到指定的目的地。

+0

謝謝你的回答。 – Houdini

1
unzip -d [target directory] [filename].zip 
+0

謝謝你的回答。 – Houdini