使用 tar 命令管理存檔檔案

2022-02-22 17:08:24 字數 4056 閱讀 5114

tar命令用於將大型檔案集匯集為乙個檔案(存檔)

tar的三種操作:c(建立存檔)、t(列出存檔的內容)、x提取存檔

tar的常用選項:f(要操作的存檔檔名)、v(視覺化操作)

建立壓縮的tar存檔

壓縮方式:z(gzip)、j(bzip2)、j(xz)

1. 使用root使用者,在/root/下建立目錄 tardir1,並使用 cd 進入該目錄

[root@desktop1 ~]# mkdir ~/tardir1

[root@desktop1 ~]# cd tardir1/

2.使用 tar 命令,將/etc/sysconfig/network-scripts/中的所有檔案打包成乙個檔案, 檔名為 achieve1.tar,儲存/root/tardir1/目錄下 

[root@desktop1 tardir1]# tar cf achieve1.tar /etc/sysconfig/network-scripts/*

tar: removing leading `/' from member names

[root@desktop1 tardir1]# ls

achieve1.tar

3.使用 tar 命令,顯示 achieve1.tar 中的檔案列表

[root@desktop1 tardir1]# tar tf achieve1.tar 

etc/sysconfig/network-scripts/ifcfg-br0

etc/sysconfig/network-scripts/ifcfg-eno16777736

etc/sysconfig/network-scripts/ifcfg-eno33554960

etc/sysconfig/network-scripts/ifcfg-eno50332184

etc/sysconfig/network-scripts/ifcfg-lo

etc/sysconfig/network-scripts/ifdown

...etc/sysconfig/network-scripts/init.ipv6-global

etc/sysconfig/network-scripts/network-functions

etc/sysconfig/network-scripts/network-functions-ipv6

[root@desktop1 tardir1]#

4. 使用tar命令,釋放achieve1.tar到/root/tardir1目錄下,觀察該目錄下出現了etc 目錄

[root@desktop1 tardir1]# ll

total

172-rw-r--r--. 1 root root 174080 nov 2

17:03

achieve1.tar

drwxr-xr-x. 3 root root 22 nov 2

17:08 etc

5. 將 achieve1.tar 複製到/home/student(student 使用者的 home 目錄下) 

[root@desktop1 tardir1]# cp achieve1.tar /home/student/

6. 使用 student 使用者,釋放/home/student/achieve1.tar 到 student 的 home 目錄下, 確認釋放出來的所有檔案的

使用者和組都是 student(原來這些檔案都是 root 使用者的) 

[student@desktop1 ~]$ ls

achieve1.tar

[student@desktop1 ~]$ tar xf achieve1.tar

[student@desktop1 ~]$ ls -l etc/sysconfig/network-scripts/total

224-rw-r--r--. 1 student student 261 sep 27

20:20 ifcfg-br0

-rw-r--r--. 1 student student 163 sep 27

20:20 ifcfg-eno16777736

-rw-r--r--. 1 student student 293 sep 27

20:19 ifcfg-eno33554960

-rw-r--r--. 1 student student 293 sep 27

20:19 ifcfg-eno50332184

-rw-r--r--. 1 student student 254 apr 2

2014 ifcfg-lo

...

7. 使用 root 使用者,建立/etc/sysconfig/network-scripts/下所有檔案的壓縮存檔,只用 gzip 作為壓縮方式,

壓縮檔案名為 achieve2.tar.gzip,儲存於/root/tardir1/下 

[root@desktop1 tardir1]# tar czf archieve2.tar.gz /etc/sysconfig/network-scripts/tar: removing leading `/'

from member names

8. 刪除/root/tardir1 下的 etc 目錄及其所有子目錄和子檔案

[root@desktop1 tardir1]# ll

total

208-rw-r--r--. 1 root root 174080 nov 2

17:03

achieve1.tar

-rw-r--r--. 1 root root 36258 nov 2

17:16

archieve2.tar.gz

drwxr-xr-x. 3 root root 22 nov 2

17:08

etc[root@desktop1 tardir1]# rm -rf etc/

9. 釋放 achieve2.tar.gz 的歸檔檔案到 tardir1 目錄下,並檢視

[root@desktop1 tardir1]# tar vxzf achieve2.tar.gz 

etc/sysconfig/network-scripts/etc/sysconfig/network-scripts/ifcfg-lo

...etc/sysconfig/network-scripts/ifcfg-br0

[root@desktop1 tardir1]# ls etc/sysconfig/network-scripts/ifcfg-br0 ifdown-routes ifup-plusb

ifcfg-eno16777736 ifdown-sit ifup-post

ifcfg-eno33554960 ifdown-team ifup-ppp

ifcfg-eno50332184 ifdown-teamport ifup-routes

ifcfg-lo ifdown-tunnel ifup-sit

ifdown ifup ifup-team

ifdown-bnep ifup-aliases ifup-teamport

ifdown-eth ifup-bnep ifup-tunnel

ifdown-ippp ifup-eth ifup-wireless

ifdown-ipv6 ifup-ippp init.ipv6-global

ifdown-isdn ifup-ipv6 network-functions

ifdown-post ifup-isdn network-functions-ipv6

ifdown-ppp ifup-plip

[root@desktop1 tardir1]#

tar命令壓縮和解壓 tar檔案

1.壓縮 tar cvf tmp etc.tar etc 2.解壓 tar xvf tmp etc.tar c 3.tar命令常用的功能 c 建立新的tar檔案 x 解開tar檔案 t 列出tar檔案中包含的檔案的資訊 r 附加新的檔案到tar檔案中 注意 以上功能是獨立的,一次只能使用乙個。4.t...

tar命令的使用

這種格式是我使用得最多的壓縮格式。它在壓縮時不會占用太多cpu的,而且可以得到乙個非常理想的壓縮率。使用下面這種格式去壓縮乙個目錄 tar cvf archive name.tar directory to compress 如何解包 tar xvf archive name.tar.gz 上面這個...

tar 命令使用詳解

tar 解包 tar xvf filename.tar 打包 tar cvf filename.tar dirname 注 tar是打包,不是壓縮!gz 解壓1 gunzip filename.gz 解壓2 gzip d filename.gz 壓縮 gzip filename tar.gz 和 t...