linux每日命令(31):tar命令

閱讀目錄(Content)

  • 一.命令格式
  • 二. 命令功能
  • 三. 命令參數
    • 必要參數
    • 選擇參數
  • 四. 常見解壓、壓縮命令
    • tar
    • .gz
    • .tar.gz 和 .tgz
    • .bz2
    • .tar.bz2
    • .bz
    • .tar.bz
    • .Z
    • .tar.Z
    • .zip
    • .rar
  • 五. 使用實例
    • 1:將文件全部打包成tar包
    • 2:查閱上述 tar包內有哪些文件
    • 3:將tar 包解壓縮
    • 4:只解壓tar包里的部分文件
    • 5:在文件夾當中,比某個日期新的文件才備份
    • 6:備份文件夾內容時排除部分文件

?

一.命令格式

tar [必要參數] [選擇參數] [文件] 

?

二. 命令功能

用來壓縮和解壓文件。tar本身不具有壓縮功能。他是調用壓縮功能實現的

?

三. 命令參數

必要參數

參數描述
-A或--catenate 新增壓縮文件到已存在的壓縮文件
-B或--read-full-records,讀取數據時重設區塊大小。
-c或--create,建立新的壓縮文件
-d或-diff,記錄文件的差別
-r或--append 新增文件到已存在的壓縮文件的結尾部分
-u或--update 僅置換較壓縮文件內的文件更新的文件
-x或--extrac,從壓縮的文件中提取文件
-t或--list ,列出壓縮文件的內容
-z或--gzip或--ungzip,通過gzip指令解壓文件
-j通過bzip2指令解壓文件
-p或--same-permissions 用原來的文件權限還原文件
-Z通過compress指令解壓文件
-N<日期格式>或--newer=<日期時間> ,只將較指定日期更新的文件保存到備份文件里。
-v顯示操作過程
-l文件系統邊界設置
-k或--keep-old-files, 解壓文件時,不覆蓋已有的文件
-m或--modification-time ,解壓文件時,不變更文件的更改時間
-W或--verify,壓縮文件時,確認文件正確無誤

選擇參數

?

參數描述
-b設置區塊數目
-C切換到指定目錄
-f指定壓縮文件
--help顯示幫助信息
--version顯示版本信息

四. 常見解壓、壓縮命令

tar

打包:tar cvf FileName.tar DirName (將目錄Dirname及其下面的目錄、文件打包成名為FileName.tar的包)
解包:tar xvf FileName.tar(注:tar是打包,不是壓縮!)

?

.gz

壓縮: gzip FileName
解壓1: gunzip FileName.gz
解壓2: gzip -d FileName.gz

?

.tar.gz 和 .tgz

壓縮:tar zcvf FileName.tar.gz DirName
解壓:tar zxvf FileName.tar.gz

?

.bz2

壓縮: bzip2 -z FileName
解壓1:bzip2 -d FileName.bz2
解壓2:bunzip2 FileName.bz2

?

.tar.bz2

壓縮:tar jcvf FileName.tar.bz2 DirName
解壓:tar jxvf FileName.tar.bz2

?

.bz

解壓1:bzip2 -d FileName.bz
解壓2:bunzip2 FileName.bz

?

.tar.bz

解壓:tar jxvf FileName.tar.bz

?

.Z

壓縮:compress FileName
解壓:uncompress FileName.Z

?

.tar.Z

.tar.Z
壓縮:tar Zcvf FileName.tar.Z DirName
解壓:tar Zxvf FileName.tar.Z

?

.zip

壓縮:zip FileName.zip DirName
解壓:unzip FileName.zip

?

.rar

壓縮:rar a FileName.rar DirName
解壓:rar x FileName.rar

?

五. 使用實例

1:將文件全部打包成tar包

?命令:

tar -cvf log.tar 1.log 
tar -zcvf log.tar.gz 1.log
tar -jcvf log.tar.bz2 1.log 

輸出:

[root@localhost test]# ll 1.log 
-rw-r--r-- 1 root root 3743 Nov 30 09:51 1.log
[root@localhost test]# tar -cvf log.tar 1.log 
1.log
[root@localhost test]# tar -zcvf log.tar.gz 1.log 
1.log
[root@localhost test]# tar -jcvf log.tar.bz2 1.log 
1.log
[root@localhost test]# ll *.tar*
-rw-r--r-- 1 root root 10240 Nov 30 09:53 log.tar
-rw-r--r-- 1 root root  1798 Nov 30 09:55 log.tar.bz2
-rw-r--r-- 1 root root  1816 Nov 30 09:54 log.tar.gz

說明:

tar -cvf log.tar 1.log 僅打包,不壓縮!
tar -zcvf log.tar.gz 1.log 打包后,以 gzip 壓縮
tar -jcvf log.tar.bz2 1.log 打包后,以 bzip2 壓縮

在參數 f 之后的文件檔名是自己取的,我們習慣上都用 .tar 來作為辨識。 如果加 z 參數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar包; 如果加 j 參數,則以 .tar.bz2 來作為tar包名。

?

2:查閱上述 tar包內有哪些文件

?命令:

tar -ztvf log.tar.gz

輸出:

[root@localhost test]# tar -ztvf log.tar.gz
-rw-r--r-- root/root      3743 2018-11-30 09:51 1.log

說明:

由于我們使用 gzip 壓縮的log.tar.gz,所以要查閱log.tar.gz包內的文件時,就得要加上 z 這個參數了。

3:將tar 包解壓縮

?命令:

tar -zxvf /home/hc/test/log.tar.gz 

輸出:

[root@localhost test]# cd test2
[root@localhost test2]# ls
[root@localhost test2]# tar -zxvf /home/hc/test/log.tar.gz 
1.log
[root@localhost test2]# ls
1.log

說明:

在預設的情況下,我們可以將壓縮檔在任何地方解開的,比如此處就是在test2目錄下解壓了test目錄下的log.tar.gz

4:只解壓tar包里的部分文件

?命令:

tar -zxvf /home/hc/test/log123.tar.gz 2.log

輸出:

[root@localhost test2]# cd ../test
[root@localhost test]# ls
1.log  2.log  3.log  log.tar  log.tar.bz2  log.tar.gz
[root@localhost test]# tar -zcvf log123.tar.gz 1.log 2.log 3.log 
1.log
2.log
3.log
[root@localhost test]# ll
total 36
-rw-r--r-- 1 root root  3743 Nov 30 09:51 1.log
-rw-r--r-- 1 root root  3743 Nov 30 09:51 2.log
-rw-r--r-- 1 root root  3743 Nov 30 09:51 3.log
-rw-r--r-- 1 root root  1943 Nov 30 10:07 log123.tar.gz
-rw-r--r-- 1 root root 10240 Nov 30 10:01 log.tar
-rw-r--r-- 1 root root  1810 Nov 30 10:01 log.tar.bz2
-rw-r--r-- 1 root root  1817 Nov 30 10:01 log.tar.gz
[root@localhost test]# cd ../test2
[root@localhost test2]# ls
1.log
[root@localhost test2]# tar -ztvf /home/hc/test/log123.tar.gz 
-rw-r--r-- root/root      3743 2018-11-30 09:51 1.log
-rw-r--r-- root/root      3743 2018-11-30 09:51 2.log
-rw-r--r-- root/root      3743 2018-11-30 09:51 3.log
[root@localhost test2]# tar -zxvf /home/hc/test/log123.tar.gz 2.log
2.log
[root@localhost test2]# ls
1.log  2.log

說明:
此處是只解壓出了log123.tar.gz包里的2.log文件,我們可以通過 tar -ztvf 來查閱 tar 包內的文件名稱

?

5:在文件夾當中,比某個日期新的文件才備份

?命令:

tar -N "2018/11/30" -zcvf log11.tar.gz .

輸出:

[root@localhost test]# ll
total 0
-rw-r--r-- 1 root root 0 Nov 30 10:23 1.log
-rw-r--r-- 1 root root 0 Nov 30 10:23 2.log
-rw-r--r-- 1 root root 0 Nov 30 10:23 3.log
[root@localhost test]# tar -N "2018/11/30" -zcvf log11.tar.gz ./*
tar: Option --after-date: Treating date `2018/11/30' as 2018-11-30 00:00:00
./1.log
./2.log
./3.log
[root@localhost test]# tar -N "2018/12/30" -zcvf log12.tar.gz ./*
tar: Option --after-date: Treating date `2018/12/30' as 2018-12-30 00:00:00
tar: ./1.log: file is unchanged; not dumped
tar: ./2.log: file is unchanged; not dumped
tar: ./3.log: file is unchanged; not dumped
tar: ./log11.tar.gz: file is unchanged; not dumped
[root@localhost test]# ll
total 8
-rw-r--r-- 1 root root   0 Nov 30 10:23 1.log
-rw-r--r-- 1 root root   0 Nov 30 10:23 2.log
-rw-r--r-- 1 root root   0 Nov 30 10:23 3.log
-rw-r--r-- 1 root root 128 Nov 30 10:56 log11.tar.gz
-rw-r--r-- 1 root root  45 Nov 30 10:57 log12.tar.gz
[root@localhost test]# tar -tzvf log11.tar.gz 
-rw-r--r-- root/root         0 2018-11-30 10:23 ./1.log
-rw-r--r-- root/root         0 2018-11-30 10:23 ./2.log
-rw-r--r-- root/root         0 2018-11-30 10:23 ./3.log
[root@localhost test]# tar -tzvf log12.tar.gz 
[root@localhost test]# 

說明:
將當前目錄下的更新時間比2018-11-30 00:00:00新的文件或目錄進行壓縮備份

6:備份文件夾內容時排除部分文件

命令:

tar --exclude ./log12.tar.gz  -zcvf test.tar.gz ./*

輸出:

[root@localhost test]# ls
1.log  2.log  3.log  log11.tar.gz  log12.tar.gz
[root@localhost test]# tar --exclude ./log12.tar.gz  -zcvf test.tar.gz ./*
./1.log
./2.log
./3.log
./log11.tar.gz
[root@localhost test]# tar -tzvf test.tar.gz 
-rw-r--r-- root/root         0 2018-11-30 10:23 ./1.log
-rw-r--r-- root/root         0 2018-11-30 10:23 ./2.log
-rw-r--r-- root/root         0 2018-11-30 10:23 ./3.log
-rw-r--r-- root/root       128 2018-11-30 10:56 ./log11.tar.gz

說明:

備份壓縮當前目錄下除log12.tar.gz文件以外的所有文件或目錄

?

轉載于:https://www.cnblogs.com/zhongbokun/p/10281041.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248633.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248633.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248633.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

一文帶你吃透BFC

文章目錄面試高出場率什么是BFC觸發BFC的條件BFC的約束規則BFC可以解決的問題面試高出場率 在前端的面試中&#xff0c;經常會遇到BFC的問題&#xff0c;比如&#xff1a;說說你對BFC的理解、你在項目中運用到的BFC、BFC是什么、BFC的作用是什么。。。。 很多同學很懵逼&…

基于Python語言使用RabbitMQ消息隊列(一)

介紹 RabbitMQ 是一個消息中間人&#xff08;broker&#xff09;: 它接收并且發送消息. 你可以把它想象成一個郵局: 當你把想要寄出的信放到郵筒里時, 你可以確定郵遞員會把信件送到收信人那里. 在這個比喻中, RabbitMQ 就是一個郵筒, 同時也是郵局和郵遞員 . 和郵局的主要不同…

爆贊程序猿開發軟件

VSCode 使用 IntelliSense 超越語法突出顯示和自動完成&#xff0c;它提供基于變量類型、函數定義和導入模塊的智能完成 直接從編輯器調試代碼。啟動或附加到您正在運行的應用程序并使用斷點、調用堆棧和交互式控制臺進行調試 與 Git 和其他 SCM 提供商合作從未如此簡單。查…

如果你在北京失業了,別怕,記得去領這筆錢!最少2034元/月!

人在江湖飄&#xff0c;哪能不挨刀 公司倒閉&#xff0c;老板走人&#xff0c;公司裁人 …… 就要被迫失業了 別怕! 如果你在北京失業了 記得去領這筆錢——失業保險金 每月最多有2143元 雖然錢不多&#xff0c;但能解燃眉之急 幫助你度過困難日子 重點全程網上就能…

真實詮釋程序員日常的二十四張圖【你中了幾個】

當你打開遺留代碼時 扒下來項目后改了一行代碼…… 程序員調試css樣式的時候 當你的try catch 不起作用 產品經理對你說要兼容IE 沒有ui給你提供大小設計的結果 沒吃透需求直接開發的你 程序員修復bug的真實處境 當你開始使用庫&#xff0c;但忘記閱讀文檔 產品經理告訴你這只是…

Git學習原版手稿

手稿誕生記 Git學習的時候難免會有遺忘然后往復學習查看的過程&#xff0c;所以就形成了這個學習的手稿&#xff0c;記錄了Git使用過程中的大部分命令&#xff0c;今天在清理的時候偶然看到了這些記錄&#xff0c;而且最近也在寫Git的使用教程&#xff0c;大致的學習線路也是按…

程序員首選編程電腦【火爆來襲】

作為一名程序員肯定會常用到一些編程軟件&#xff0c;所以需要設備的配置參數上不能太差&#xff0c;不僅是要以穩定強大輸出為基本&#xff0c;內存、音響、續航等方面也不可或缺。 直奔主題 如果你手里資金到位&#xff0c;那必須整一步到位——MacBook 對于這款大佬型筆記本…

201671010456-張瓊 實驗十四 團隊項目評審課程學習總結

博文簡要信息表 項目內容這個作業屬于哪個課程http://www.cnblogs.com/nwnu-daizh/這個作業的要求在哪里https://www.cnblogs.com/nwnu-daizh/p/11093584.html課程學習目標掌握軟件項目評審會流程&#xff0c;反思總結課程學習內容。任務一 驗收意見表GitHub倉庫地址https://gi…

強大的APIClound云修復——告別繁瑣的編譯打包流程

小編接到一項目的二期開發任務&#xff0c;拉下代碼開始熟悉大概的框架、技術、上線流程等前期工作&#xff0c;本app是通過vue技術進行開發&#xff0c;使用ui是 vant 庫&#xff0c;打包上線則是使用的 APIClound 平臺&#xff1b; 在我們的app上線后&#xff0c;如果我們改…

研究下貝塞爾曲線

今天研究了下貝塞爾曲線&#xff0c;感覺還是很有價值的。 這里貝塞爾曲線是幾個用法&#xff1a; 1.模擬曲線擬合。將折線找一個平滑的方案獲得曲線的效果。聯想可以獲知&#xff0c;可以作為工程設計的一種方式。 2.模擬拋物線和實際場景中的一些物理特性&#xff0c;即物理上…

你對ES6究竟了解多少?—— 有這一篇就夠用了

1. ES6相關概念&#xff08;★★&#xff09; 1.1 什么是ES6 ES 的全稱是 ECMAScript , 它是由 ECMA 國際標準化組織,制定的一項腳本語言的標準化規范。ES6 是ES2015以后的泛稱 1.2 為什么使用 ES6 ? 每一次標準的誕生都意味著語言的完善&#xff0c;功能的加強。JavaScrip…

科創板基礎知識

交易制度 1、上市前5個交易日不設將跌幅限制&#xff1b;其后漲跌幅限制為 20%&#xff1b; 2、單筆申報不小于 200股。 參考資料&#xff1a; 科創板圖文解讀 科創板投教長圖文系列&#xff08;四&#xff09;&#xff1a;詳解科創板股票交易的特別規定 上交所投教&#xff1a…

0_0 保留字

引自《 JavaScript 權威指南》2.4 / P28 ~ 29 保留字 部分 保留字 JavaScript 把一些標識符拿出來用作自己的關鍵字。因此&#xff0c;就不能再在程序中把這些關鍵字用作標識符了&#xff1a; 保留字 Part1.txt123456breakdelete functionreturntypeofcasedoifswitchvarc…

JavaScript 高級——詳談面向對象

1.面向過程與面向對象 1.1面向過程 面向過程就是分析出解決問題所需要的步驟&#xff0c;然后用函數把這些步驟一步一步實現&#xff0c;使用的時候再一個一個的依次調用就可以了。 1.2面向對象 面向對象是把事務分解成為一個個對象&#xff0c;然后由對象之間分工與合作。…

UVa202Repeating Decimals (循環小數)

解答&#xff1a; 因為除數是固定的&#xff0c;所以只要判斷被除數是否出現過即可。 #include<iostream> #include <cstdio> #include <cstring> using namespace std; int m,n,vis[5000],res[5000],temp[5000],num,t,x; int main() {while(scanf("%d%…

構造函數、原型、繼承原來這么簡單?來吧,深入淺出

構造函數 小編上篇博客中介紹到的通過關鍵字class方式定義類&#xff0c;然后根據類再創建對象的方式&#xff0c;是ES6中語法&#xff0c;現在很多瀏覽器對ES6的支持還不是很好&#xff0c;所以也要學習通過構造函數&#xff08;構建函數&#xff09;的方式創建對象 問&…

[網絡流24題] 航空路線問題 (費用流)

洛谷傳送門 LOJ傳送門 這道題的圖還挺好想的吧 反正都是無向邊&#xff0c;起點走到終點再回到起點&#xff0c;就相當于從起點走$2$次到達終點&#xff0c;且這兩次不經過相同的點&#xff0c;還要經過盡可能多的點 很經典的費用流建圖 限制點通過次數->拆點連邊&#xff0…

Go語言字符串和正則表達式

字符串相關方法 獲取字符串長度 注意: Go語言編碼方式是UTF-8,在UTF-8中一個漢字占3個字節package main import "fmt" func main() { str1 : "lnj" fmt.Println(len(str1)) // 3 str2 : "lnj" fmt.Println(len(str2)) // 12 } 如果字符串中包含中…

你疏漏的 JS 函數硬核知識?這里幫你總結了

重點 更多前端知識 誠邀各位前端從事者愛好者加入前端大佬技術交流社區&#xff0c;本社區主要分享技術棧、個人心得、技術交流、問題解惑等前端體系交流 點擊下方文字加入 前端大佬技術交流社區 1. 函數的定義和調用 1.1 函數的定義方式 方式1 函數聲明方式 function 關鍵…

7 月 1 日

7 月 1 日 今日內容 1.計算機基礎知識 2.python簡介 3.快速入門 昨日回顧 無內容詳細 1.計算機基礎知識 輸入輸出設備 CPU 硬盤 電源 中央處理器 處理各種數據 相當于人的大腦 內存 存儲數據 硬盤 存儲數據的 什么是操作系統 控制計算機工作的流程 軟件 什么是應用程序 安裝在操…