在 Linux 中如何歸檔檔案和目錄
在我們之前的教程中,我們討論瞭如何使用 gzip 和 bzip2 壓縮和解壓縮檔案。在本教程中,我們將學習如何在 Linux 歸檔檔案。歸檔和壓縮有什麼不同嗎?你們中的一些人可能經常認為這些術語有相同的含義。但是,這兩者完全不同。歸檔是將多個檔案和目錄(相同或不同大小)組合成一個檔案的過程。另一方面,壓縮是減小檔案或目錄大小的過程。歸檔通常用作系統備份的一部分,或者將資料從一個系統移至另一個系統時。希望你瞭解歸檔和壓縮之間的區別。現在,讓我們進入主題。
歸檔檔案和目錄
歸檔檔案和目錄最常見的程式是:
- tar
- zip
這是一個很大的話題,所以,我將分兩部分發表這篇文章。在第一部分中,我們將看到如何使用 tar 命令來歸檔檔案和目錄。
使用 tar 命令歸檔檔案和目錄
Tar 是一個 Unix 命令,代表 Tape Archive(磁帶歸檔)。它用於將多個檔案(相同或不同大小)組合或儲存到一個檔案中。在 tar 實用程式中有 4 種主要的操作模式。
c
– 從檔案或目錄中建立歸檔x
– 提取歸檔r
– 將檔案追加到歸檔t
– 列出歸檔的內容
有關完整的模式列表,參閱 man 手冊頁。
建立一個新的歸檔
為了本指南,我將使用名為 ostechnix
的資料夾,其中包含三種不同型別的檔案。
$ ls ostechnix/
file.odt image.png song.mp3
現在,讓我們為 ostechnix
目錄建立一個新的 tar 歸檔。
$ tar cf ostechnix.tar ostechnix/
這裡,c
標誌指的是建立新的歸檔,f
是指定歸檔檔案。
同樣,對當前工作目錄中的一組檔案建立歸檔檔案,使用以下命令:
$ tar cf archive.tar file1 file2 file 3
提取歸檔
要在當前目錄中提取歸檔檔案,只需執行以下操作:
$ tar xf ostechnix.tar
我們還可以使用 C
標誌(大寫字母 C)將歸檔提取到不同的目錄中。例如,以下命令將歸檔檔案提取到 Downloads
目錄中。
$ tar xf ostechnix.tar -C Downloads/
或者,轉到 Downloads
資料夾並像下面一樣提取其中的歸檔。
$ cd Downloads/
$ tar xf ../ostechnix.tar
有時,你可能想要提取特定型別的檔案。例如,以下命令提取 “.png” 型別的檔案。
$ tar xf ostechnix.tar --wildcards "*.png"
建立 gzip 和 bzip 格式的壓縮歸檔
預設情況下,tar 建立歸檔檔案以 .tar
結尾。另外,tar
命令可以與壓縮實用程式 gzip
和 bzip
結合使用。檔案結尾以 .tar
為副檔名使用普通 tar 來歸檔檔案,檔案以 tar.gz
或 .tgz
結尾使用 gzip
歸檔並壓縮檔案,檔案以 tar.bz2
或 .tbz
結尾使用 bzip
歸檔並壓縮。
首先,讓我們來建立一個 gzip 歸檔:
$ tar czf ostechnix.tar.gz ostechnix/
或者:
$ tar czf ostechnix.tgz ostechnix/
這裡,我們使用 z
標誌來使用 gzip 壓縮方法壓縮歸檔檔案。
你可以使用 v
標誌在建立歸檔時檢視進度。
$ tar czvf ostechnix.tar.gz ostechnix/
ostechnix/
ostechnix/file.odt
ostechnix/image.png
ostechnix/song.mp3
這裡,v
指顯示進度。
從一個檔案列表建立 gzip 歸檔檔案:
$ tar czf archive.tgz file1 file2 file3
要提取當前目錄中的 gzip 歸檔檔案,使用:
$ tar xzf ostechnix.tgz
要提取到其他資料夾,使用 -C
標誌:
$ tar xzf ostechnix.tgz -C Downloads/
現在,讓我們建立 bzip 歸檔。為此,請使用下面的 j
標誌。
建立一個目錄的歸檔:
$ tar cjf ostechnix.tar.bz2 ostechnix/
或
$ tar cjf ostechnix.tbz ostechnix/
從一個列表檔案中建立歸檔:
$ tar cjf archive.tar.bz2 file1 file2 file3
或
$ tar cjf archive.tbz file1 file2 file3
為了顯示進度,使用 v
標誌。
現在,在當前目錄下,讓我們提取一個 bzip 歸檔。這樣做:
$ tar xjf ostechnix.tar.bz2
或者,提取歸檔檔案到其他目錄:
$ tar xjf ostechnix.tar.bz2 -C Downloads
一次建立多個目錄和/或檔案的歸檔
這是 tar
命令的另一個最酷的功能。要一次建立多個目錄或檔案的 gzip 歸檔檔案,使用以下檔案:
$ tar czvf ostechnix.tgz Downloads/ Documents/ ostechnix/file.odt
上述命令建立 Downloads
、 Documents
目錄和 ostechnix
目錄下的 file.odt
檔案的歸檔,並將歸檔儲存在當前工作目錄中。
在建立歸檔時跳過目錄和/或檔案
這在備份資料時非常有用。你可以在備份中排除不重要的檔案或目錄,這是 –exclude
選項所能幫助的。例如你想要建立 /home
目錄的歸檔,但不希望包括 Downloads
、 Documents
、 Pictures
、 Music
這些目錄。
這是我們的做法:
$ tar czvf ostechnix.tgz /home/sk --exclude=/home/sk/Downloads --exclude=/home/sk/Documents --exclude=/home/sk/Pictures --exclude=/home/sk/Music
上述命令將對我的 $HOME
目錄建立一個 gzip 歸檔,其中不包括 Downloads
、Documents
、Pictures
和 Music
目錄。要建立 bzip 歸檔,將 z
替換為 j
,並在上例中使用副檔名 .bz2
。
列出歸檔檔案但不提取它們
要列出歸檔檔案的內容,我們使用 t
標誌。
$ tar tf ostechnix.tar
ostechnix/
ostechnix/file.odt
ostechnix/image.png
ostechnix/song.mp3
要檢視詳細輸出,使用 v
標誌。
$ tar tvf ostechnix.tar
drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3
追加檔案到歸檔
檔案或目錄可以使用 r
標誌新增/更新到現有的歸檔。看看下面的命令:
$ tar rf ostechnix.tar ostechnix/ sk/ example.txt
上面的命令會將名為 sk
的目錄和名為 exmple.txt
新增到 ostechnix.tar
歸檔檔案中。
你可以使用以下命令驗證檔案是否已新增:
$ tar tvf ostechnix.tar
drwxr-xr-x sk/users 0 2018-03-26 19:52 ostechnix/
-rw-r--r-- sk/users 9942 2018-03-24 13:49 ostechnix/file.odt
-rw-r--r-- sk/users 36013 2015-09-30 11:52 ostechnix/image.png
-rw-r--r-- sk/users 112383 2018-02-22 14:35 ostechnix/song.mp3
drwxr-xr-x sk/users 0 2018-03-26 19:52 sk/
-rw-r--r-- sk/users 0 2018-03-26 19:39 sk/linux.txt
-rw-r--r-- sk/users 0 2018-03-26 19:56 example.txt
TL;DR
建立 tar 歸檔:
- 普通 tar 歸檔:
tar -cf archive.tar file1 file2 file3
- Gzip tar 歸檔:
tar -czf archive.tgz file1 file2 file3
- Bzip tar 歸檔:
tar -cjf archive.tbz file1 file2 file3
提取 tar 歸檔:
- 普通 tar 歸檔:
tar -xf archive.tar
- Gzip tar 歸檔:
tar -xzf archive.tgz
- Bzip tar 歸檔:
tar -xjf archive.tbz
我們只介紹了 tar
命令的基本用法,這些對於開始使用 tar
命令足夠了。但是,如果你想了解更多詳細資訊,參閱 man 手冊頁。
$ man tar
好吧,這就是全部了。在下一部分中,我們將看到如何使用 Zip 實用程式來歸檔檔案和目錄。
乾杯!
via: https://www.ostechnix.com/how-to-archive-files-and-directories-in-linux-part-1/
作者:SK 選題:lujun9972 譯者:MjSeven 校對:wxy
本文由 LCTT 原創編譯,Linux中國 榮譽推出
相關文章
- Linux檔案和目錄管理Linux
- 教你在Linux中如何歸檔和備份Linux
- Linux 檔案與目錄Linux
- adb命令管理Linux 檔案和目錄Linux
- 在Linux中,如何進行備份或歸檔檔案(tar 命令)?Linux
- Linux中如何檢視目錄下的檔案大小?Linux
- 在Linux中,檔案和目錄的許可權有何作用以及如何修改?Linux
- Linux的檔案屬性和目錄配置Linux
- 筆記:Linux命令(目錄和檔案管理)筆記Linux
- Linux用inotify監聽檔案和目錄Linux
- 如何統計 Linux 中檔案和資料夾/目錄的數量Linux
- Linux檔案及目錄管理Linux
- Linux檔案系統、目錄Linux
- Linux中檔案與目錄的區別Linux
- 在Linux中,日誌檔案通常儲存在哪些目錄?Linux
- 在linux下顯示中文目錄和檔名Linux
- Linux中操作工作目錄和檔案目錄Linux
- Linux下如何對目錄中的檔案進行統計Linux
- Linux檔案與目錄管理(2)Linux
- linux檔案與目錄管理命令Linux
- 在Linux中,如何建立、刪除和修改檔案?Linux
- 在 Linux 中如何移動檔案Linux
- Linux檔案和目錄的粘滯位(sticky bit)Linux
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- Linux 基礎-檔案及目錄管理Linux
- Linux常見命令-目錄檔案命令Linux
- linux 刪除檔案或目錄——rmLinux
- linux目錄及檔案命令學習Linux
- Linux rm(刪除檔案/目錄) 命令Linux
- Linux檔案系統目錄結構Linux
- 如何使用 Find 和 Locate 在 Linux 中搜尋檔案Linux
- 快速上手Linux核心命令(三):檔案和目錄操作命令Linux
- 獲取Linux系統中目錄檔案大小的方法Linux
- Linux排查磁碟大檔案或大目錄Linux
- Linux系統的目錄及重要檔案Linux
- Linux rm命令:刪除檔案或目錄Linux
- oracle 11g開啟歸檔模式及修改歸檔目錄Oracle模式
- 約束前端專案中的目錄和檔名前端