如何使用指令製作不含資料夾的壓縮檔

平常如果要製作不含資料夾的壓縮檔很簡單,只要在資料夾裡面對想要壓縮的資料按右鍵”壓縮”就可以完成了。不過當檔案到達一定的數量之後會變成沒有辦法使用這個方法,因為檔案太多壓縮會出現錯誤,可是如果用資料夾包起來再壓縮就會變成壓縮檔第一層是資料夾,有的程式可能不吃,所以這時候就只能使用指令完成這件事情了。

ZIP 壓縮指令

如果只是要單個檔案壓縮,假設目前要壓縮的檔案名稱是 data.txt 只要使用如下指令

zip data.zip data.txt

如果是多個一樣副檔名的檔案要壓縮可以直接使用萬用字元 * 來替代它

zip data.zip *.txt

如果是要新增資料夾就需要用到 -r 不然資料夾裡面的檔案會沒有被新增到

zip -r data.zip folder

如此要怎麼解決一開始的問題呢?可以使用一下 Shell Script 的技巧,先移動到資料夾裡面再跟指令說壓縮檔要放在上層,如此就可以解決檔案數量太多可是沒辦法只用 GUI 完成的問題了!

(cd folder && zip -r -X "../data.zip" .)