需求
最近工程里有個存儲本地日志霸琴,上傳本地日志的需求,其中需要將日志以zip格式存儲昭伸,上傳的時候要對其進行base64轉碼梧乘,上傳的時候是上傳成功了,可是log是base64之后的庐杨,對其進行解碼选调,卻是一串亂碼,于是學習了一下相關命令灵份,特此筆記
關于base64
敲出base64 --help 會出現(xiàn)以下結果
base64 --help
Usage: base64 [-hvDd] [-b num] [-i in_file] [-o out_file]
-h, --help display this message
-Dd, --decode decodes input
-b, --break break encoded string into num character lines
-i, --input input file (default: "-" for stdin)
-o, --output output file (default: "-" for stdout)
即
base64 -h :仍舊顯示這條信息
base64 -d(D) 解碼
base64 -b 將編碼的字符串分解為 num 字符行
base64 -i 編碼某個文件的內容
-o 將編解碼之后的結果輸出到某個文件
比如:
base64 -i 1.txt //編碼 1.txt文件的內容
字符串: echo "abc" | base64 //對字符串編碼
解碼: echo "YWJjCg==" | base64 -D // 對字符串解碼
此時我的需求的第一步仁堪,將編碼后的字符串解碼成zip格式文件,只需
echo "要解碼的字符串" | base64 -D -o xxxx //xxx為任意的文件名字
首先我是知道我的文件原來就是zip格式的填渠,現(xiàn)在就涉及到解壓了
############################很長一個分割線##############################
tar
解包:tar xvf FileName.tar
打包:tar cvf FileName.tar DirName
(注:tar是打包弦聂,不是壓縮!)
———————————————
.gz
解壓1:gunzip FileName.gz
解壓2:gzip -d FileName.gz
壓縮:gzip FileName
.tar.gz 和 .tgz
解壓:tar zxvf FileName.tar.gz
壓縮:tar zcvf FileName.tar.gz DirName
———————————————
.bz2
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2
壓縮: bzip2 -z FileName
.tar.bz2
解壓:tar jxvf FileName.tar.bz2
壓縮:tar jcvf FileName.tar.bz2 DirName
———————————————
.bz
解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz
壓縮:未知
.tar.bz
解壓:tar jxvf FileName.tar.bz
壓縮:未知
———————————————
.Z
解壓:uncompress FileName.Z
壓縮:compress FileName
.tar.Z
解壓:tar Zxvf FileName.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
———————————————
.zip
解壓:unzip FileName.zip
壓縮:zip FileName.zip DirName
———————————————
.rar
解壓:rar x FileName.rar
壓縮:rar a FileName.rar DirName
———————————————
.lha
解壓:lha -e FileName.lha
壓縮:lha -a FileName.lha FileName
———————————————
.rpm
解包:rpm2cpio FileName.rpm | cpio -div
———————————————
.deb
解包:ar p FileName.deb data.tar.gz | tar zxf -
———————————————
.tar .tgz .tar.gz .tar.Z .tar.bz .tar.bz2 .zip .cpio .rpm .deb .slp .arj .rar .ace .lha .lzh .lzx .lzs .arc .sda .sfx .lnx .zoo .cab .kar .cpt .pit .sit .sea
解壓:sEx x FileName.*
壓縮:sEx a FileName.* FileName
sEx只是調用相關程序氛什,本身并無壓縮横浑、解壓功能,請注意屉更!
gzip 命令
減少文件大小有兩個明顯的好處徙融,一是可以減少存儲空間,二是通過網絡傳輸文件時瑰谜,可以減少傳輸?shù)臅r間欺冀。gzip 是在 Linux 系統(tǒng)中經常使用的一個對文件進行壓縮和解壓縮的命令树绩,既方便又好用。
語法:gzip [選項] 壓縮(解壓縮)的文件名該命令的各選項含義如下:
-c 將輸出寫到標準輸出上隐轩,并保留原有文件饺饭。-d 將壓縮文件解壓。-l 對每個壓縮文件职车,顯示下列字段: 壓縮文件的大刑笨 ;未壓縮文件的大秀擦椤扛芽;壓縮比;未壓縮文件的名字-r 遞歸式地查找指定目錄并壓縮其中的所有文件或者是解壓縮积瞒。-t 測試川尖,檢查壓縮文件是否完整。-v 對每一個壓縮和解壓的文件茫孔,顯示文件名和壓縮比叮喳。-num 用指定的數(shù)字 num 調整壓縮的速度,-1 或 --fast 表示最快壓縮方法(低壓縮比)缰贝,-9 或--best表示最慢壓縮方法(高壓縮比)馍悟。系統(tǒng)缺省值為 6。指令實例:
gzip *% 把當前目錄下的每個文件壓縮成 .gz 文件剩晴。gzip -dv *% 把當前目錄下每個壓縮的文件解壓赋朦,并列出詳細的信息。gzip -l *% 詳細顯示例1中每個壓縮的文件的信息李破,并不解壓宠哄。gzip usr.tar% 壓縮 tar 備份文件 usr.tar,此時壓縮文件的擴展名為.tar.gz嗤攻。
############################很長一個分割線##############################
上邊文章來自Mac 文件解壓縮毛嫉,其中第一行都代表壓縮包格式
,其他都是解壓和壓縮的命令
直接unzip 文件名
就可以了