Linux裡面歸檔命令是什麼?如何使用?

老男孩IT教育機構發表於2022-01-19

  Linux裡面歸檔命令是什麼?在Linux作業系統中,歸檔命名為tar,它有很多的好處,方便使用、易於管理,那麼你知道歸檔命令如何使用嗎?本篇文章為大家分享一下,感興趣的朋友一起來看看吧。

  Linux裡面歸檔命令是tar

  詳細內容如下:

  1、tar 打包壓縮

  1)【打包】 為什麼要打包,壓縮?

  -zcvf 打包組合 zcf

  z 壓縮(gzip壓縮)

  c 建立

  v 顯示過程

  f 針對檔案

  語法:

  命令 選項

  tar zcf 【壓縮包的名字.tar.gz】 【要打包的東西】

  裝東西的筐 蘋果

  練習1:把/etc/目錄打包到/opt下面。

  ls -d /etc #檢查有沒有要打包的目錄

  cd / #切換到打包目錄的上一級

  tar zcf /opt/etc.tar.gz ./etc

  執行過程:

  [root@oldboy ~]# cd /

  [root@oldboy /]# tar zcvf /opt/etc.tar.gz ./etc/

  [root@oldboy /]# ls /opt/

  etc etc.tar.gz services

  練習2:把/usr/local目錄打包到/tmp下面。

  [root@oldboy /]# ls -ld /usr/local/

  drwxr-xr-x. 12 root root 131 5月 7 2021 /usr/local/

  [root@oldboy /]# cd /usr

  [root@oldboy usr]# tar zcf /tmp/local.tar.gz ./local/

  v 顯示過程 工作中和領導彙報工作。

  關鍵:

  1)結果:賺100萬。

  2)過程:怎麼賺的100萬?

  2)【檢視包裡內容】

  t 檢視包裡內容

  tar tf 包名

  [root@oldboy usr]# tar tf /tmp/local.tar.gz

  3)【解包】

  組合zxvf,縮寫xf

  x 解壓

  cd /opt

  tar zxvf etc.tar.gz #解壓到了當前目錄

  tar zxf etc.tar.gz

  tar xf etc.tar.gz

  -C 指定路徑解壓

  [root@oldboy opt]# tar xf etc.tar.gz -C /home/oldboy/

  [root@oldboy opt]# ls /home/oldboy/

  -p 保持屬性(zcfp)

  -j 透過bzip2命令壓縮或解壓(非常少了)

  tar jcvf 包名.tar.bz2 包名

  [root@oldboy opt]# tar jcvf /tmp/a.tar.bz2 /etc/hosts #打包實踐

  tar: 從成員名中刪除開頭的“/”

  /etc/hosts

  [root@oldboy opt]# ls /tmp/

  a.hosts a.tar.bz2 etc local.tar.gz services

  [root@oldboy opt]# cd /tmp/

  [root@oldboy tmp]# tar zxvf a.tar.bz2

  gzip: stdin: not in gzip format

  tar: Child returned status 1

  tar: Error is not recoverable: exiting now

  兩種解壓方法:

  [root@oldboy tmp]# tar jxvf a.tar.bz2

  etc/hosts

  [root@oldboy tmp]# tar xf a.tar.bz2 #gzip,bzip統一解壓方法。

  排除打包--exclude=

  tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1

  命令 引數 包名 目錄 排除的檔案

  環境準備

  [root@oldboy tmp]# mkdir /oldboy -p

  [root@oldboy tmp]# cd /oldboy/

  [root@oldboy oldboy]# ls

  [root@oldboy tmp]# mkdir /oldboy -p

  [root@oldboy tmp]# cd /oldboy/

  [root@oldboy oldboy]# ls

  [root@oldboy oldboy]# touch file{1..5}

  [root@oldboy oldboy]# ls

  file1 file2 file3 file4 file5

  [root@oldboy oldboy]# cd ../

  練習排除打包

  排除file1

  [root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1

  ./oldboy/

  ./oldboy/file2

  ./oldboy/file3

  ./oldboy/file4

  ./oldboy/file5

  排除file1到file3 ###--exclude=file{1..3}

  [root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file{1..3}

  ./oldboy/

  ./oldboy/file4

  ./oldboy/file5

  指定要排除的檔案### --exclude=file{1,3,5}

  [root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file{1,3,5}

  ./oldboy/

  ./oldboy/file2

  ./oldboy/file4

  ###--exclude=file1 --exclude=file2

  [root@oldboy /]# tar zcvf /tmp/pai.tar.gz ./oldboy/ --exclude=file1 --exclude=file2

  ./oldboy/

  ./oldboy/file3

  ./oldboy/file4

  ./oldboy/file5

  從檔案中排除打包--exclude-from(-X)

  建立排除的檔案paichu.log,內容就是排除的檔名

  cat >paichu.log<

  file1

  file5

  EOF

  [root@oldboy /]# cat paichu.log

  file1

  file5

  [root@oldboy /]# tar zcvfX /tmp/pai.tar.gz paichu.log ./oldboy/

  ./oldboy/

  ./oldboy/file2

  ./oldboy/file3

  ./oldboy/file4

  tar zcvfX /tmp/pai.tar.gz paichu.log ./oldboy/

  儲存排除檔名的檔案

  -h 打包軟連結

  /etc/rc.local是軟連結檔案,指向真實路徑/etc/rc.d/rc.local

  預設打包的時候,只打包了軟連結檔案。

  tar zcvf /backup/rc.local_1.tar.gz /etc/rc.local

  【而加上-h打包,可以打包軟連結對應的真實檔案】

  [root@oldboy etc]# tar zcvfh /backup/rc.local_1.tar.gz /etc/rc.local

  tar: 從成員名中刪除開頭的“/”

  /etc/rc.local

  [root@oldboy etc]# cd /backup/

  [root@oldboy backup]# tar xf rc.local_1.tar.gz

  [root@oldboy backup]# cat etc/rc.local

  #!/bin/bash

  touch /var/lock/subsys/local


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69952527/viewspace-2853060/,如需轉載,請註明出處,否則將追究法律責任。

相關文章