linux下的解壓縮、分卷、加密 一、linux下的壓縮和解壓縮命令 1)tar指令壓縮 下面的列表中顯示了tar指令的纖細參數,其實主要的幾個參數也就那麼幾個,使用tar指令可以直接分卷(不過這個分卷沒有直接用過) tar czvf file.tgz file/ //講目錄或者檔案file壓縮為file.tgz tar czvfp - file.tar.gz | split -b 5m //壓縮好的檔案再分卷 cat x* > file.tgz //合并剛才分卷的檔案 合并後的檔案為file.tgz .tar 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName # tar -cf all.tar *.jpg 這條命令是將所有.jpg的檔案打成一個名為all.tar的包。-c是表示產生新的包,-f指定包的檔案名稱。# tar -rf all.tar *.gif這條命令是將所有.gif的檔案增加到all.tar的包裡面去。-r是表示增加檔案的意思。# tar -uf all.tar logo.gif這條命令是更新原來tar包all.tar中logo.gif檔案,-u是表示更新檔案的意思。# tar -tf all.tar這條命令是列出all.tar包中所有檔案,-t是列出檔案的意思# tar -xf all.tar這條命令是解出all.tar包中所有檔案,-t是解開的意思壓縮tar –cvf jpg.tar *.jpg //將目錄裡所有jpg檔案打包成tar.jpgtar –czf jpg.tar.gz *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用gzip壓縮,產生一個gzip壓縮過的包,命名為jpg.tar.gztar –cjf jpg.tar.bz2 *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用bzip2壓縮,產生一個bzip2壓縮過的包,命名為jpg.tar.bz2tar –cZf jpg.tar.Z *.jpg //將目錄裡所有jpg檔案打包成jpg.tar後,並且將其用compress壓縮,產生一個umcompress壓縮過的包,命名為jpg.tar.Zrar a jpg.rar *.jpg //rar格式的壓縮,需要先下載rar for linuxzip jpg.zip *.jpg //zip格式的壓縮,需要先下載zip for linux解壓tar –xvf file.tar //解壓 tar包tar -xzvf file.tar.gz //解壓tar.gztar -xjvf file.tar.bz2 //解壓 tar.bz2tar –xZvf file.tar.Z //解壓tar.Z -A, --catenate, --concatenate 追加 tar 檔案至歸檔 -c, --create 建立一個新歸檔 -d, --diff, --compare 找出歸檔和檔案系統的差異 --delete 從歸檔(非磁帶!)中刪除 -r, --append 追加檔案至歸檔結尾 -t, --list 列出歸檔內容 --test-label 測試歸檔卷標並退出 -u, --update 僅追加比歸檔中副本更新的檔案 -x, --extract, --get 從歸檔中解出檔案 操作修飾符: --check-device 當建立增量歸檔時檢查裝置號(預設) -g, --listed-incremental=檔案處理新式的 GNU 格式的增量備份 -G, --incremental 處理老式的 GNU 格式的增量備份 --ignore-failed-read當遇上不可讀檔案時不要以非零值退出 -n, --seek 歸檔可檢索 --no-check-device 當建立增量歸檔時不要檢查裝置號 --occurrence[=NUMBER] 僅處理歸檔中每個檔案的第 NUMBER個事件;僅當與以下子命令 --delete, --diff, --extract 或是 --list中的一個聯合使用時,此選項才有效。而且不管檔案清單是以命令列形式給出或是通過 -T 選項指定的;NUMBER 值預設為 1 --sparse-version=MAJOR[.MINOR]設定所用的離散格式版本(隱含--sparse) -S, --sparse 高效處理離散檔案 重寫控制: -k, --keep-old-files 解壓時不要替換存在的檔案 --keep-newer-files不要替換比歸檔中副本更新的已存在的檔案 --no-overwrite-dir 保留已存在目錄的中繼資料 --overwrite 解壓時重寫存在的檔案 --overwrite-dir解壓時重寫已存在目錄的中繼資料(預設) --recursive-unlink 解壓目錄之前先清除目錄層次 --remove-files 在添加檔案至歸檔後刪除它們 -U, --unlink-first 在解壓要重寫的檔案之前先刪除它們 -W, --verify 在寫入以後嘗試校正歸檔 選擇輸出資料流: --ignore-command-error 忽略子進程的結束代碼 --no-ignore-command-error將子進程的非零結束代碼認為發生錯誤 -O, --to-stdout 解壓檔案至標準輸出 --to-command=COMMAND將解壓的檔案通過管道傳送至另一個程式 操作檔案屬性: --atime-preserve[=METHOD]在輸出的檔案上保留訪問時間,要麼通過在讀取(預設 METHOD=‘replace’)後還原時間,要不就不要在第一次(METHOD=‘system’)設定時間 --delay-directory-restore 直到解壓結束才設定修改時間和所解目錄的許可權 --group=名稱 強制將 NAME作為所添加的檔案的群組擁有者 --mode=CHANGES 強制將所添加的檔案(符號)更改為許可權CHANGES --mtime=DATE-OR-FILE 從 DATE-OR-FILE 中為添加的檔案設定mtime -m, --touch 不要解壓檔案的修改時間 --no-delay-directory-restore取消 --delay-directory-restore 選項的效果 --no-same-owner 將檔案解壓為您所有 --no-same-permissions從歸檔中解壓許可權時使用使用者的掩碼位(預設為普通使用者服務) --numeric-owner 總是以數字代表使用者/組的名稱 --owner=名稱 強制將 NAME作為所添加的檔案的所有者 -p, --preserve-permissions, --same-permissions解壓檔案許可權資訊(預設只為超級使用者服務) --preserve 與 -p 和 -s 一樣 --same-owner 嘗試解壓時保持所有者關係一致 -s, --preserve-order, --same-order為解壓至匹配歸檔排序名稱 裝置選擇和切換: -f, --file=ARCHIVE 使用歸檔檔案或 ARCHIVE 裝置 --force-local即使歸檔檔案存在副本還是把它認為是本地歸檔 -F, --info-script=名稱, --new-volume-script=名稱在每卷磁帶最後運行指令碼(隱含 -M) -L, --tape-length=NUMBER 寫入 NUMBER × 1024 位元組後更換磁帶 -M, --multi-volume 建立/列出/解壓多卷歸檔檔案 --rmt-command=COMMAND 使用指定的 rmt COMMAND 代替 rmt --rsh-command=COMMAND 使用遠程 COMMAND 代替 rsh --volno-file=檔案 使用/更新 FILE 中的卷數 裝置分塊: -b, --blocking-factor=BLOCKS 每個記錄 BLOCKS x 512 位元組 -B, --read-full-records 讀取時重新分塊(只對 4.2BSD 管道有效) -i, --ignore-zeros 忽略歸檔中的零位元組塊(即檔案結尾) --record-size=NUMBER 每個記錄的位元組數 NUMBER,乘以 512 選擇歸檔格式: -H, --format=FORMAT 建立指定格式的歸檔 FORMAT 是以下格式中的一種: gnu GNU tar 1.13.x 格式 oldgnu GNU 格式 as per tar <= 1.12 pax POSIX 1003.1-2001 (pax) 格式 posix 等同於 pax ustar POSIX 1003.1-1988 (ustar) 格式 v7 old V7 tar 格式 --old-archive, --portability等同於 --format=v7 --pax-option=關鍵字[[:]=值][,關鍵字[[:]=值]]...控制 pax 關鍵字 --posix 等同於 --format=posix -V, --label=TEXT 建立帶有卷名 TEXT的歸檔;在列出/解壓時,使用 TEXT作為卷名的模式串 壓縮選項: -a, --auto-compress 使用歸檔尾碼來決定壓縮程式 -I, --use-compress-program=PROG通過 PROG 過濾(必須是能接受 -d選項的程式) -j, --bzip2 通過 bzip2 過濾歸檔 --lzma 通過 lzma 過濾歸檔 --no-auto-compress do not use archive suffix to determine thecompression program -z, --gzip, --gunzip, --ungzip 通過 gzip 過濾歸檔 -Z, --compress, --uncompress 通過 compress 過濾歸檔 -J, --xz filter the archive through xz --lzop 通過 lzop 過濾歸檔 本地檔案選擇: --add-file=檔案 添加指定的 FILE 至歸檔(如果名字以 -開始會很有用的) --backup[=CONTROL] 在刪除前備份,選擇 CONTROL 版本 -C, --directory=DIR 改變至目錄 DIR --exclude=PATTERN 排除以 PATTERN 指定的檔案 --exclude-caches 除標識檔案本身外,排除包含CACHEDIR.TAG 的目錄中的內容 --exclude-caches-all 排除包含 CACHEDIR.TAG 的目錄 --exclude-caches-under 排除包含 CACHEDIR.TAG的目錄中所有內容 --exclude-tag=檔案 除 FILE 自身外,排除包含 FILE的目錄中的內容 --exclude-tag-all=檔案 排除包含 FILE 的目錄 --exclude-tag-under=檔案 排除包含 FILE的目錄中的所有內容 --exclude-vcs 排除版本控制系統目錄 -h, --dereference跟蹤符號連結;將它們所指向的檔案歸檔並輸出 --hard-dereference 跟蹤永久連結;將它們所指向的檔案歸檔並輸出 -K, --starting-file=MEMBER-NAME從歸檔中的 MEMBER-NAME 成員處開始 --newer-mtime=DATE 當只有資料改變時比較資料和時間 --no-null 禁用上一次的效果 --null 選項 --no-recursion 避免目錄中的自動降級 --no-unquote 不以 -T 讀取的檔案名稱作為引用結束 --null -T 讀取以空終止的名字,-C 禁用 -N, --newer=DATE-OR-FILE, --after-date=DATE-OR-FILE只儲存比 DATE-OR-FILE 更新的檔案 --one-file-system 建立歸檔時儲存在本地檔案系統中 -P, --absolute-names 不要從檔案名稱中清除引導符‘/’ --recursion 目錄遞迴(預設) --suffix=STRING 在刪除前備份,除非被環境變數SIMPLE_BACKUP_SUFFIX覆蓋,否則覆蓋常用尾碼(‘’) -T, --files-from=檔案 從 FILE中擷取檔案名稱來解壓或建立檔案 --unquote 以 -T讀取的檔案名稱作為引用結束(預設) -X, --exclude-from=檔案 排除 FILE 中列出的模式串 檔案名稱變換: --strip-components=NUMBER 解壓時從檔案名稱中清除 NUMBER個引導部分 --transform=EXPRESSION, --xform=EXPRESSION使用 sed 代替 EXPRESSION 來進行檔案名稱變換 檔案名稱匹配選項(同時影響排除和包括模式串): --anchored 模式串匹配檔案名稱頭部 --ignore-case 忽略大小寫 --no-anchored 模式串匹配任意‘/’後字元(預設對 exclusion 有效) --no-ignore-case 匹配大小寫(預設) --no-wildcards 逐字匹配字串 --no-wildcards-match-slash 萬用字元不匹配‘/’ --wildcards 使用萬用字元(預設對 exclusion ) --wildcards-match-slash萬用字元匹配‘/’(預設對排除操作有效) 提示性輸出: --checkpoint[=NUMBER] 每隔 NUMBER個記錄顯示進度資訊(預設為 10 個) --checkpoint-action=ACTION 在每個檢查點上執行 ACTION --index-file=檔案 將詳細輸出發送至 FILE -l, --check-links只要不是所有連結都被輸出就列印資訊 --no-quote-chars=STRING 禁用來自 STRING 的字元引用 --quote-chars=STRING 來自 STRING 的額外的引用字元 --quoting-style=STYLE 設定名稱引用風格;有效 STYLE值請參閱以下說明 -R, --block-number 每個資訊都顯示歸檔內的塊數 --show-defaults 顯示 tar 預設選項 --show-omitted-dir 列表或解壓時,列出每個不匹配尋找標準的目錄 --show-transformed-names, --show-stored-names顯示變換後的檔案名稱或歸檔名 --totals[=SIGNAL] 處理歸檔後列印出總位元組數;當此SIGNAL 被觸發時帶參數 -列印總位元組數;允許的訊號為: SIGHUP,SIGQUIT,SIGINT,SIGUSR1 和 SIGUSR2;同時也接受不帶 SIG 首碼的訊號名稱 --utc 以 UTC 格式列印檔案修改資訊 -v, --verbose 詳細地列出處理的檔案 -w, --interactive, --confirmation每次操作都要求確認 相容性選項: -o 建立歸檔時,相當於 --old-archive;展開歸檔時,相當於 --no-same-owner 其它選項: -?, --help 顯示此協助列表 --restrict 禁用某些潛在的有危險的選項 --usage 顯示簡短的用法說明 --version 列印程式版本 長選項和相應短選項具有相同的強制參數或選擇性參數。 除非以 --suffix 或 SIMPLE_BACKUP_SUFFIX 設定備份尾碼,否則備份尾碼就是“~”。 可以用 --backup 或 VERSION_CONTROL 設定版本控制,可能的值為: none, off 從不做備份 t, numbered 進行編號備份 nil, existing 如果編號備份存在則進行編號備份,否則進行簡單備份 never, simple 總是使用簡單備份 2)gzip命令壓縮 減少檔案大小有兩個明顯的好處,一是可以減少儲存空間,二是通過網路傳輸檔案時,可以減少傳輸的時間。gzip 是在 Linux 系統中經常使用的一個對檔案進行壓縮和解壓縮的命令,既方便又好用。文法:gzip [選項] 壓縮(解壓縮)的檔案名稱該命令的各選項含義如下:-c 將輸出寫到標準輸出上,並保留原有檔案。-d 將壓縮檔解壓。-l 對每個壓縮檔,顯示下欄欄位: 壓縮檔的大小;未壓縮檔的大小;壓縮比;未壓縮檔的名字-r 遞迴式地尋找指定目錄並壓縮其中的所有檔案或者是解壓縮。-t 測試,檢查壓縮檔是否完整。-v 對每一個壓縮和解壓的檔案,顯示檔案名稱和壓縮比。-num 用指定的數字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比),-9 或--best表示最慢壓縮方法(高壓縮比)。系統預設值為 6。指令執行個體:gzip *% 把目前的目錄下的每個檔案壓縮成 .gz 檔案。gzip -dv *% 把目前的目錄下每個壓縮的檔案解壓,並列出詳細的資訊。gzip -l *% 詳細顯樣本1中每個壓縮的檔案的資訊,並不 解壓。gzip usr.tar% 壓縮 tar 備份檔案 usr.tar,此時壓縮檔的副檔名為.tar.gz。.gz 解壓1:gunzip FileName.gz 解壓2:gzip -d FileName.gz 壓縮:gzip FileName二、linux 下的分卷指令 tar zcvpf - eclipse | split -d -b 50m上面的命令是將eclipse這個檔案夾分卷壓縮,每卷50m,注意eclipse 前面有空格.壓縮完之後,會被命名為x00,x01,x02。。。 首先需要合并:合并的命令是:cat x*>eclipse.tar.gz然後解壓:tar zxvf eclipse.tar.gz2)使用split命令分卷# tar czvf google.tar.gz Google_Maps_API.doc Google_Maps_API.doc # split -d -b 4m google.tar.gz # cat x* > google_bak.tar.gz # tar zxvf google_bak.tar.gz Google_Maps_API.doc 三、linux下的加密 在linux下的加密主要是使用命令 比如命令zip就可以加密 加密:zip -e filename.zip filename 斷行符號, 輸入2次密碼即可. 解密:unzip filename.zip 按提示輸入密碼即可.