171021檔案打包壓縮 解壓解檔

2021-08-09 19:35:53 字數 4399 閱讀 3325

檔案歸檔(打包)

1.檔案歸檔,就是把多個檔案變成乙個歸檔檔案,即打包。

2.tar    c                ##建立

f                 ##指定歸檔檔案名稱

t                 ##顯示歸檔檔案中的內容

r                 ##向歸檔檔案中新增檔案

--get               ##取出單個檔案

--delete         ##刪除單個檔案

x                 ##取出歸檔檔案中的所有內容

-c               ##指定解檔目錄

測試:1.首先將/etc/打包成名為etc.tar的歸檔檔案

[root@server1 desktop]# tar cf etc.tar /etc/

tar: 從成員名中刪除開頭的「/」

[root@server1 desktop]# ls

etc.tar

2.檢視打包內容

[root@server1 desktop]# tar tf etc.tar

etc/

etc/fstab

etc/crypttab

.

.

3.向etc.tar中新增/boot/目錄

[root@server1 desktop]# tar rf etc.tar /boot/

[root@server1 desktop]# tar tf etc.tar

.

.

boot/initrd-plymouth.img

boot/initramfs-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8.img

boot/vmlinuz-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8

boot/initramfs-3.10.0-123.el7.x86_64.img

boot/initramfs-3.10.0-123.el7.x86_64kdump.img

4.取出單個檔案

[root@server1 desktop]# tar -f etc.tar --get boot

[root@server1 desktop]# ls

boot  etc.tar

[root@server1 desktop]# ls boot/

config-3.10.0-123.el7.x86_64

grub2

initramfs-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8.img

initramfs-3.10.0-123.el7.x86_64.img

initramfs-3.10.0-123.el7.x86_64kdump.img

initrd-plymouth.img

symvers-3.10.0-123.el7.x86_64.gz

system.map-3.10.0-123.el7.x86_64

vmlinuz-0-rescue-2c8e816ea5b64c1b926bfa66f88b54a8

vmlinuz-3.10.0-123.el7.x86_64

只取出boot中的乙個也可以

[root@server1 desktop]# rm -rf boot/

[root@server1 desktop]# ls

etc.tar

[root@server1 desktop]# tar -f etc.tar --get boot/grub2

[root@server1 desktop]# ls

boot  etc.tar

[root@server1 desktop]# ls boot/

grub2

5.刪除包中的boot目錄

[root@server1 desktop]# tar -f etc.tar --delete boot

[root@server1 desktop]# tar -tf etc.tar

.

.

etc/aliases.db

etc/hostname

etc/chrony.conf

etc/rsyslog.conf

用-t檢視只有etc的東西了

6.取出歸檔檔案中的所有內容

[root@server1 desktop]# tar -xf etc.tar

[root@server1 desktop]# ls

etc  etc.tar

7.指定解檔目錄

[root@server1 desktop]# tar -xf etc.tar -c /mnt/

[root@server1 desktop]# ls /mnt/

etctip:tar後面的那個-規定是要加的,但不加也可以

壓縮、解壓

壓縮之後歸檔檔案檔案明顯變小了,有利於傳輸

[root@server1 desktop]# du -sh etc.tar

29m    etc.tar

[root@server1 desktop]# gzip etc.tar

[root@server1 desktop]# du -sh etc.tar.gz

8.3m    etc.tar.gz

1.gz格式

gzip etc.tar        ##壓縮成gz格式

gunzip  etc.tar.gz    ##解壓gz格式壓縮包

2.bz2格式

bzip2 etc.tar        ##壓縮成bz2格式

bunzip2 etc.tar.bz2    ##解壓bz2格式壓縮包

3.xz格式

xz etc.tar         ##壓縮成xz格式

unxz  etc.tar.xz    ##解壓xz格式壓縮包

4.zip格式

zip -r etc.tar.zip etc.tar    ##壓縮成zip格式

unzip etc.tar.zip        ##解壓zip格式壓縮包

但是在實際應用中一般都是打包壓縮、解壓解檔一步完成的,不會先打包再壓縮,傳輸給另乙個人後他再解壓然後再用tar -x解檔的。有沒有什麼快捷命令呢,可以使用下面的命令一步完成:

打包壓縮、解壓解檔

1.gz格式

tar zcf etc.tar.gz /etc    ##把檔案歸檔為tar並壓縮成gz

tar zxf etc.tar.gz    ##解壓並解檔gz格式壓縮包

2.bz2格式

tar jcf etc.tar.bz2 /etc    ##把檔案歸檔為tar並壓縮成bz2

tar jxf etc.tar.bz2    ##解壓並解檔bz2格式壓縮包

3.xz格式

tar jcf etc.tar.xz /etc    ##把檔案歸檔為tar並壓縮成zx

tar jxf etc.tar.xz    ##解壓並解檔xz格式壓縮包

4.zip格式

tar -cf etc.tar /etc/            ##將/etc/打包成etc.tar

zip -r etc.tar.zip etc.tar    ##壓縮成zip格式

unzip etc.tar.zip               ##解壓zip格式壓縮包

tar -xf etc.tar                     ##解檔etc.tar歸檔檔案

tip:zip格式的在tar中沒有像-z、-j、-j這樣的快捷指令,只能先打包再壓縮,然後先解壓再解檔了。

測試:打包壓縮為gz格式並解壓解檔.gz壓縮包

[root@server1 desktop]# tar zcf etc.tar.gz /etc/

tar: 從成員名中刪除開頭的「/」

[root@server1 desktop]# ls

etc.tar.gz

[root@server1 desktop]# tar zxf etc.tar.gz

[root@server1 desktop]# ls

etc  etc.tar.gz

解壓解檔到指定位置

[root@server1 desktop]# tar -zxf etc.tar.gz -c /mnt/

[root@server1 desktop]# ls /mnt/

etc其餘類似,不再截圖。

Linux基礎(6) 檔案打包與解壓縮

檔案打包和解壓縮 常用的壓縮包檔案格式 tables are檔案字尾名 說明 zip zip程式打包壓縮的檔案 rar rar程式壓縮的檔案 7z 7zip程式壓縮的檔案 tar tar程式打包,未壓縮的檔案 gz gzip程式 gnu zip 壓縮的檔案 xz xz程式壓縮的檔案 bz2 bzip...

20181218檔案壓縮和打包

命令 gzip gunzip gzip壓縮和gunzip解壓 用法 gzip gunzip是用來壓縮和解壓單個檔案 如 在 root目錄下壓縮install.log檔案,壓縮後生成的檔案是install.log.gz檔案,然後在使用gunzip檔案將其解壓縮,命令如下 root localhost ...

5 檔案許可權 檔案壓縮打包

命令 解釋ls lh 顯示許可權 chmod ugo rwx dir1 新增所有者 群組 其他人在dir1的讀 寫 執行許可權 chmod go rex dir1 刪除群組 其他人對dir1讀 寫 執行許可權 chown user1 file1 更改file1的所有者為user1 chown r u...