国产露脸精品国产沙发|极品妇被弄得99久九精品亚洲|亚洲va成精品在线播放人|日韩精品久久久免费观看

    
    

        <delect id="w59je"></delect>

            當前位置:首頁 > 足球資訊 > 正文內(nèi)容

            給大家科普一下贏咖川(2022已更新(今日/知乎)

            杏彩體育2年前 (2022-12-29)足球資訊49

            原創(chuàng):扣釘日記(微信公眾號ID:codelogs),歡迎分享,轉(zhuǎn)載請保留出處。

            簡介

            如果你是后端程序員,我想你一定見過*.tar.gz、*.zip、*.jar后綴的文件吧,這些都是壓縮文件,那這些文件都是怎么生成的,又有哪些關鍵區(qū)別呢?本文將帶你一起了解這些文件和配套的操作命令,以及其經(jīng)常使用的場景。

            tar與gzip

            Linux上最常見的壓縮文件就是*.tar.gz了,各種開源軟件常以這種格式發(fā)布源碼或程序,所以作為一名后端開發(fā),還是很有必要了解一下的。

            首先,可以發(fā)現(xiàn)這個文件后綴名有兩段,即.tar和.gz,取這個名稱也是有原因的,因為它的制作過程就分為兩個部分,如下:

            使用tar將目錄打包成單個.tar文件
            # 將applogs目錄打包為applogs.tar文件 # 其中-c代表打包、-f指定打包文件名 $ tar -cf applogs.tar applogs/ # 可以發(fā)現(xiàn),打包文件大小與目錄占用大小差不多,因為tar僅僅是把目錄中文件拼成單個文件,默認并不壓縮 $ du -sh applogs/ applogs.tar 177M applogs/ 175M applogs.tar
            使用gzip將.tar文件壓縮為.gz文件
            # 使用gzip壓縮,會生成applogs.tar.gz文件 $ gzip -k applogs.tar # 可以發(fā)現(xiàn)壓縮后文件體積明顯變小 $ du -sh applogs.tar applogs.tar.gz 175M applogs.tar 8.8M applogs.tar.gz

            這就是*.tar.gz文件的制作過程,其實這兩步使用tar命令可以簡化為一步,如下:

            # 打包并壓縮,其中-z代表打包后再使用gzip壓縮 $ tar -czf applogs.tar.gz applogs/ # 解壓到當前目錄 $ tar -xzf applogs.tar.gz -C ./

            壓縮日志文件

            另外,由于日志文件內(nèi)容一般都有很高重復率,這導致Linux上經(jīng)常會將后端系統(tǒng)產(chǎn)生的歷史日志文件壓縮后存儲起來,這樣可以大幅減低磁盤空間占用。

            基于這種情況,Linux上又誕生了一批查看壓縮日志文件的命令,如zcat、zgrep、zless等,如下:

            # 自動解壓文件,并將其中文件內(nèi)容輸出 $ zcat applogs.tar.gz # 自動解壓文件,并在其中搜索,用法和grep類似 $ zgrep -a error applogs.tar.gz

            這比傻乎乎地先解壓文件,再在文件中搜索要高效多了。

            tar與其它壓縮算法

            另外,除了gzip外,tar其實也可以搭配其它壓縮算法,像bzip2、xz等等,如下:
            -j, --bzip2 filter the archive through bzip2 -J, --xz filter the archive through xz --lzip filter the archive through lzip --lzma filter the archive through xz --lzop filter the archive through lzop -z, --gzip, --gunzip, --ungzip filter the archive through gzip --zstd filter the archive through zstd -Z, --compress, --uncompress filter the archive through compress

            zip與jar

            zip同樣是一種常見的壓縮文件格式,后綴是*.zip,與上面tar、gzip不同的是,zip將打包與壓縮兩個過程融合在一起了,在Linux下對應的操作命令是zip與unzip,如下:

            # 創(chuàng)建zip壓縮文件 $ zip -r applogs.zip applogs/ # 查看zip壓縮文件中有哪些文件 $ unzip -l applogs.zip Archive: applogs.zip Length Date Time Name --------- ---------- ----- ---- 0 2022-09-17 12:58 applogs/ 99166 2022-09-16 18:20 applogs/demo.2022-09-16.0.log 13177092 2022-09-17 13:37 applogs/demo.2022-09-17.0.log 948 2022-08-09 15:08 applogs/demo.log ... --------- ------- 203039002 140 files # 解壓zip文件,-d指定解壓目錄 $ unzip applogs.zip -d ./

            與gzip類似的是,zip也配套了一批方便特定場景使用的命令工具,如zipinfo、zipgrep等,如下:

            # zipinfo查看zip文件包含哪些文件 $ zipinfo applogs.zip Archive: applogs.zip Zip file size: 9573195 bytes, number of entries: 140 drwxrwxrwx 3.0 unx 0 bx stor 22-Sep-17 12:58 applogs/ -rwxrwxrwx 3.0 unx 99166 tx defN 22-Sep-16 18:20 applogs/demo.2022-09-16.0.log -rwxrwxrwx 3.0 unx 13177092 tx defN 22-Sep-17 13:37 applogs/demo.2022-09-17.0.log -rwxrwxrwx 3.0 unx 948 tx defN 22-Aug-09 15:08 applogs/demo.log ... 140 files, 203039002 bytes uncompressed, 9546235 bytes compressed: 95.3% # zipgrep自動解壓文件,并在其中搜索,用法和grep類似 $ zipgrep error applogs.zip

            查看jar文件

            目前,絕大多數(shù)java項目都是基于spingboot的,眾所周知,spingboot會將項目打包成單個jar文件來部署,但其實jar文件本質(zhì)上就是zip格式,它相比zip文件只是多了一個META-INF/MANIFEST.MF文件而已,如下:
            $ unzip -p app.jar META-INF/MANIFEST.MF Manifest-Version: 1.0 Spring-Boot-Classpath-Index: BOOT-INF/classpath.idx Implementation-Version: 0.0.1-SNAPSHOT Spring-Boot-Layers-Index: BOOT-INF/layers.idx Start-Class: com.example.demo.DemoApplication Spring-Boot-Classes: BOOT-INF/classes/ Spring-Boot-Lib: BOOT-INF/lib/ Build-Jdk-Spec: 1.8 Spring-Boot-Version: 2.4.0 Created-By: Maven Jar Plugin 3.2.0 Main-Class: org.springframework.boot.loader.JarLauncher

            如上所示,MANIFEST.MF文件指定了jar包的Main-Class,這樣當執(zhí)行java -jar app.jar時,java就知道去哪個類找main方法了,而spingboot打包的jar,無非就是將啟動類換成了自己的而已。

            而很多時候,我們需要確認下jar文件里面的內(nèi)容,比如我想看一下app.jar里被spingboot內(nèi)嵌的tomcat的線程池配置大小,可如下查看:

            $ zipgrep max-thread app.jar BOOT-INF/classes/application.yml: max-threads: 500

            這可比jdk自帶的jar命令方便多了,如果你是java開發(fā)同學,這個命令應該成為你開發(fā)工具箱中的一員。

            總結(jié)

            ok,壓縮文件與命令介紹得差不多了,簡單總結(jié)一下:

            tar、gzip:用于打包或解壓*.tar.gz文件的命令,雖然它們是兩個命令,但幾乎都是一起使用的。zip、unzip:用于打包或解壓*.zip文件的命令,值得注意的是,它們同樣可處理*.jar文件,且在搜索場景中,使用zipgrep更方便。 less命令其實可以直接打開這些壓縮文件,它甚至可以打開png、pdf等廣義上的壓縮文件!

            另外,Linux平臺上其實還有一些其它的壓縮命令,如bzip2、xz、7z、rar等,就不一一介紹了,感興趣可查看Linux man文檔。

            往期內(nèi)容

            密碼學入門接口偶爾超時,竟又是JVM停頓的鍋!耗時幾個月,終于找到了JVM停頓十幾秒的原因mysql的timestamp會存在時區(qū)問題?真正理解可重復讀事務隔離級別字符編碼解惑

            掃描二維碼推送至手機訪問。

            版權聲明:本文由財神資訊-領先的體育資訊互動媒體轉(zhuǎn)載發(fā)布,如需刪除請聯(lián)系。

            本文鏈接:http://thecityplacetownhomes.com/?id=18904

            分享給朋友:

            “給大家科普一下贏咖川(2022已更新(今日/知乎)” 的相關文章

            “快樂看球 體彩相守”——11月21日至12月18日,渭南體彩與您相約渭南吾悅廣場,一起共享足球盛宴

            “快樂看球 體彩相守”——11月21日至12月18日,渭南體彩與您相約渭南吾悅廣場,一起共享足球盛宴

            2022年11月21日至12月18日,正值2022卡塔爾世界杯,渭南體彩在世界杯期間推出“快樂看球 體彩相守”主題活動,讓廣大市民與中國體育彩票來一場親密接觸。...

            【人物】塔瓦雷斯:十二年堅守,帶給烏拉圭足球革命性的影響

            【人物】塔瓦雷斯:十二年堅守,帶給烏拉圭足球革命性的影響

            作為本屆世界杯年紀最大、在位時間最長的主帥,71歲的塔瓦雷斯在過去十二年里成功扮演了“老師”角色,為烏拉圭足球帶來了革命性影響。 “同伊朗的比賽中,葡萄牙在場上有9名歐洲杯冠軍成員,這說明了他們的實力。當然,我們也做好了充分準備,大家已經(jīng)一起工作12年了?!?主帥...

            ?青島足球俱樂部正式退出中國職業(yè)聯(lián)賽

            ?青島足球俱樂部正式退出中國職業(yè)聯(lián)賽

            4月12日,青島足球俱樂部致函青島市體育局、青島市足球運動管理中心,就青島隊退出中國職業(yè)足球聯(lián)賽的情況進行了說明。 在《關于青島足球俱樂部退出中國職業(yè)足球聯(lián)賽的情況說明》中,青島俱樂部表示:2020-2021賽季,俱樂部作為中超新軍,在資金方面存在巨大缺口,加之前任股東歷史遺留的民...

            英超足球比分起伏不定,6分鐘進4球,進球大作戰(zhàn)

            英超足球比分起伏不定,6分鐘進4球,進球大作戰(zhàn)

            北京時間1月3日凌晨4時,英超聯(lián)賽第21輪,伯恩茅斯主場3-3戰(zhàn)平沃特福德。兩隊在26分鐘內(nèi)攜手打進6球,在新年的首戰(zhàn)中為雙方球迷們貢獻了一場進球表演。...

            2019年10月競彩足球和籃球賽事安排(足球513場,籃球86場)

            2019年10月競彩足球和籃球賽事安排(足球513場,籃球86場)

            點擊上方"體彩業(yè)主之家"↑↑↑關注,實用彩票資訊盡掌握 昨日本平臺掃盤推薦4場全中! 今日掃盤推薦9場比賽! 請關注公眾號后免費獲??! 感謝節(jié)后體彩中心領導和業(yè)主第一時間分享了這份賽事安排,現(xiàn)分享給各業(yè)主朋友! 2019年10月競彩足球賽事安排...

            競彩亞洲杯來了!冠軍、冠亞軍競猜游戲開售

            競彩亞洲杯來了!冠軍、冠亞軍競猜游戲開售

            雖然第17屆亞洲杯足球賽在2019年1月才將開打,但是競彩亞洲杯的征程已經(jīng)正式起航啦!12月12日,競彩提前開售了本屆杯賽的冠軍、冠亞軍競猜游戲。哪兩支球隊能過關斬將會師決賽,誰又能技壓群雄最后問鼎?你是否會為支持國足買上一票呢? 冠軍競猜游戲:日韓澳伊成冠軍熱門 圖為即時...

            ?