
文章插圖
一、壓縮介紹
現(xiàn)在這個時代電子信息發(fā)展迅猛 , 數(shù)據(jù)量越來越龐大 , 小米10手機攝像頭技術(shù)都達到1億像素;2021年9月 , 三星甚至提出2億像素的傳感器技術(shù) 。因此 , 壓縮數(shù)據(jù)成為數(shù)據(jù)存儲和傳輸中用于降低成本和時間的關(guān)鍵技術(shù) 。
2億像素的ISOCELL HP1 , 5000萬像素的ISOCELL GN5
壓縮技術(shù)又分為有損壓縮與無損壓縮兩類 , 兩者的主要區(qū)別是:有損壓縮還原時跟原始信息不是完全一樣 , 但是不影響使用 , 比如音頻、圖片、視頻類信息;無損壓縮還原時跟原始信息完全一樣 , 比如本文要介紹的常用壓縮軟件RAR , Zip等壓縮方法 。
Windows下比較熟知的壓縮方法有zip或者RAR , 為了便于壓縮與解壓的使用 , 開發(fā)了許多的解壓縮軟件 , 比如:winrar、好壓、快壓、360壓縮等 。但是在Linux比較常用的壓縮方法卻是gzip、bzip2、compress等 , 比如官方下載的gcc編譯器源碼壓縮文件就是基于gzip壓縮的:gcc-11.2.0.tar.gz 。
打包或者壓縮格式很多 , 目前主流使用的有如下表所示幾種:
表一
表二
對于表二類似“xxx.tar.gz”等格式的文件 , 是Linux下的一種文件格式 , 生成該格式文件分為兩個步驟 , (1)、xxx文件打包為xxx.tar;(2)、xxx.tar壓縮為xxx.tar.gz 。下面大概介紹Linux下tar打包與gz、bz2等壓縮工具的使用 。
二、Linux打包tar
由于Linux中的很多壓縮程序只能針對一個文件進行壓縮 , 因此如果包含許多文件 , 則需要將所有文件打包為一個文件 , 然后再壓縮 。
Linux下最常用的打包程序就是tar , 使用tar程序打出來的包我們常稱為tar包 , tar包文件的擴展名通常是.tar 。生成tar包后 , 就可以用其它的程序(gzip或bzip2等)來進行壓縮了 。
2.1、tar文件結(jié)構(gòu)
Tar指令只用于多文件打包 , 并不壓縮文件 , 因此打包后的文件并沒有減小 , 反而由于在打包時會在每個文件頭加入512字節(jié)的tar頭部信息 , 使得打包后的文件略微變大 。比如當(dāng)前有文件a1.c、a2.c、a3.c , 每個文件100k , 打包后文件的文件結(jié)構(gòu)如下圖所示:
如上圖所示 , 3個文件共300k , 通過tar打包后 , 至少為301.5k;因為tar文件是按塊存儲 , 每個塊為512bytes大小 , 所以tar文件大小應(yīng)該為512字節(jié)的倍數(shù) , 如果a1.c文件大小為99.7k , 則通過tar打包時 , 最后0.3k必須填充為0 , 補足至100k(滿足512字節(jié)的倍數(shù)) 。
2.2、tar_header頭部結(jié)構(gòu)
tar_header為512字節(jié)的塊結(jié)構(gòu) , 保存后面的文件信息 , tar源碼的tar.h文件中該header結(jié)構(gòu)如下圖所示 , 該header結(jié)構(gòu)剛好是一個塊大小 , 即512字節(jié)每個塊 。
tar源碼版本為“tar-1.26.tar.gz” , 可通過以下網(wǎng)盤鏈接下載:
鏈接:https://pan.baidu.com/s/1T34dYxBRWKYE8jmFvv_2aw
提取碼:ppw2
tar打包函數(shù)入口為create_archive() , 在源碼文件create.c中 。
2.3、tar命令打包
tar 命令用于打包操作時 , 該命令的基本格式為:tar [選項] 源文件或目錄 。tar命令常用的選項及各自的含義如下圖所示 。
(1)、創(chuàng)建2個文件a1.txt、a2.txt , 分別輸入如下內(nèi)容:
(2)、tar命令進行打包 , 生成aTar.tar打包文件
以上關(guān)于本文的內(nèi)容,僅作參考!溫馨提示:如遇健康、疾病相關(guān)的問題,請您及時就醫(yī)或請專業(yè)人士給予相關(guān)指導(dǎo)!
「愛刨根生活網(wǎng)」www.malaban59.cn小編還為您精選了以下內(nèi)容,希望對您有所幫助:- 簡單紙箱手工制作恐龍 紙箱恐龍制作大全圖解
- 如何破解壓縮文件密碼(壓縮文件加密怎么破解?
- 原味經(jīng)典牛排的做法 牛排的制作方法
- 新媒體高效運營工具 愛美刻視頻制作軟件
- 口碑極佳的優(yōu)秀解壓縮軟件 好用解壓縮軟件
- 空氣炸鍋雞翅的制作方法
- 教你如何制作商城app 手機商城app制作流程
- 網(wǎng)站制作報價表 網(wǎng)站制作明細報價表單
- 紅燒帶魚的制作方法 家常燒帶魚怎么做
- 怎么做一個app的介紹(制作app軟件的流程)
