Linux 常用的壓縮與解壓縮命令有:tar、gzip、gunzip、bzip2、bunzip2、compress 、uncompress、 zip、 unzip、rar、unrar 等。
最常用的打包命令是 tar,使用 tar 程序打出來的包我們常稱為 tar 包,tar 包文件的命令通常都是以 .tar 結(jié)尾的。生成 tar 包后,就可以用其它的程序來進行壓縮了,所以首先就來講講 tar 命令的基本用法。
tar 命令的選項有很多(用 man tar 可以查看到),但常用的就那么幾個選項,下面來舉例說明一下:
# tar -cf all.tar *.jpg
這條命令是將所有 .jpg 的文件打成一個名為 all.tar 的包。-c 是表示產(chǎn)生新的包,-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 包中所有文件,-x 是解開的意思。
以上就是 tar 的最基本的用法。為了方便用戶在打包解包的同時可以壓縮或解壓文件,tar 提供了一種特殊的功能。這就是 tar 可以在打包或解包的同時調(diào)用其它的壓縮程序,比如調(diào)用 gzip、bzip2 等。
1) tar調(diào)用
gzip 是 GNU 組織開發(fā)的一個壓縮程序,.gz 結(jié)尾的文件就是 gzip 壓縮的結(jié)果。與 gzip 相對的解壓程序是 gunzip。tar 中使用 -z 這個參數(shù)來調(diào)用gzip。下面來舉例說明一下:
# tar -czf all.tar.gz *.jpg
這條命令是將所有 .jpg 的文件打成一個 tar 包,并且將其用 gzip 壓縮,生成一個 gzip 壓縮過的包,包名為 all.tar.gz。
# tar -xzf all.tar.gz
這條命令是將上面產(chǎn)生的包解開。
2) tar 調(diào)用 bzip2
bzip2 是一個壓縮能力更強的壓縮程序,.bz2 結(jié)尾的文件就是 bzip2 壓縮的結(jié)果。
關(guān)于“包名_preferences.xml”參數(shù)配置文件,程序一開始運行的時候是不存在的,所以第一次運行程序時,程序不會調(diào)用onsetinitialvalue,只有當(dāng)程序執(zhí)行過一次保存后,參數(shù)配置文件才被創(chuàng)建,從而才會被執(zhí)行調(diào)用。disp_function(cdemoview, "wobblewnd", wobblewnd, vt_empty, vts_none)cdemoview是宿主類名, "wobblewnd"是暴露給外面的名字(腳本調(diào)用時使用的名字), vt_empty是返回值得類型為空,vts_none說明此方法沒有參數(shù),如果要映射的函數(shù)有返回值和參數(shù)該 如何映射,通過下面舉例來說明。如果您的程序是個守護進程,那么也不要緊,我們 只要在別的終端下殺死m(xù)emcheck進程(因為valgrind默認使用memcheck工具,就是默認參數(shù)—tools=memcheck):#killall memcheck這樣我們的程序(./a.out)就被kill了2.檢查代碼覆蓋和性能瓶頸:我們調(diào)用valgrind的工具執(zhí)行程序:#valgrind --tool=callgrind ./sec_infod會在當(dāng)前路徑下生成callgrind.out.pid(當(dāng)前生產(chǎn)的是callgrind.out.19689),如果我們想結(jié)束程序,可以:#killall callgrind然后我們看一下結(jié)果:#callgrind_annotate --auto=yes callgrind.out.19689 >log#vim log3.valgrind使用參數(shù) --log-fd=n 默認情況下,輸出信息是到標(biāo)準(zhǔn)錯誤stderr,也可以通過—log-fd=8,輸出到描述符為8的文件 --log-file=filename將輸出的信息寫入到filename.pid的文件里,pid是運行程序的進行id。