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壓縮時,檔案本身不...