前言
在搬運檔案的過程中,我們會時常有壓縮檔案的需求,
以方便我們進行搬運。
tar (tarball,實際上只將檔案打包、無壓縮)
- 註:tar 無法直接用一般我們常見的方式進行檔案加密
- tar 單檔打包會有約 2GB 的限制
- 簡記法: c 壓縮、x 解壓縮
c = compress
壓縮:
tar -cvf data.tar FolderName
解壓縮:
tar -xvf data.tar
gzip (tar.gz)
- 簡記法: c 壓縮、x 解壓縮
壓縮:
tar -zcvf data.tar.gz FolderName
解壓縮:
tar -zxvf data.tar.gz
zip
- 想要加密可以使用此方法。
- zip 單檔會有 2.2GB 的限制
# 壓縮
zip -r FileName.zip DirName
# 解壓縮
unzip data.zip
7z x data.zip (似乎也可以,不確定?)
# 加密壓縮
zip -P password data.zip FolderName
# 加密解壓縮
unzip -p password data.zip
7z
* 想要加密、切割檔案壓縮可以使用此方法。
安裝方法1 (使用 apt-get 直接安裝):
# 1. Update the package index:
sudo apt-get update
# 2. Install p7zip-full deb package:
sudo apt-get install p7zip-full
安裝方法2 (deb, debian 檔案):
- p7zip ubuntu 18.04 安裝檔 (ubuntu 18.04 p7zip-full deb)
http://archive.ubuntu.com/ubuntu/pool/universe/p/p7zip/p7zip-full_16.02+dfsg-6_amd64.deb 簡記法: a 壓縮、x 解壓縮
加密壓縮
# 壓縮
7z a data.7z FolderName
# 加密壓縮
# 等待 7z 要求輸入密碼 (較安全,可以兩次確認密碼,也不會直接顯示在 history 中)
7z a data.7z FolderName -p
# 直接輸入密碼 (注意: -p 與 PASSWORD 是直接連在一起的)
7z a data.7z FolderName -pPASSWORD
# 解壓縮
7z x data.7z
切割檔案壓縮
- 7z “-v” 的參數目前支持 b, k, m, g,分別代表:bytes, kilobytes, megabytes, gigabytes
# 分成每個檔案 100m 去壓縮 (注意:-v 與 100m 是連在一起的)
7z -v100m a my_zip.7z FolderName
# 分成每個檔案 1g 去壓縮 (注意:-v 與 1g 是連在一起的)
7z -v1g a my_zip.7z FolderName
# 解壓縮 (輸入001檔即可,剩下會自動抓)
7z x my_zip.7z.001
結果:經壓縮後切割出的檔案
註:當出現以下訊息的解決方法
System ERROR:
E_FAIL
解決方法: 該路徑的權限不足,請更換資料夾後再重新執行此指令。
總結與合併使用:同時壓縮檔案並加密,依容量切割檔案
# 壓縮檔案並加密
7z -v1g a test.7z FolderName -p
# 解壓縮檔案
7z x data.7z.001
結果:
- 加密壓縮後切割出的檔案
解壓縮的過程 (可以看到有找到4個檔案,Volumes = 4),最下方會要求輸入密碼