首頁 > 軟體

RHEL7檔案歸檔與壓縮

2020-06-16 17:34:25

本文介紹RHEL7.2檔案的歸檔和壓縮

檔案歸檔

歸檔的好處:方便使用、查詢、閱讀,易於管理 (批次刪除檔案)

常用操作

命令:tar
作用:將許多檔案一起儲存至一個單獨的磁帶或磁碟歸檔,並能從歸檔中單獨還原所需檔案
用法: tar [選項...] [FILE]...

選項說明
-c 建立一個新歸檔
-C 指定路徑歸檔或解檔
-f 歸檔檔案
-x 從歸檔中解出檔案
-t 列出歸檔內容
-d 找出歸檔和檔案系統的差異
-v 詳細地列出處理的檔案

將檔案歸檔至grub.tar

[root@localhost ~]# tar -cvf  grub.tar  httpd.conf  install.log install.log.syslog
httpd.conf
install.log
install.log.syslog

檢視grub.tar歸檔中的檔案

[root@localhost ~]# tar -tvf grub.tar
-rw-r--r-- root/root         0 2015-10-15 15:32 httpd.conf
-rw-r--r-- root/root     47316 2015-10-14 00:28 install.log
-rw-r--r-- root/root     10733 2015-10-14 00:26 install.log.syslog

解檔grub.tar至test目錄

[root@localhost ~]# mkdir test
[root@localhost ~]# tar -xvf grub.tar  -C test
httpd.conf
install.log
install.log.syslog
[root@localhost ~]# ll test/
total 60
-rw-r--r-- 1 root root     0 1015 2015 httpd.conf
-rw-r--r-- 1 root root 47316 1014 2015 install.log
-rw-r--r-- 1 root root 10733 1014 2015 install.log.syslog

檔案型別

linux對於檔案的擴充套件名沒有像windows要求的那麼嚴格,所以在使用linux的過程中經常會遇到有些檔案根本就沒有擴充套件名,哪麼我們應該如何去判斷沒有擴充套件名的檔案,到底是檔案還是目錄呢?

命令:file
作用:確定檔案型別
語法:file [選項...] [檔案...]

選項說明
-b 列出檔案辨識結果時,不顯示檔名稱
-c 詳細顯示指令執行過程,便於排錯或分析程式執行的情形
-f 列出檔案中檔名的檔案型別
-F 使用指定分隔符號替換輸出檔名後的預設的“:”分隔符
-i 輸出mime型別的字串
-L 檢視對應軟連結對應檔案的檔案型別
-z 嘗試去解讀壓縮檔案的內容
[root@localhost ~]# touch a.txt
[root@localhost ~]# file a.txt
a.txt: empty
[root@localhost ~]# file test/
test/: directory
[root@localhost ~]# file /etc/init.d/network
/etc/init.d/network: Bourne-Again shell script text executable

大小比對

將檔案進行歸檔後的歸檔檔案大小為所有檔案大小之和

命令:du
作用:計算每個檔案的磁碟用量,目錄則取總用量
語法:du [選項]... [檔案]...

選項說明
-a 顯示目錄中個別檔案的大小
-b 顯示目錄或檔案大小時以byte為單位
-c 除了顯示個別目錄或檔案的大小外,同時也顯示所有目錄或檔案的總和
-k 以KB即1024bytes為單位輸出
-m 以MB為單位輸出
-s 僅顯示總計,只列出最後加總的值
-h 以K,M,G為單位,提高資訊的可讀性
-x 以一開始處理時的檔案系統為準,若遇上其它不同的檔案系統目錄則略過
-L<符號連結> 顯示選項中所指定符號連結的原始檔大小
-S 顯示個別目錄的大小時,並不含其子目錄的大小
-X<檔案> 在<檔案>指定目錄或檔案
-D 顯示指定符號連結的原始檔大小
-H 與-h引數相同,但是K,M,G是以1000為換算單位
-l 重複計算硬體連結的檔案
[root@localhost ~]# mkdir grub
[root@localhost ~]# tar -cvf grub.tar httpd.conf  install.log install.log.syslog
httpd.conf
install.log
install.log.syslog
[root@localhost ~]# tar -xvf grub.tar  -C grub
httpd.conf
install.log
install.log.syslog
[root@localhost ~]# du -sh grub/*
0       grub/httpd.conf
48K     grub/install.log
12K     grub/install.log.syslog
[root@localhost ~]# ll -sh grub.tar
60K -rw-r--r-- 1 root root 60K 8月  15 16:24 grub.tar

檔案壓縮

壓縮檔案能節約硬碟的資源和加快檔案傳輸時的速率

壓縮格式:xz
壓縮檔案格式:.xz
壓縮語法:tar Jcvf filename.xz SOURCE
解壓語法:tar Jxvf filename.xz <-C 目標解壓目錄>

[root@localhost archive]# tar -Jcvf archive.xz httpd.conf  install.log 
httpd.conf
install.log
[root@localhost archive]# tar -Jxvf archive.xz 
httpd.conf
install.log

壓縮格式:bzip2
壓縮檔案格式:.tar.bz2
壓縮語法:tar jcvf filename.tar.bz2 SOURCE
解壓語法:tar jxvf filename.tar.bz2 <-C 目標解壓目錄>

[root@localhost archive]# tar -jcvf archive.tar.bz2 httpd.conf  install.log 
httpd.conf
install.log
[root@localhost archive]# tar -jxvf archive.tar.bz2
httpd.conf
install.log

壓縮格式:gzip2
壓縮檔案格式:.tar.gz或tgz
壓縮語法:tar zcvf filename.tgz SOURCE
解壓語法:tar zxvf filename.tgz <-C 目標解壓目錄>

[root@localhost archive]# tar -zcvf archive.tgz httpd.conf  install.log 
httpd.conf
install.log
[root@localhost archive]# tar -zxvf archive.tgz 
httpd.conf
install.log

壓縮格式:zip
壓縮檔案格式:.zip
壓縮語法:zip -r filename.zip SOURCE
解壓語法:unzip <-d 目標解壓目錄> filename.zip

[root@localhost archive]# zip -r archive.zip httpd.conf  install.log 
  adding: httpd.conf (stored 0%)
  adding: install.log (deflated 75%)
[root@localhost archive]# unzip archive.zip 
Archive:  archive.zip
replace httpd.conf? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
 extracting: httpd.conf              
replace install.log? [y]es, [n]o, [A]ll, [N]one, [r]ename: y
  inflating: install.log 

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-08/134709.htm


IT145.com E-mail:sddin#qq.com