第八章 文件的壓縮和打包課後習題

2021-10-03 17:30:17 字數 2799 閱讀 1387

1.gzip命令和bzip2命令能否直接壓縮目錄呢?

不可以。下面我也dir1這個目錄做實驗:

[root@zl_cloud ~]# ls

1.txt anaconda-ks.cfg dir1 dira dirb test test1 test2

[root@zl_cloud ~]# gzip dir1

gzip: dir1 is a directory -- ignored

[root@zl_cloud ~]# bzip2 dir1

bzip2: input file dir1 is a directory.

[root@zl_cloud ~]#

2.請快速寫出使用gzip和bzip2壓縮和解壓乙個檔案的命令。

分別使用gzip和bzip2壓縮檔案:

[root@zl_cloud test]# gzip 1.txt

[root@zl_cloud test]# bzip2 2.txt

[root@zl_cloud test]# ls

1.txt.gz 2.txt.bz2

分別使用gzip和bzip2解壓縮檔案:

[root@zl_cloud test]# gzip -d 1.txt.bz2

[root@zl_cloud test]# bzip2 -d 2.txt.bz2

[root@zl_cloud test]# ls

1.txt 2.txt

[root@zl_cloud test]#

3.tar在打包時,如果想排除多個檔案或者目錄,該如何操作?

比如說我想打包test111,排除裡面的test222目錄和1.txt檔案:

[root@zl_cloud test]# cd test111

[root@zl_cloud test111]# ll

總用量 4

-rw-r--r--. 1 root root 0 3月 7 06:56 1.txt

-rw-r--r--. 1 root root 6 3月 7 06:56 2.txt

drwxr-xr-x. 2 root root 6 3月 7 07:18 test222

[root@zl_cloud test111]# cd ..

[root@zl_cloud test]# tar -cvf test111.tar --exclude test222 test111

test111/

test111/2.txt

test111/1.txt

[root@zl_cloud test]# tar -cvf test111.tar --exclude test222 --exclude 1.txt test111

test111/

test111/2.txt

[root@zl_cloud test]#

4.請試驗:如果不加-是否正確,如tar zcvf 1.tar.gz 1.txt 2.txt?

沒問題。

[root@zl_cloud dirb]# ll

總用量 0

-rw-r--r--. 1 root root 0 3月 7 13:02 1.txt

-rw-r--r--. 1 root root 0 3月 7 13:02 2.txt

[root@zl_cloud dirb]# tar zcvf 1.tar.gz 1.txt 2.txt

1.txt

2.txt

[root@zl_cloud dirb]#

5.如何使用tar打包和解包格式為.tar.gz和.tar.bz2的壓縮包?

打包:

[root@zl_cloud dirb]# tar -zcvf 1.tar.gz 1.txt 2.txt

1.txt

2.txt

[root@zl_cloud dirb]# tar -jcvf 1.tar.bz2 1.txt

1.txt

解包:

[root@zl_cloud dirb]# tar -zxvf 1.tar.gz

1.txt

2.txt

[root@zl_cloud dirb]# tar -jxvf 1.tar.bz2

1.txt

[root@zl_cloud dirb]#

6.找乙個大點的檔案.使用tar分別把這個檔案打成.tar.gz和.tar.bz2格式的壓縮包,比較一下哪個包會更小,並由此判斷是gzip壓縮效果好還是bzip2壓縮效果好。

bzip2壓縮會更小一點,bzip2的壓縮效果好。

使用tar打包並壓縮時預設壓縮機別為6。可以先打包,再壓縮,壓縮的時候設定級別即可。(我設定的級別為9)

[root@zl_cloud dirb]# tar -cvf change.tar 2.txt

2.txt

[root@zl_cloud dirb]# ls

2.txt change.tar

[root@zl_cloud dirb]# bzip2 -9 change.tar

[root@zl_cloud dirb]# ls

2.txt change.tar.bz2

第八章 課後習題

1.掌握格式化的輸入輸出方法。2.熟悉系統提供的輸入操作函式。3.掌握磁碟檔案的輸入輸出方法。1.程式sy9 1.cpp用以列印表中的資料,但程式中存在邏輯錯誤。上機除錯後寫出正確的 原程式如下 修改後的程式如下 sy9 1.cpp include include using namespace s...

C Primer 課後習題第八章

第一章 第二章第三章 第四章第五章 第六章第七章 include includeusing namespace std istream f istream in in.close 輸入完畢,關閉檔案 vector const iterator it words.begin 迭代器 while it ...

第八章 習題

一 填空題 1 在c 的輸入輸出系統中,最核心的物件是 流 執行輸入和輸出操作的類體系叫做 流類 2 當實際進i o操作時,cin與 標準輸入裝置相關聯。3 c 的流類庫預定義了4個流,它們是 cin cout cerr 和 clog 4 使用檔案流類庫的程式必須用 include編譯指令將標頭檔案...