檔案的壓縮與打包

  1. tar 命令選項
    [root@linux ~]# tar [-cxtzjvfpPN] 檔案與目錄 ....
    參數:
    -c  :建立一個打包檔案(create);
    -x  :解開一個打包檔案; 
    -t  :查看 tarfile 內的檔案;(c/x/t 不可同時存在!)
    -z  :同時用 gzip 壓縮;
    -j  :同時用 bzip2 壓縮;
    -J  :同時用 xz 壓縮;
    -v  :壓縮的過程中顯示檔案;
    -f  :使用檔名,在 f 之後要立即接檔名!
    -p  :保留檔案的原來屬性(屬性不會依據使用者而變) 
    -P  :保留絕對路徑;
    -N  :比後面接的日期(yyyy/mm/dd)還要新的才會被打包; 
    --exclude FILE:排除 FILE 。
    
  2. 將檔案 txt 打包為 txt.tar
    [root@dywOffice tmp]# tar -cvf txt.tar txt
    
  3. 將整個 /etc 目錄下的檔案全部打包成為 /tmp/etc.tar
    [root@dywOffice tmp]# tar -cvf /tmp/etc.tar /etc %*<== 僅打包,不壓縮*)
    [root@dywOffice tmp]# tar -zcvf /tmp/etc.tar.gz /etc %*<== 打包後,以 gzip 壓縮*)
    [root@dywOffice tmp]# tar -jcvf /tmp/etc.tar.bz2 /etc %*<== 打包後,以 bzip2 壓縮*)
    [root@dywOffice tmp]# tar -Jcvf /tmp/etc.tar.xz /etc %*<== 打包後,以 xz 壓縮*)
    
  4. 查閱 /tmp/etc.tar.gz 檔案內有那些檔案?
    [root@dywOffice tmp]# tar -ztvf /tmp/etc.tar.gz
    
  5. 將 /tmp/etc.tar.gz 檔案解壓縮
    [root@dywOffice tmp]# tar -zxvf /tmp/etc.tar.gz
    
  6. 只將 /tmp/etc.tar.gz 內的 etc/passwd 解開
    [root@dywOffice tmp]# tar -zxvf /tmp/etc.tar.gz etc/passwd
    
  7. 將 /home/csie/testdir 內的所有檔案備份(打包壓縮),並保存其絕對路徑
    [root@dywOffice tmp]# tar -zcvPf testdir.tar.gz /home/csie/testdir
    
  8. 將 /etc/ 內的所有檔案備份,並保存其權限
    [root@dywOffice tmp]# tar -zcvpf /tmp/etc.tar.gz /etc
    
  9. 在 /home 當中,比 2007/11/30 新的檔案才備份
    [root@dywOffice tmp]# tar -N '2007/11/30' -zcvf home.tar.gz /home
    
  10. 備份 /home ,但不要 /home/csie/tmp
    [root@dywOffice tmp]# tar -zcvf home.tar.gz /home  --exclude /home/csie/tmp