1. 程式人生 > >linux下的tar打包命令示例和詳解

linux下的tar打包命令示例和詳解

tar命令 
[[email protected] ~]# tar [-cxtzjvfpPN] 檔案與目錄 ….
引數:
-c :建立一個壓縮檔案的引數指令(create 的意思);
-x :解開一個壓縮檔案的引數指令!
-t :檢視 tarfile 裡面的檔案!

特別注意,在引數的下達中, c/x/t 僅能存在一個!不可同時存在!
因為不可能同時壓縮與解壓縮。
-z :是否同時具有 gzip 的屬性?亦即是否需要用 gzip 壓縮?
-j :是否同時具有 bzip2 的屬性?亦即是否需要用 bzip2 壓縮?
-v :壓縮的過程中顯示檔案!這個常用,但不建議用在背景執行過程!
-f :使用檔名,請留意,在 f 之後要立即接檔名喔!不要再加引數!
例如使用『 tar -zcvfP tfile sfile』就是錯誤的寫法,要寫成
『 tar -zcvPf tfile sfile』才對喔!
-p :使用原檔案的原來屬性(屬性不會依據使用者而變)
-P :可以使用絕對路徑來壓縮!
-N :比後面接的日期(yyyy/mm/dd)還要新的才會被打包進新建的檔案中!
–exclude FILE:在壓縮的過程中,不要將 FILE 打包!
tar示例:


示例一:將整個 /etc 目錄下的檔案全部打包成為 /tmp/etc.tar
[[email protected] ~]# tar -cvf /tmp/etc.tar /etc <==僅打包,不壓縮!
[[email protected] ~]# tar -zcvf /tmp/etc.tar.gz /etc <==打包後,以 gzip 壓縮
[[email protected] ~]# tar -jcvf /tmp/etc.tar.bz2 /etc <==打包後,以 bzip2 壓縮
# 特別注意,在引數 f 之後的檔案檔名是自己取的,我們習慣上都用 .tar 來作為辨識。
# 如果加 z 引數,則以 .tar.gz 或 .tgz 來代表 gzip 壓縮過的 tar file ~
# 如果加 j 引數,則以 .tar.bz2 來作為附檔名啊~
# 上述指令在執行的時候,會顯示一個警告訊息:
# 『tar: Removing leading `/’ from member names』那是關於絕對路徑的特殊設定。
tar示例二
:查閱上述 /tmp/etc.tar.gz 檔案內有哪些檔案?
[[email protected] ~]# tar -ztvf /tmp/etc.tar.gz
# 由於我們使用 gzip 壓縮,所以要查閱該 tar file 內的檔案時,
# 就得要加上 z 這個引數了!這很重要的!
tar示例三:將 /tmp/etc.tar.gz 檔案解壓縮在 /usr/local/src 底下
[[email protected] ~]# cd /usr/local/src
[[email protected] src]# tar -zxvf /tmp/etc.tar.gz
# 在預設的情況下,我們可以將壓縮檔在任何地方解開的!以這個範例來說,
# 我先將工作目錄變換到 /usr/local/src 底下,並且解開 /tmp/etc.tar.gz ,
# 則解開的目錄會在 /usr/local/src/etc 呢!另外,如果您進入 /usr/local/src/etc
# 則會發現,該目錄下的檔案屬性與 /etc/ 可能會有所不同喔!
tar示例四
:在 /tmp 底下,我只想要將 /tmp/etc.tar.gz 內的 etc/passwd 解開而已
[[email protected] ~]# cd /tmp
[[email protected] tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
# 我可以透過 tar -ztvf 來查閱 tarfile 內的檔名稱,如果單隻要一個檔案,
# 就可以透過這個方式來下達!注意到! etc.tar.gz 內的根目錄 / 是被拿掉了!
tar示例五:將 /etc/ 內的所有檔案備份下來,並且儲存其許可權!
[[email protected] ~]# tar -zxvpf /tmp/etc.tar.gz /etc
# 這個 -p 的屬性是很重要的,尤其是當您要保留原本檔案的屬性時!

tar示例六:在 /home 當中,比 2005/06/01 新的檔案才備份
[[email protected] ~]# tar -N ‘2005/06/01′ -zcvf home.tar.gz /home
tar示例七:我要備份 /home, /etc ,但不要 /home/dmtsai
[[email protected] ~]# tar –exclude /home/dmtsai -zcvf myfile.tar.gz /home/* /etc
tar示例八:將 /etc/ 打包後直接解開在 /tmp 底下,而不產生檔案!
[[email protected] ~]# cd /tmp
[[email protected] tmp]# tar -cvf – /etc | tar -xvf -
# 這個動作有點像是 cp -r /etc /tmp 啦~依舊是有其有用途的!
# 要注意的地方在於輸出檔變成 – 而輸入檔也變成 – ,又有一個 | 存在~
# 這分別代表 standard output, standard input 與管線命令啦!
# 這部分我們會在 Bash shell 時,再次提到這個指令跟大家再解釋囉!


相關推薦

linuxtar打包命令示例

tar命令  [[email protected] ~]# tar [-cxtzjvfpPN] 檔案與目錄 …. 引數: -c :建立一個壓縮檔案的引數指令(create 的意思); -x :解開一個壓縮檔案的引數指令! -t :檢視 tarfile 裡面的

Linux打包與壓縮tar命令

tar.gz 安裝 gin font log 針對 更新 mil emp 本文介紹了linux下的打包壓縮程序tar、gzip、gunzip、bzip2、bunzip2、 compress、uncompress、zip、unzip、rar、unrar程序,以及如何使用它們對

linuxtar打包到windows壓縮後中文檔名亂碼 用zip 或者 rar

主要原因是WINDOWS與LINUX對檔案系統字符集的處理方式是不相同的。zip和rar會記錄字符集,自動轉換,而tar不是跨平臺解壓縮的。比如 “中國.txt”,utf-8下編碼是e4b8ade59bbd,tar裡面記錄的是e4b8ade59bbd.tar,然後gbk下中

Linux同步工具inotify+rsync使用

server linux 通道 主機 Linux下同步工具inotify+rsync使用詳解 Posted on 2014-12-12 | In Linux | 9 | Visitors 4381. rsync1.1 什麽是rsyncrsync是一個遠程數據同步工具,可通過LAN/WAN

Linux性能監控命令之lsof

轉換 device symbol 能夠 基礎 打開 init 可執行文件 ive 1. lsof 命令介紹 lsof(list open files)是一個列出當前系統打開文件的工具。在linux環境下,任何事物都以文件的形式存在,通過文件不僅僅可以訪問常規數據,還可以訪問

Linux PS1 PS2 PS3 PS4 提示符

linux提示符很多人在用Linux時,對提示符都不太註重,能夠利用好提示符可更直觀地查看,利於自己的判斷Linux下有PS1 PS2 PS3 PS4 四類提示符,這四個變量都是環境變量,至於系統裏有哪些環境變量,可使用命令 “env”來查看PS1命令提示符PS1有那些配置,或者說PS1裏頭都能配置些命令提示

Linux/etc/sysconfig目錄下文件

sysconfig今天給服務器添加防火墻規則時,不小心刪除了一條規則,然後我的遠程連接就斷了,我老大忽然問我iptables配置文件路徑在什麽地方,當時就懵逼了,我還真不知道因為平時全部都是命令添加防火墻,結果被老大給說了基礎不紮實。想想也真是,Linux學習一年多了,當初那麽拼命的學習就是為了打好基礎,本想

linuxrsync文件同步配置

寫入文件 sts ddr ORC 文件的 數據鏡像 根據 數據 watermark 介紹 rsync(remote sync)是unix及類unix平臺下的數據鏡像備份軟件,它不像FTP那樣需要全備份,rsync可以根據數據的變化進行差異備份,從而減少數據流量,提高工作效率

Linuxoracle12c數據庫安裝

shadow follow glibc 格式化磁盤 www ech etc 12c 接收 簡介: oracle12c概述 oracle12c數據庫屬於關系型數據庫,采用C/S模式、支持SQL語言,穩定性、高性能、安全性優於其他官方網站: https://www.oracle

Linux多資料夾編寫Makefile

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

Linuxtar.xz結尾的檔案的壓方法

今天嘗試編譯核心,下載到了一份tar.xz結尾的壓縮檔案,網上解決方法比較少,不過還是找到了,如下: $xz -d ***.tar.xz $tar -xvf  ***.tar       可以看到這個壓縮包也是打包後再壓縮,外面是xz壓縮方式,裡層是tar打包方式。

CentOS LinuxVNC Server遠端桌面配置

一、安裝相應桌面環境與vnc服務端和客戶端: # yum groupinstall "GNOME Desktop Environment"(CentOS 5.x安裝GNOME桌面環境) # yum groupinstall "X Window System" "Desktop"(CentOS 6.

CentOS \Linux 6版本系統命令及其使用

概述 常用的linux命令,分為檔案管理、磁碟管理、使用者管理、軟體管理、系統管理等。 檔案管理 ls命令 使用許可權:所有使用者 使用方式:ls [-a

linux的藍芽驅動程式

1、首先要做Bluez協議棧的移植,這樣在開發板上才可以用hciconfig, hcitool等命令。關於bluez協議棧的移植步驟網上很多。 2、該驅動是USB藍芽裝置驅動,分析根據藍芽驅動的寫的順序進行。因為只是要做資料的傳輸,所以講用於語音的等時傳輸部分去掉了。 首先

linuxmysql配置檔案my.cnf

用來容納InnoDB為資料表的表空間: 可能涉及一個以上的檔案; 每一個表空間檔案的最大長度都必須以位元組(B)、兆位元組(MB)或千兆位元組(GB)為單位給出; 表空間檔案的名字必須以分號隔開; 最後一個表空間檔案還可以帶一個autoextend屬性和一個最大長度(max:n)。例如,ibdata1:1G;

Linux中文檔名亂碼問題的

最近做的專案中,涉及Linux下生成中文檔名並壓縮打包下載亂碼問題,需要將生成的壓縮包檔案自定義重新命名(包括中文),問題來了,Linux下不支援中文的,所以會導致中文亂碼問題,網上找了幾天,都沒解決,現在終於給碼出來了,希望大家指出缺點。 首先,讓linux

Linux 使用clock_gettime給程式計時

1 #include <iostream>2 #include <time.h>3 usingnamespace std;4 5 timespec diff(timespec start, timespec end);6 7 int main()8 {9 timespec time

Linux的samba伺服器配置檔案 smb.conf

workgroup = MYGROUP //此項表示在Windows作業系統中的“網路上的芳鄰”將會出現的SAMBA伺服器所屬群組,預設MYGROUP,不區分大小寫。    server string = Samba Server //此

Linux使用者組、檔案許可權

使用者組 在linux中的每個使用者必須屬於一個組,不能獨立於組外。在linux中每個檔案有所有者、所在組、其它組的概念 - 所有者 - 所在組 - 其它組 - 改變使用者所在的組 所有者 一般為檔案的建立者,誰建立了該檔案,就天然的成為該檔案的所有者

LINUXOracle資料庫使用者建立方法

本文例項分析了LINUX下Oracle資料庫使用者建立方法。分享給大家供大家參考,具體如下: 1)登入linux,以oracle使用者登入(如果是root使用者登入的,登入後用 su - oracle命令切換成oracle使用者) 2)首先要開啟監聽器命令如下:lsn