Linux下使用tar命令

2021-02-19 百問科技

關註上方"百問科技",置頂公眾號

不錯過任何一篇精彩文章

---

文 | only_eVonne

來源:

https://www.cnblogs.com/li-hao/archive/2011/10/03/2198480.html

答疑的過程中發現有很多初學者不會使用tar命令,所以今天來個簡單科普。

解壓

語法:tar [主選項+輔選項] 文件或者目錄

使用該命令時,主選項是必須要有的,它告訴tar要做什麼事情,輔選項是輔助使用的,可以選用。

主選項:

c :創建新的檔案文件。如果用戶想備份一個目錄或是一些文件,就要選擇這個選項。相當於打包。

x: 從檔案文件中釋放文件。相當於拆包。

t :列出檔案文件的內容,查看已經備份了哪些文件。

特別注意,在參數的下達中, c/x/t 僅能存在一個!不可同時存在!因為不可能同時壓縮與解壓縮。

輔助選項:

-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮或解壓? 一般格式為xx.tar.gz或xx. tgz

-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮或解壓?一般格式為xx.tar.bz2

-v :壓縮的過程中顯示文件!這個常用

-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加其他參數!

-p :使用原文件的原來屬性(屬性不會依據使用者而變)

--exclude FILE:在壓縮的過程中,不要將 FILE 打包。

範例:

範例一:將整個 /etc 目錄下的文件全部打包成為 /tmp/etc.tar

[root@linux ~]

[root@linux ~]

[root@linux ~]

特別注意:

在參數 f 之後的文件檔名是自己取的,我們習慣上都用 .tar 來作為辨識。

如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file 。

如果加 j 參數,則以 .tar.bz2 來作為附檔名。

上述指令在執行的時候,會顯示一個警告訊息:

『tar: Removing leading `/" from member names』那是關於絕對路徑的特殊設定。

範例二:查閱上述 /tmp/etc.tar.gz 文件內有哪些文件?

[root@linux ~]

由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的文件時,

就得要加上 z 這個參數了,這很重要。

範例三:將 /tmp/etc.tar.gz 文件解壓縮在 /usr/local/src 底下

[root@linux ~]

[root@linux src]

在預設的情況下,我們可以將壓縮檔在任何地方解開的,以這個範例來說

我先將工作目錄變換到 /usr/local/src 底下,並且解開 /tmp/etc.tar.gz

則解開的目錄會在 /usr/local/src/etc ,另外,如果您進入 /usr/local/src/etc

則會發現,該目錄下的文件屬性與 /etc/ 可能會有所不同喔。

範例四:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已

[root@linux ~]

[root@linux tmp]

我可以透過 tar -ztvf 來查閱 tarfile 內的文件名稱,如果只要一個文件,

就可以透過這個方式來下達,注意, etc.tar.gz 內的根目錄 / 被拿掉了!

範例五:我要備份 /home, /etc ,但不要 /home/dmtsai

[root@linux ~]

另外:tar命令的C參數

  $ tar -cvf file2.tar /home/usr2/file2
  tar: Removing leading '/' from members names
  home/usr2/file2

該命令可以將/home/usr2/file2文件打包到當前目錄下的file2.tar中,需要注意的是:使用絕對路徑標識的源文件,在用tar命令壓縮後,文件名連同絕對路徑(這裡是home/usr2/,根目錄'/'被自動去掉了)一併被壓縮進來。使用tar命令解壓縮後會出現以下情況:

  $ tar -xvf file2.tar
  $ ls
  …… …… home …… …… 

  解壓縮後的文件名不是想像中的file2,而是home/usr2/file2。

  $ tar -cvf file2.tar -C /home/usr2 file2

該命令中的-C dir參數,將tar的工作目錄從當前目錄改為/home/usr2,將file2文件(不帶絕對路徑)壓縮到file2.tar中。

注意:-C dir參數的作用在於改變工作目錄,其有效期為該命令中下一次-C dir參數之前。

使用tar的-C dir參數,同樣可以做到在當前目錄/home/usr1下將文件解壓縮到其他目錄,例如:

  $ tar -xvf file2.tar -C /home/usr2

而tar不用-C dir參數時是無法做到的:

  $ tar -xvf file2.tar /home/usr2
  tar: /tmp/file: Not found in archive
  tar: Error exit delayed from previous errors

還有我們最常見的,解壓xxx.tar.bz2文件,比如解壓內核:

   $ tar xjf linux-2.6.22.6.tar.bz2

--END--

上一篇文章:淺析Linux初始化init系統第二部分 - Upstart

Linux 3.1開始都已支持設備樹,如果你正在做驅動或系統相關工作,建議學一下設備樹,一定用的上。推薦韋東山老師歷時3個月錄製而成的設備樹視頻,一共6課29節,時長10小時。同樣的內容有同行賣到了200多,我們還是良心價69。

設備樹亮點:

2. 延續一貫風格:邊講邊畫、現場寫代碼

3. 內容豐富,涉及u-boot/kernel/driver對設備樹的處理

dts=>dtb=>device_node=>platform_device

設備樹目錄:

第一課.設備樹的引入與體驗

第01節_字符設備驅動程序的三種寫法

第02節_字符設備驅動程序的傳統寫法

第03節_字符設備驅動的編譯測試

第04節_總線設備驅動模型

第05節_使用設備樹時對應的驅動編程

第06節_只想使用不想深入研究怎麼辦?

第二課. 設備樹的規範

第01節_DTS格式

第02節_DTB格式

第三課. 內核對設備樹的處理

第01節_從源頭分析_內核head.S對dtb的簡單處理

第02節_對設備樹中平臺信息的處理(選擇machine_desc)

第03節_對設備樹中運行時配置信息的處理

第04節_dtb轉換為device_node(unflatten)

第05節_device_node轉換為platform_device

第06節_platform_device跟platform_driver的匹配

第07節_內核中設備樹的操作函數

第08節_在根文件系統中查看設備樹

第四課. u-boot對設備樹的支持

第01節_傳遞dtb給內核

第02節_dtb的修改原理

第03節_dtb的修改命令fdt移植

第五課. 中斷系統中的設備樹

第01節_中斷概念的引入與處理流程

第02節_Linux對中斷處理的框架及代碼流程簡述

第03節_中斷號的演變與irq_domain

第04節_示例_在S3C2440上使用設備樹描述中斷體驗

第05節_在設備樹中描述中斷

第六課_實踐操作

第01節_使用設備樹給DM9000網卡_觸控螢幕指定中斷

第02節_在設備樹中時鐘的簡單使用

第03節_在設備樹中pinctrl的簡單使用

第04節_使用設備樹給LCD指定各種參數

購買地址:

https://item.taobao.com/item.htm?spm=a1z10.1-c-s.w5003-18996326770.1.764a82accZHBAf&id=577749510933&scene=taobao_shop

如果對視頻質量有顧慮,請試看2節:

▲字符設備驅動的傳統寫法

▲只想使用設備樹不想深入研究怎麼辦?

以下是部分設備樹學員的評價▼

如何獲取本公眾號精選的乾貨文章?

在公眾號後臺回復"目錄"2個字即可

加入社群:

韋東山官方微信群開通,供學員交流,添加管理員微信(13266630429,驗證:進群)即可加入,名額有限先到先得。

相關焦點

  • Linux之tar命令
    「通過SSH訪問伺服器,難免會要用到壓縮,解壓縮,打包,解包等,這時候tar命令就是是必不可少的一個功能強大的工具「tar命令可以為
  • linux每日命令(31):tar命令
    linux每日命令(31):tar命令tar命令可以為linux的文件和目錄創建檔案。
  • Linux下的tar壓縮解壓縮命令詳解
    -z:有gzip屬性的-j:有bz2屬性的-Z:有compress屬性的-v:顯示所有過程-O:將文件解開到標準輸出下面的參數-f是必須的-f: 使用檔案名字,切記,這個參數是最後一個參數,後面只能接檔案名。
  • 每天一個 Linux 命令(27):tar 命令
    通過 SSH 訪問伺服器,難免會要用到壓縮,解壓縮,打包,解包等,這時候 tar 命令就是是必不可少的一個功能強大的工具。linux 中最流行的 tar 是麻雀雖小,五臟俱全,功能強大。tar 命令可以為 linux 的文件和目錄創建檔案。
  • Linux解壓tar.gz之tar命令詳解
    了解Linux上的tar命令tar命令可以為linux的文件和目錄打包。利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。利用tar命令,可以把一大堆的文件和目錄全部打包成一個文件,這對於備份文件或將幾個文件組合成為一個文件以便於網絡傳輸是非常有用的。
  • 每天一個 Linux 命令(28):tar 命令
    linux中最流行的tar是麻雀雖小,五臟俱全,功能強大。tar命令可以為linux的文件和目錄創建檔案。利用tar,可以為某一特定文件創建檔案(備份文件),也可以在檔案中改變文件,或者向檔案中加入新的文件。tar最初被用來在磁帶上創建檔案,現在,用戶可以在任何設備上創建檔案。
  • Linux下 tar 命令介紹
    ,查看打包文件內容,將文件或目錄添加到打包文件中,通過這些實例,可以幫助你快速掌握 tar 命令創建打包文件使用 tar cvf 打包之後的文件名 需要打包的文件或者目錄列表 命令格式對文件或目錄進行打包[root@ecs-centos-7 dir]# tar cvf test.tar
  • Tar命令備份還原Linux系統
    意外想到tar命令就可以,通過scp傳到不同的主機,就可以通過tar打包壓縮備份到指定的地方,特別是對一些總文件比較大比較多的情況,還可以利用-g選項來做增量備份。備份的目錄最好使用相對路徑,也就是進入到需要備份的根目錄下具體示例方法如下。
  • Linux下解壓命令
    Linux下的壓縮文件格式五花八門,因此相應的解壓和壓縮的工具也是五花八門,例如7z,gz2,bz2,rar,gizp, tar……
  • 在linux中創建和解壓文檔的11個 tar 命令例子
    l
  • linux打包命令tar詳解
    、解壓的命令,tar不僅可以對多個文件打包,還可對多個文件進行壓縮。d)解包例子,使用選項z,x,v,f:l文件解包:tar -zxvf config.tar.gzl選項說明:z 使用gzip壓縮規則壓縮文件;x 解壓tar包;v 顯示tar執行過程;f 指定被解壓的文件名(一定要寫在選項最後一個);config.tar.gz 被解tar包e)查看壓縮包內容,使用選項z,
  • 【命令詳解】Linux系統tar命令詳解
    在Linux系統內tar命令用於對文件和目錄打包和壓縮用,打包可以把一些零散的文件整理到一起,而壓縮可以節省磁碟空間的佔用,就等於把一個饅頭給捏實了一樣,而且還方便數據的傳遞。 tar命令是Linux系統下常用的打包壓縮命令,使用tar命令打出來的包我們稱為tar包,這個包通常都會以.tar結尾。
  • Linux mkdir、tar 和 kill 命令的 4 個有用小技巧
    $ mkdir -p /home/$USER/Desktop/tecmint/{etc/x1,lib,usr/{x2,x3},bin,tmp/{Y1,Y2,Y3/z},opt,var}你可以用 tree 命令驗證。如果沒有安裝你可以使用 apt 或 yum 安裝 『tree』 軟體包。
  • 詳解 Linux tar(壓縮與解壓)命令.
    tar 命令用於創建 .tar、.tar.gz、.tgz 或 tar.bz2 檔案,通常稱為「tarball」。擴展名 .tar.gz 和 .tgz 用於識別使用 gzip 壓縮生成的檔案,以減少檔案的大小。擴展名為 .tar.bz2 的檔案是使用 bzip2 壓縮生成的。Linux 發行版提供 tar 二進位文件,無需外部命令的幫助即可支持 gzip 壓縮。
  • Linux下解壓tar.xz文件
    2、使用tar命令解壓一覽首先說一下,tar是tape archive的全稱,它預裝在Linux系統中。xz是一個基於LZMA算法的文件壓縮算法,使用xz算法壓縮的文件通常以.tar.xz或.txz結尾,下面看下如何使用tar命令抽取或解壓.tar.xz或.txz文件。
  • linux中的18個tar命令示例
    在 Linux 中解壓 tar 存檔文件要解壓縮或提取 tar 文件,只需使用選項發出以下命令x(extract)。例如,下面的命令將解壓文件public_html-14-09-12.tar在當前工作目錄中。如果要在不同的目錄中解壓,請使用選項作為-C(specified directory)。
  • 【奇技淫巧】linux、windows下壓縮打包命令整理
    windows下還在用webshell一個個目錄下源碼嗎?小弟整理了些linux和windows下壓縮打包命令,現在分享給大家,希望能幫助到大家。linux(主要使用find和tar函數)1、直接打包(1)將mail壓縮打包至videos目錄下tar -zcvf  /home2/public_html/uploads/videos/videos.tar.gz  /home2/mail/ --ignore-failed-read(2)以時間過濾直接壓縮打包製定目錄下
  • linux基礎命令和使用(基礎入門篇,看完就課上手linux作業系統)
    linux基礎命令和使用(基礎入門篇,看完就課上手linux作業系統)通常用全部大寫的變量名表示常量動態變量的申明不用指定變量類型
  • Linux 常用的tar壓縮和解壓命令詳解
    因此根據大家需要,本次將介紹一下壓縮和解壓的常用的另一個tar命令。  上一篇文章的傳送門: Linux 常用的zip壓縮和解壓命令詳解tar命令初識  相信很多開發者對tar命令都很熟悉,我們在Linux系統中備份文件的時候經常會使用到
  • Linux命令大全
    如果使用該命令時,不設置任何參數,則 find 命令將在當前目錄下查找子目錄與文件。並且將查找到的子目錄和文件全部進行顯示。: 切換到底線命令模式,以在最底一行輸入命令。若想要編輯文本:啟動Vim,進入了命令模式,按下i,切換到輸入模式。命令模式只有一些最基本的命令,因此仍要依靠底線命令模式輸入更多命令。3.1.3.2 輸入模式在命令模式下按下i就進入了輸入模式。