linux zip压缩排除目录,Linux系统zip压缩命令详细参数,附文件排除选项的正确用法...
這次給博客添加了純代碼緩存之后,發(fā)現(xiàn)緩存文件竟然達到了50多MB!而我的服務(wù)器每次還需要同步至七牛,文件體積的增加都會增加文件遠程同步備份的時間。因此,我第一想到的辦法就是在網(wǎng)站ZIP壓縮打包的時候排除緩存文件夾。
下面是從網(wǎng)上找來的ZIP命令參數(shù):
zip Linux上適用的參數(shù):
-1 : 最快壓縮,壓縮率最差。
-9 : 最大壓縮,壓縮率最佳。
-b : 暫存文件的路徑。這個參數(shù)一般在要產(chǎn)生的 zip 文件存在,而硬盤現(xiàn)有空間不足時。
-c : 替新增或更新的文件增加一行注解。
-d : 從 zip 文件移出一個文件。
-D : 不要在 zip 文件中儲存文件的目錄信息。
-f : 以新文件取代現(xiàn)有文件。
-F : 修復(fù)已經(jīng)損毀的壓縮文件。
-g : 將文件壓縮附加到 zip 文件中。
-h : 顯示輔助說明。
-i : 指定要含入的某些特定文件。
-j : 只儲存文件的名稱,不含目錄。
-k : 強迫使用 MSDOS 格式文件名。
-l : 將 CR ( Carriage Return ) LF ( Line Feed ) 轉(zhuǎn)換成 LF,一般是要將 MS-DOS 上的文本文件壓縮后拿到 UNIX 下使用時才使用此參數(shù)。這只適用于文本文件 ( .txt ),如果用于二進制文件則會造成二進制文件損毀。
-L : 顯示 zip 命令的版權(quán)。
-m : 將特定文件移入 zip 文件中,并且刪除特定文件。
-n : 不壓縮特定擴展名的文件。
-o : 將 zip 文件的時間設(shè)成最后修正 zip 文件的時間。
-q : 安靜模式,不會顯示相關(guān)訊息和提示。
-r : 包括子目錄。
-t : 只處理 mmddyy 日期以后的文件。
-T : 測試 zip 文件是否正常。
-u : 只更新改變過的文件和新文件。
-v : 顯示版本資訊或詳細訊息。
-x : 不需要壓縮的文件。
-y : 將 symbolic link 壓縮,而不是壓縮所連結(jié)到的文件。
-z : 為 zip 文件增加注解。
-# : 設(shè)定壓縮速度,-0 表示不壓縮,-1 表示最快速度的壓縮,
-9 :表示最慢速度的壓縮 ( 最佳化的壓縮 ),預(yù)設(shè)值為 -6。
[email?protected] : 從標準輸入讀取文件名稱。
其中-x參數(shù)表示不需要壓縮的文件。按tar命令操作經(jīng)驗,我直接如下執(zhí)行命令:
zip -9r -x *cache* backupfile.zip /www/backupdir
發(fā)現(xiàn)報如下錯誤:
zip error: Invalid command arguments (nothing to select from)
然后man了一下,找到如下-x參數(shù)說明:
按照-x的參數(shù)說明
-x files
--exclude files
Explicitly exclude the specified files, as in:
zip -r foo foo -x \*.o
which will include the contents of foo in foo.zip while excluding all the files that end in .o. The backslash avoids the shell filename
substitution, so that the name matching is performed by zip at all directory levels.
如下繼續(xù)測試:
[[email?protected]_Server ~]# zip -r -x \*.txt test.zip test1/
zip error: Invalid command arguments (nothing to select from)
還是報同樣錯誤!真是奇怪了!
最終,經(jīng)多次測試,才知道zip命令壓縮文件時正確的排除方法(-r表示包含子目錄文件):
zip -rx=excludefiles zipfile.zip filepath
比如,要壓縮test文件目錄及目錄下的所有文件,而要排除所有txt格式,執(zhí)行如下命令即可:
zip -r -x=*.txt test.zip test1
又比如,我現(xiàn)在要壓縮網(wǎng)站文件時排除所有緩存文件:
zip -rx=zhang.ge/cache/* zhang.ge.zip /wwwroot/zhang.ge
原來,-x參數(shù)是用等號來連接需要排除的通配關(guān)鍵詞的!網(wǎng)上分享的參數(shù)都是那么簡單一句【-x : 不需要壓縮的文件】,卻沒人分享具體使用方法!而Linux系統(tǒng)下man命令關(guān)于zip的介紹,居然也不對,真是奇怪,難道就沒人用過這個參數(shù)么?
唉,估計大伙都使用tar --excludes去了。
哦了,本文主要是為了補充一下zip排除文件的正確方法,希望能解決你的燃眉之急。
總結(jié)
以上是生活随笔為你收集整理的linux zip压缩排除目录,Linux系统zip压缩命令详细参数,附文件排除选项的正确用法...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 夕阳红旅游团需求规格说明书
- 下一篇: 新版TCGA不同癌种数据合并