歸檔和壓縮簡介
歸檔也叫打包,是把多個文件和目錄存儲到一個文件中,歸檔文件沒有經過壓縮,它佔用的空間是其中所有文件和目錄的總和。
壓縮文件也是一個文件和目錄的集合,但是它的存儲方式使其佔用的磁盤空間比原來小。
壓縮原理
壓縮是指利用算法將文件進行處理,以達到保留最多文件信息,而讓文件容量變小的目的。壓縮文件的基本原理是查找文件內的重複字節,建立一個相同字節的字典文件,並用一個代碼表示,所以體積會被大大壓縮。
壓縮分爲爲無損壓縮和有損壓縮;
tar包
Linux系統中最常用的歸檔程序是tar,使用tar程序歸檔的包稱爲tar包,通常以.tar結尾的。
tar [選項] [文件|目錄]
-c:創建新的歸檔文件
-v:詳細報告tar處理的信息
-f:使用歸檔文件或設備
-x:從歸檔文件中釋放文件
tar cvf /root/1.tar /root/abc #打包
tar xvf /root/1.tar #解包
gzip和gunzip
gzip是GNU自由軟件的文件壓縮程序,普遍用於Linux和Unix系統的文件壓縮,以.gz結尾。
gzip [選項] [文件]
-d:將壓縮文件進行解壓縮
-t:測試壓縮文件是否完整
-1:壓縮更快
-9:壓縮更好
gzip /root/a #壓縮指定源文件
gzip -dv /root/1.gz #解壓縮
gunzip [選項] [文件] 解壓縮
gunzip /root/1.gz 解壓縮
zip和unzip
zip格式文件是Windows和Linux都通用的壓縮文件類型,以.zip結尾。zip是一個計算機文件的壓縮算法。
zip [選項] [壓縮文件] [文件]
-z:添加壓縮文件的註釋
-e:壓縮時添加密碼
-r:遞歸壓縮
-T:測試壓縮文件完整性
-1:壓縮速度更快
-9:壓縮更好
zip /root/a.zip /root/a #壓縮
zip -e /root/a.zip /root/a #加密壓縮
-n:不覆蓋已存在的文件
-d:解壓到指定目錄
unzip /root/a.zip #解壓縮
unzip -n /root/a.zip -d /root #解壓到指定目錄
bzip2和bunzip2
bzip2是具有高壓縮率無損壓縮的工具,以.bz2結尾。
bzip2 [選項] [文件]
-d:執行解壓縮
-f:在壓縮或解壓縮時覆蓋現有重名文件
-z:執行強制壓縮
bzip2 /root/a #壓縮
bzip2 -d /root/a.bz2 #解壓縮
cpio
cpio是Linux的文件備程序,以.cpio或.tar結尾。
cpio [選項] [目標目錄]
-o:將數據複製到文件或設備上
-i:將數據從文件或設備上還原到系統中
-d:自動建立目錄
find /root/www|cpio -o -O /root/www.cpio #備份www目錄
dd
使用dd命令可以複製文件,可以用dd命令來對磁盤的IO進行測試。
dd if=/dev/sda1 of=/root/sda1 #備份分區