在Linux中,如何進行備份或歸檔檔案(tar 命令)?

黄嘉波發表於2024-06-12

在Linux中,tar 命令是用來打包和壓縮檔案的常用工具。它可以將多個檔案和目錄合併成一個單一的歸檔檔案,並且可以選擇性地對其進行壓縮。以下是使用 tar 命令進行備份或歸檔檔案的一些基本用法:

1. 建立歸檔檔案
  1. 基本命令格式

    tar [選項] [歸檔後的檔名] [要歸檔的檔案或目錄]
    
  2. 建立歸檔

    • 使用 -c 選項來建立一個新的歸檔檔案:

      tar -cvf archive_name.tar /path/to/directory_or_file
      

      這裡,-c 表示建立歸檔,-v 表示在歸檔過程中顯示詳細資訊,-f 指定歸檔檔案的名稱。

2. 壓縮歸檔檔案
  1. 使用 gzip 壓縮

    • 新增 -z 選項來使用 gzip 進行壓縮:

      tar -czvf archive_name.tar.gz /path/to/directory_or_file
      

      -z 表示用 gzip 壓縮。

  2. 使用 bzip2 壓縮

    • 新增 -j 選項來使用 bzip2 進行壓縮:

      tar -cjvf archive_name.tar.bz2 /path/to/directory_or_file
      
  3. 使用 xz 壓縮

    • 新增 -J-I 選項來使用 xz 進行壓縮:

      tar -cJvf archive_name.tar.xz /path/to/directory_or_file
      # 或者
      tar -cIvf archive_name.tar.xz /path/to/directory_or_file
      
3. 解壓歸檔檔案
  1. 解壓 gzip 壓縮的歸檔

    tar -xzvf archive_name.tar.gz
    
  2. 解壓 bzip2 壓縮的歸檔

    tar -xjvf archive_name.tar.bz2
    
  3. 解壓 xz 壓縮的歸檔

    tar -xJvf archive_name.tar.xz
    
  4. 解壓未壓縮的歸檔

    tar -xvf archive_name.tar
    

    這裡,-x 表示從歸檔中提取檔案。

4. 其他選項
  • -p--preserve-permissions:保留檔案的許可權。
  • -g--ignore-磁帶-errors:忽略磁帶錯誤。
  • -k--keep-old-files:不覆蓋已存在的檔案。
  • -u--update:只新增比歸檔中檔案更新的檔案。
  • -m--touch:不修改檔案的修改時間。
  • -C:解壓時指定解壓的目錄。
5. 示例
  • 建立一個包含當前目錄所有檔案和目錄的歸檔,並保留許可權:

    tar -cpvf backup.tar .
    
  • 壓縮當前目錄到一個名為 backup.tar.gz 的 gzip 壓縮歸檔,並保留檔案的修改時間:

    tar -czvf -m backup.tar.gz .
    
  • 解壓 backup.tar.gz 到當前目錄:

    tar -xzvf backup.tar.gz
    

綜上所述,使用 tar 命令時,可以結合管道和其它命令來實現更復雜的操作,例如使用 find 命令來選擇性地歸檔檔案,或者使用 xargs 來處理大量檔案。

相關文章