Linux中zip和tar處理軟鏈結的差異與選擇

2021-09-25 18:47:11 字數 2942 閱讀 4259

linux中zip和tar處理軟鏈結的差異與選擇

系統環境

cat /etc/redhat-release 

centos linux release 7.3.1611 (core)

getenforce

disabled

安裝zip,unzip

#直接yum安裝

yum install -y zip unzip

建立實驗檔案

#cd到tmp目錄下

cd /tmp

#建立目錄及檔案

mkdir test

echo "this is a test file" > test.txt

cd ./test

echo "datagrand.com" > datagrand

#建立軟鏈結檔案

##這裡的軟連線檔案,我建立兩種,一種原始檔是在tmp目錄下的,一種原始檔是在/tmp/test目錄下。具體建立流程如下:

ln -s /etc/passwd /tmp/passwd

ln -s /tmp/test/datagrand /tmp/datagrand

#檢視實驗用的所有檔案

pwd/tmp

ls -l

lrwxrwxrwx 1 root root 19 5月 16 18:33 datagrand -> /tmp/test/datagrand

lrwxrwxrwx 1 root root 11 5月 16 18:31 passwd -> /etc/passwd

drwxr-xr-x 2 root root 23 5月 16 18:33 test

-rw-r--r-- 1 root root 20 5月 16 18:30 test.txt

zip實戰

#當前路徑

pwd/

#打包詳情

zip -r tmp.zip ./tmp

adding: tmp/ (stored 0%)

adding: tmp/test/ (stored 0%)

adding: tmp/test/datagrand (stored 0%)

adding: tmp/test.txt (stored 0%)

adding: tmp/passwd (deflated 60%)

adding: tmp/datagrand (stored 0%)

#解包

unzip tmp.zip

ll總用量 4

drwxrwxrwx 9 root root 232 5月 16 19:00 tmp

-rw-r--r-- 1 root root 3219 5月 16 19:00 tmp.zip

cd ./tmp

-rw-r--r-- 1 root root 14 5月 16 18:33 datagrand

-rw-r--r-- 1 root root 1454 4月 20 18:58 passwd

drwxr-xr-x 2 root root 23 5月 16 18:33 test

-rw-r--r-- 1 root root 20 5月 16 18:30 test.txt

#說明

(1)使用unzip,原打包檔案還是存在的,如上例tmp.zip。

直接使用zip打包,軟連線會消失,原來的軟鏈結檔案被原始檔的內容所代替,相當於原來的軟鏈結變成了硬鏈結。

#使用引數-y

##為使zip能夠保留軟鏈結

zip -ry tmp2.zip tmp

unzip tmp2.zip

lllrwxrwxrwx 1 root root 19 5月 16 19:22 datagrand -> /tmp/test/datagrand

lrwxrwxrwx 1 root root 11 5月 16 19:22 passwd -> /etc/passwd

drwxr-xr-x 2 root root 23 5月 16 18:33 test

-rw-r--r-- 1 root root 20 5月 16 18:30 test.txt

#說明

zip使用引數-y,可以保留原檔案中的軟鏈結。

tar實戰

#cd到tmp目錄

cd /tmp

#tar打包壓縮

tar -zcvf t***.tgz .

#解壓縮

tar zxvf t***.tgz

#檢視解壓後的檔案

lrwxrwxrwx 1 root root 19 5月 16 18:33 datagrand -> /tmp/test/datagrand

lrwxrwxrwx 1 root root 11 5月 16 18:31 passwd -> /etc/passwd

drwxr-xr-x 2 root root 23 5月 16 18:33 test

-rw-r--r-- 1 root root 20 5月 16 18:30 test.txt

-rw-r--r-- 1 root root 478 5月 16 19:28 t***.tgz

#說明

(1)tar解壓縮後,原壓縮檔案還是存在的,如上所示。

(2)使用tar打包壓縮可以保留原檔案中的軟鏈結。

總結鑑於上面的測試,我們可以看出,兩者均是可以保留原檔案中的軟鏈結的,可根據自己的喜好來使用。

Linux學習筆記 tar和zip命令》

linuxtar 命令詳解 tar cxtzjvfppn 檔案與目錄 引數 c 建立乙個壓縮檔案的引數指令 create 的意思 x 解開乙個壓縮檔案的引數指令!t 檢視 tarfile 裡面的檔案!特別注意,在引數的下達中,c x t 僅能存在乙個!不可同時存在!因為不可能同時壓縮與解壓縮。z 是...

linux下的tar和rar以及zip 一部分

常用引數 v 顯示所有過程 f 使用檔案名字,這個引數只能是最後乙個引數,後面只能接檔名 r 向壓縮歸檔檔案末尾追加檔案 eg tar rf all.tar gif 將所有.gif的檔案增加到all.tar的包裡面去 t 檢視內容 u 更新檔案 a 壓縮 c 建立壓縮檔案 b 解壓 x 解壓 z 有...

Linux下的zip和tar壓縮解壓縮命令詳解

一 zip壓縮工具 zip的壓縮包在windows和linux中都比較常用,它可以壓縮目錄和檔案,壓縮時錄時,需要指定目錄下的檔案。zip後面先跟目標檔名,即壓縮後得自定義壓縮包名,然後跟要壓縮的檔案或目錄。沒有該命令的話可以用yum install y zip 來安裝。使用zip壓縮時,檔案本身不...