在 Linux 中如何歸檔檔案和目錄
在我們之前的教程中,我們討論瞭如何。在本教程中,我們將學習如何在 Linux 歸檔檔案。歸檔和壓縮有什麼不同嗎?你們中的一些人可能經常認為這些術語有相同的含義。但是,這兩者完全不同。歸檔是將多個檔案和目錄(相同或不同大小)組合成一個檔案的過程。另一方面,壓縮是減小檔案或目錄大小的過程。歸檔通常用作系統備份的一部分,或者將資料從一個系統移至另一個系統時。希望你瞭解歸檔和壓縮之間的區別。現在,讓我們進入主題。
歸檔檔案和目錄最常見的程式是:
tar
zip
這是一個很大的話題,所以,我將分兩部分發表這篇文章。在第一部分中,我們將看到如何使用 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"
預設情況下,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.odtostechnix/image.pngostechnix/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.tarostechnix/ ostechnix/file.odtostechnix/image.pngostechnix/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
建立 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:
作者: 選題: 譯者: 校對:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4550/viewspace-2801924/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Linux檔案和目錄管理Linux
- Linux檔案系統-目錄和檔案管理Linux
- 教你在Linux中如何歸檔和備份Linux
- 在Linux中,檔案和目錄的許可權有何作用以及如何修改?Linux
- Linux中如何檢視目錄下的檔案大小?Linux
- 在Linux中,如何進行備份或歸檔檔案(tar 命令)?Linux
- dg中備庫歸檔目錄滿了,導致不能接收主庫歸檔檔案
- Linux 檔案與目錄Linux
- Linux — 檔案、目錄管理Linux
- 總是歸檔錯誤-重置歸檔目錄
- 如何統計 Linux 中檔案和資料夾/目錄的數量Linux
- 在Linux中用chattr和lsattr命令管理檔案和目錄屬性Linux
- linux中許可權對檔案和目錄的作用Linux
- 在Linux中,日誌檔案通常儲存在哪些目錄?Linux
- Linux中檔案與目錄的區別Linux
- Linux中/proc目錄下檔案詳解Linux
- adb命令管理Linux 檔案和目錄Linux
- 筆記:Linux命令(目錄和檔案管理)筆記Linux
- linux rm 命令(刪除檔案和目錄)Linux
- Linux用inotify監聽檔案和目錄Linux
- linux學習(3)檔案和目錄管理Linux
- Linux的檔案屬性和目錄配置Linux
- Linux檔案及目錄管理Linux
- Linux檔案系統、目錄Linux
- 【Linux】檔案系統目錄Linux
- Linux 檔案與目錄管理Linux
- Linux下如何對目錄中的檔案進行統計Linux
- Linux中操作工作目錄和檔案目錄Linux
- 在linux下顯示中文目錄和檔名Linux
- 在Oracle中,如何定時刪除歸檔日誌檔案?Oracle
- 在JUnit中使用@Rule測試檔案和目錄
- Linux中使用rsync——檔案和目錄排除列表Linux
- Linux dd 在當前目錄建立檔案系統Linux
- 在Linux中,如何建立、刪除和修改檔案?Linux
- Oracle歸檔目錄 和 DB_RECOVERY_FILE_DESTOracle
- PHP遍歷目錄和檔案PHP
- linux檔案與目錄管理命令Linux
- Linux檔案與目錄管理(2)Linux