自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何在 Linux 中創(chuàng)建和管理歸檔文件

系統(tǒng) Linux
本教程會展示如何使用 tar 創(chuàng)建、列出和提取歸檔中的內(nèi)容。這三個(gè)操作都會使用兩個(gè)公共選項(xiàng) -f 和 -v:使用 -f 指定歸檔文件的名稱,使用 -v(“冗余”)選項(xiàng)使 tar 在處理文件時(shí)輸出文件名。雖然 -v 選項(xiàng)不是必需的,但是它可以讓你觀察 tar 操作的過程。

[[382112]]

簡而言之,歸檔是一個(gè)包含一系列文件和(或)目錄的單一文件。歸檔文件通常用于在本地或互聯(lián)網(wǎng)上傳輸,或作為一個(gè)一系列文件和目錄的備份副本,從而允許你使用一個(gè)文件來工作(如果壓縮,則其大小會小于所有文件的總和)。同樣的,歸檔也用于軟件應(yīng)用程序打包。為了方便傳輸,可以很容易地壓縮這個(gè)單一文件,而存檔中的文件會保留原始結(jié)構(gòu)和權(quán)限。

我們可以使用 tar 工具來創(chuàng)建、列出和提取歸檔中的文件。用 tar 生成的歸檔通常稱為“tar 文件”、“tar 歸檔”或者“壓縮包”(因?yàn)樗幸褮w檔的文件被合成了一個(gè)文件)。

本教程會展示如何使用 tar 創(chuàng)建、列出和提取歸檔中的內(nèi)容。這三個(gè)操作都會使用兩個(gè)公共選項(xiàng) -f 和 -v:使用 -f 指定歸檔文件的名稱,使用 -v(“冗余”)選項(xiàng)使 tar 在處理文件時(shí)輸出文件名。雖然 -v 選項(xiàng)不是必需的,但是它可以讓你觀察 tar 操作的過程。

在本教程的下面部分中,會涵蓋 3 個(gè)主題:1、創(chuàng)建一個(gè)歸檔文件;2、列出歸檔文件內(nèi)容;3、提取歸檔文件內(nèi)容。另外我們會回答歸檔文件管理的 6 個(gè)實(shí)際問題來結(jié)束本教程。你從本教程學(xué)到的內(nèi)容對于執(zhí)行與網(wǎng)絡(luò)安全云技術(shù)相關(guān)的任務(wù)至關(guān)重要。

1、創(chuàng)建一個(gè)歸檔文件

要使用 tar 創(chuàng)建一個(gè)歸檔文件,使用 -c(“創(chuàng)建”)選項(xiàng),然后用 -f 選項(xiàng)指定要?jiǎng)?chuàng)建的歸檔文件名。通常的做法是使用帶有 .tar 擴(kuò)展名的名稱,例如 my-backup.tar。注意,除非另有特別說明,否則本文其余部分中使用的所有命令和參數(shù)都以小寫形式使用。記住,在你的終端上輸入本文的命令時(shí),無需輸入每個(gè)命令行開頭的 $ 提示符。

輸入要?dú)w檔的文件名作為參數(shù);如果要?jiǎng)?chuàng)建一個(gè)包含所有文件及其子目錄的歸檔文件,提供目錄名稱作為參數(shù)。

要?dú)w檔 project 目錄內(nèi)容,輸入:

  1. $ tar -cvf project.tar project

這個(gè)命令將創(chuàng)建一個(gè)名為 project.tar 的歸檔文件,包含 project 目錄的所有內(nèi)容,而原目錄 project 將保持不變。

使用 -z 選項(xiàng)可以對歸檔文件進(jìn)行壓縮,這樣產(chǎn)生的輸出與創(chuàng)建未壓縮的存檔然后用 gzip 壓縮是一樣的,但它省去了額外的步驟。

要從 project 目錄創(chuàng)建一個(gè) project.tar.gz 的壓縮包,輸入:

  1. $ tar -zcvf project.tar.gz project

這個(gè)命令將創(chuàng)建一個(gè) project.tar.gz 的壓縮包,包含 project 目錄的所有內(nèi)容,而原目錄 project 將保持不變。

注意: 在使用 -z 選項(xiàng)時(shí),你應(yīng)該使用 .tar.gz 擴(kuò)展名而不是 .tar 擴(kuò)展名,這樣表示已壓縮。雖然不是必須的,但這是一個(gè)很好的實(shí)踐。

gzip 不是唯一的壓縮形式,還有 bzip2 和 xz。當(dāng)我們看到擴(kuò)展名為 .xz 的文件時(shí),我們知道該文件是使用 xz 壓縮的,擴(kuò)展名為 .bz2 的文件是用 bzip2 壓縮的。隨著 bzip2 不再維護(hù),我們將遠(yuǎn)離它而關(guān)注 xz。使用 xz 壓縮時(shí),需要花費(fèi)更長的時(shí)間。然而,等待通常是值得的,因?yàn)閴嚎s效果要好的多,這意味著壓縮包通常比使用其它壓縮形式要小。更好的是,不同壓縮形式之間的解壓縮或提取文件并沒有太大區(qū)別。下面我們將看到一個(gè)使用 tar 壓縮文件時(shí)如何使用 xz 的示例:

  1. $ tar -Jcvf project.tar.xz project

我們只需將 gzip 的 -z 選項(xiàng)轉(zhuǎn)換為 xz 的大寫 -J 即可。以下是一些輸出,顯示壓縮形式之間的差異:

 

 

如你所見,xz 的壓縮時(shí)間最長。但是,它在減小文件大小方面做的最好,所以值得等待。文件越大,壓縮效果也越好。

2、列出歸檔文件的內(nèi)容

要列出 tar 歸檔文件的內(nèi)容但不提取,使用 -t 選項(xiàng)。

要列出 project.tar 的內(nèi)容,輸入:

  1. $ tar -tvf project.tar

這個(gè)命令列出了 project.tar 歸檔的內(nèi)容。-v 和 -t 選項(xiàng)一起使用會輸出每個(gè)文件的權(quán)限和修改時(shí)間,以及文件名。這與 ls 命令使用 -l 選項(xiàng)時(shí)使用的格式相同。

要列出 project.tar.gz 壓縮包的內(nèi)容,輸入:

  1. $ tar -tzvf project.tar.gz

3、從歸檔中提取內(nèi)容

要提?。ń鈮海﹖ar 歸檔文件中的內(nèi)容,使用 -x(“提取”)選項(xiàng)。

要提取 project.tar 歸檔的內(nèi)容,輸入:

  1. $ tar -xvf project.tar

這個(gè)命令會將 project.tar 歸檔的內(nèi)容提取到當(dāng)前目錄。

如果一個(gè)歸檔文件被壓縮,通常來說它的擴(kuò)展名為 .tar.gz 或 .tgz,請包括 "-z" 選項(xiàng)。

要提取 project.tar.gz 壓縮包的內(nèi)容,輸入:

  1. $ tar -zxvf project.tar.gz

注意: 如果當(dāng)前目錄中有文件或子目錄與歸檔文件中的內(nèi)容同名,那么在提取歸檔文件時(shí),這些文件或子目錄將被覆蓋。如果你不知道歸檔中包含哪些文件,請考慮先查看歸檔文件的內(nèi)容。

在提取歸檔內(nèi)容之前列出其內(nèi)容的另一個(gè)原因是,確定歸檔中的內(nèi)容是否包含在目錄中。如果沒有,而當(dāng)前目錄中包含許多不相關(guān)的文件,那么你可能將它們與歸檔中提取的文件混淆。

要將文件提取到它們自己的目錄中,新建一個(gè)目錄,將歸檔文件移到該目錄,然后你就可以在新目錄中提取文件。

FAQ

現(xiàn)在我們已經(jīng)學(xué)習(xí)了如何創(chuàng)建歸檔文件并列出和提取其內(nèi)容,接下來我們可以繼續(xù)討論 Linux 專業(yè)人員經(jīng)常被問到的 9 個(gè)實(shí)用問題。

可以在不解壓縮的情況下添加內(nèi)容到壓縮包中嗎?

很不幸,一旦文件將被壓縮,就無法向其添加內(nèi)容。你需要解壓縮或提取其內(nèi)容,然后編輯或添加內(nèi)容,最后再次壓縮文件。如果文件很小,這個(gè)過程不會花費(fèi)很長時(shí)間,否則請等待一會。

可以在不解壓縮的情況下刪除歸檔文件中的內(nèi)容嗎?

這取決壓縮時(shí)使用的 tar 版本。較新版本的 tar 支持 -delete 選項(xiàng)。

例如,假設(shè)歸檔文件中有 file1 和 file2,可以使用以下命令將它們從 file.tar 中刪除:

  1. $ tar -vf file.tar delete file1 file2

刪除目錄 dir1

  1. $ tar -f file.tar delete dir1/*

壓縮和歸檔之間有什么區(qū)別?

查看歸檔和壓縮之間差異最簡單的方法是查看其解壓大小。歸檔文件時(shí),會將多個(gè)文件合并為一個(gè)。所以,如果我們歸檔 10 個(gè) 100kb 文件,則最終會得到一個(gè) 100kb 大小的文件。而如果壓縮這些文件,則最終可能得到一個(gè)只有幾 kb 或接近 100kb 的文件。

如何壓縮歸檔文件?

如上所說,你可以使用帶有 cvf 選項(xiàng)的 tar 命令來創(chuàng)建和歸檔文件。要壓縮歸檔文件,有兩個(gè)選擇:通過壓縮程序(例如 gzip)運(yùn)行歸檔文件,或在使用 tar 命令時(shí)使用壓縮選項(xiàng)。最常見的壓縮標(biāo)志 -z 表示 gzip,-j 表示 bzip,-J 表示 xz。例如:

  1. $ gzip file.tar

或者,我們可以在使用 tar 命令時(shí)使用壓縮標(biāo)志,以下命令使用 gzip 標(biāo)志 z

  1. $ tar -cvzf file.tar /some/directory

如何一次創(chuàng)建多個(gè)目錄和/或文件的歸檔?

一次要?dú)w檔多個(gè)文件,這種情況并不少見。一次歸檔多個(gè)文件和目錄并不像你想的那么難,你只需要提供多個(gè)文件或目錄作為 tar 的參數(shù)即可:

  1. $ tar -cvzf file.tar file1 file2 file3

或者

  1. $ tar -cvzf file.tar /some/directory1 /some/directory2

創(chuàng)建歸檔時(shí)如何跳過目錄和/或文件?

你可能會遇到這樣的情況:要?dú)w檔一個(gè)目錄或文件,但不是所有文件,這種情況下可以使用 --exclude 選項(xiàng):

  1. $ tar exclude ‘/some/directory -cvf file.tar /home/user

在示例中,/home/user 目錄中除了 /some/directory 之外都將被歸檔。將 --exclude 選項(xiàng)放在源和目標(biāo)之前,并用單引號將要排除的文件或目錄引起來,這一點(diǎn)很重要。

總結(jié)

tar 命令對展示不需要的文件創(chuàng)建備份或壓縮文件很有用。在更改文件之前備份它們是一個(gè)很好的做法。如果某些東西在更改后沒有按預(yù)期正常工作,你始終可以還原到舊文件。壓縮不再使用的文件有助于保持系統(tǒng)干凈,并降低磁盤空間使用率。還有其它實(shí)用程序可以歸檔或壓縮,但是 tar 因其多功能、易用性和受歡迎程度而獨(dú)占鰲頭。 

責(zé)任編輯:龐桂玉 來源: Linux中國
相關(guān)推薦

2019-05-29 08:00:00

Linux計(jì)劃任務(wù)cron

2019-09-16 11:40:49

Linux交換文件

2022-09-08 10:40:16

Linux Mint工作區(qū)程序

2021-10-28 19:08:29

Python虛擬環(huán)境

2021-07-10 11:20:44

FreeDOS歸檔文件

2018-06-01 10:37:26

Linux歸檔文件壓縮文件

2018-04-26 09:30:54

LinuxLVM交換分區(qū)

2020-10-09 11:15:14

LinuxLVM邏輯卷管理

2017-01-11 16:41:16

Linux設(shè)備文件文件系統(tǒng)

2019-09-16 13:48:03

Linux管理日志

2011-05-04 09:11:30

RPM包Linux

2019-05-14 11:00:07

LinuxSSH別名

2014-02-12 10:58:05

Linux文件夾文件權(quán)限

2013-11-11 16:12:06

Linux系統(tǒng)文件夾

2023-02-06 17:49:35

Linux符號鏈接

2018-01-26 09:02:30

LinuxPDF創(chuàng)建視頻

2022-08-29 08:00:00

容器Portainer工具

2023-04-17 16:17:19

LinuxPDF

2021-08-30 13:08:54

Linux實(shí)時(shí)監(jiān)控日志文件

2019-04-10 10:15:52

Linux邏輯卷文件系統(tǒng)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號