Was bedeutet Linux-Archiv?

藏色散人
藏色散人Original
2023-03-02 10:37:302149Durchsuche

Linux-Archivierung ist ein Prozess, bei dem zahlreiche Dateien zusammengefasst und zu einer großen Datei zusammengefasst werden. Sie wird normalerweise als Teil einer Systemsicherung verwendet und kommt auch häufig in Situationen zum Einsatz, in denen alte Daten von einem System in einen Langzeitspeicher verschoben werden Gerät. ;Der Befehl tar kann Archive für Linux-Dateien und -Verzeichnisse erstellen.

Was bedeutet Linux-Archiv?

Die Betriebsumgebung dieses Tutorials: Linux5.9.8-System, Dell G3-Computer.

Was bedeutet Linux-Archiv?

Archivierung ist eine häufige Dateiverwaltungsaufgabe, die in Verbindung mit Komprimierungsvorgängen verwendet wird. Bei der Archivierung werden viele Dateien aggregiert und zu einer großen Datei zusammengefasst, normalerweise als Teil einer Systemsicherung. Sie wird häufig in Situationen eingesetzt, in denen alte Daten von einem System auf ein Langzeitspeichergerät verschoben werden.

Der Befehl tar kann Archive für Linux-Dateien und -Verzeichnisse erstellen. Mit tar können Sie ein Archiv (Sicherungsdatei) für eine bestimmte Datei erstellen, Dateien im Archiv ändern oder neue Dateien zum Archiv hinzufügen. tar wurde ursprünglich zum Erstellen von Archiven auf Bändern verwendet, aber jetzt können Benutzer Archive auf jedem Gerät erstellen. Mit dem Befehl tar können Sie eine große Anzahl von Dateien und Verzeichnissen in eine Datei packen, was sehr nützlich ist, um Dateien zu sichern oder mehrere Dateien für die Netzwerkübertragung in einer Datei zusammenzufassen.

Linux-tar-Befehl

Der tar-Befehl ist ein allgemeiner Linux-Packager zum Packen mehrerer Dateien in ein Dateipaket. Praktisch für die Übertragung und kann auch zur Dateisicherung verwendet werden. Wir können tar auch zum Dekomprimieren von Archivdateien verwenden.

Komprimierungsformat des Befehls tar

Das vom Befehl tar unterstützte Komprimierungsformat Wenn wir den Befehl tar verwenden, komprimieren wir im Allgemeinen gleichzeitig die Datei, um den Speicherplatzverbrauch zu reduzieren. Normalerweise verwenden wir die folgende Namenskonvention, um zu vereinbaren, welche Komprimierungsmethode wir verwenden.

.tar-Standardmodus, keine Komprimierung, einfach alle Dateien in einem Paket zusammenfassen.

.tar.gz Common Mode, komprimiert mit dem GZIP-Algorithmus. Die Komprimierungsrate ist durchschnittlich und die Komprimierungsdauer mittel.

.tar.bz2 wird nicht häufig verwendet. Komprimiert mit dem bz2-Algorithmus. Das Komprimierungsverhältnis ist etwas schlechter und die Komprimierungszeit ist kürzer.

.tar.xz wird nicht häufig verwendet und mit dem xz-Algorithmus komprimiert. Die Komprimierungsrate ist besser und die Komprimierungszeit ist länger.

tar-Übersicht

tar-Syntax-Einführung

tar unterstützt im Allgemeinen die folgenden zwei Syntaxformate, das zweite ist die alte Methode.

tar OPTION... [NAME]...
tar LETTER... [ARGUMENT]... [OPTION]... [NAME]...

Die Hauptparameter von tar, wir nennen es [Operationstyp]: zum Beispiel c erstellt, x dekomprimiert. Wir rufen andere Parameter [zusätzliche Optionen] auf, mit denen wir den Fortschritt unserer Vorgänge ändern, z. B. Dateinamen und zu archivierende Zieldateien.

Hauptparameter [Operationstyp] müssen vorne platziert werden.

[NAME] gibt in beiden Syntaxformaten den Namen der Datei an, die wir archivieren möchten. [NAME] kann eine Datei oder ein Verzeichnis oder mehrere Dateien oder Verzeichnisse sein. [NAME] muss eindeutig angegeben werden und bereits im Dateisystem vorhanden sein, bevor wir den tar-Befehl ausführen.

Weitere Informationen zu tar

tar „interpretiert Dateinamen mit relativen Pfaden als relative Verzeichnisse. Wenn wir einen absoluten Pfad angeben, entfernt tar das erste / zum Packen. Der Zweck besteht darin, eine Dekomprimierung zu verhindern. Ersetzen Sie das Systemverzeichnis . Sofern wir nicht absichtlich die Option [--absolute-names] angeben, gibt tar alle Unterverzeichnisse und Dateien im Verzeichnis für die Archivierung an

Es ist sehr wichtig, den Dateinamen und die zu archivierenden Mitglieder zu unterscheiden. Der Grund dafür ist, dass die Shell nur Platzhalter für vorhandene Dateien verwendet und tar selbst auch Platzhalter verwendet Verwenden Sie Platzhalter, daher müssen wir sicherstellen, dass Platzhalter nur für tar und nicht für Shell funktionieren. Normalerweise können wir Backslashes in „*“ oder „?“ verwenden, sodass das alte in Ordnung ist. Normalerweise werden wir alle setzen die Dateien der Abteilung in der Befehlszeile. Tatsächlich können wir den Namen der archivierten Datei auch angeben, indem wir die Datei '--files-from=FILE-OF-NAMES' ('-T FILE-OF. -NAMES') lesen Wenn wir den Namen der archivierten Datei nicht angeben, bewirken die Befehle „Anhängen“, „Löschen“ und „Erstellen“ keine Diagnosemeldung und verhindern, dass sich andere Vorgangsoptionen auf das gesamte Archiv auswirken Wenn der tar-Befehl nicht normal geschrieben wird, kann es aus vielen Gründen zu einem Fehler kommen Seien Sie absichtlich, aber es ist immer noch gefährlich, dann wird tar sofort beendet

Allerdings werden bei allen abnormalen Exits, ob sofort oder verzögert, Fehler ausgegeben und Diagnoseinformationen angezeigt

Möglicherweise sind die Exit-Codes des tar-Programms: 0 ( normaler Exit), 1 (eine Datei hat sich geändert), 2 (schwerwiegender Fehler, nicht behebbarer Fehler)

Tar-Optionsstil

Drei Optionsstile

Der Standard-Tar-Befehl unterstützt insgesamt 8 Betriebsmodi, damit wir eine Vielzahl von Aufgaben erledigen können. Wir können jedes Mal, wenn wir den Befehl tar verwenden, nur einen Betriebsmodus auswählen. Abhängig von der tatsächlichen Situation möchten wir möglicherweise den Tar-Betriebsmodus angeben. Beispielsweise können wir das Ausgabeformat von Ausgaben ändern. Oder wenn wir ein Dateiformat wünschen, das eine spezifische Angabe der Reihenfolge der Vorgänge erfordert.

Die tar-Option ist eine Option, die angehängt wird, nachdem wir den tar-Betriebsmodus angegeben haben. Abhängig vom Betriebsmodus von tar können wir eine oder mehrere Optionen angeben. Verschiedene Optionen haben unterschiedliche Funktionen. Normalerweise ändern die Optionen den spezifischen Inhalt des Betriebsmodus. Ändern Sie beispielsweise das Archivformat, den Namen der Archivdatei oder die Benutzerinteraktionsebene.

Einige Optionen gelten für alle Betriebsarten, andere nur für bestimmte Betriebsarten. Es gibt einige feste Optionen, die wir häufig verwenden. Andere werden möglicherweise selten oder gar nicht verwendet.

Bei Optionen wird die Groß-/Kleinschreibung beachtet. Beispielsweise sind -T und -t unterschiedlich. T erfordert einen Parameternamen, um den Dateinamen oder die Dateiliste anzugeben. t erfordert keine Parameter und ist eine andere Schreibweise für --list.

tar-Optionen unterstützen normalerweise drei verschiedene Stile: langen Namensstil (--), kurzen Namensstil (-) und alten Namensstil (ohne -). Beide Stile können für Betriebsarten oder Optionen verwendet werden. Die verschiedenen Stile der drei wurden zu unterschiedlichen Zeiten entwickelt.

Einige Optionen erfordern einen Parameter. Wo der Parameter platziert wird, hängt normalerweise davon ab, welchen Stil wir verwenden. Diese Unterschiede mögen subtil sein, aber sie sind wichtig. An der falschen Stelle platzierte Optionen können dazu führen, dass einige wichtige Dateien überschrieben werden. Wir müssen diese Unterschiede beachten. Und verwenden Sie nur die Optionen, die wir verstehen, bis wir auch die anderen Optionen verstehen. Optionen, die Argumente annehmen, können eine längste oder kurze Form ohne Gegenstück im alten Stil haben. Die Regeln für die Verwendung dieser Optionen, die bestimmte Parameter erfordern, sind sehr streng.

Zum Beispiel muss die Option --file einen Archivdateinamen als Parameter erhalten. Wenn wir keinen Archivdateinamen angeben, verwendet tar einen verwirrenden Standardnamen. Es wird empfohlen, einen bestimmten Archivdateinamen anzugeben.

Optionsstil mit langem Namen

tar Alle Parameteroptionen haben mindestens einen Parameter mit langem Namen. Parameteroptionen mit langen Namen werden deutlicher angezeigt als Parametertypen mit kurzen Namen und alten Parameternamen. Manchmal haben Langnamenoptionen unterschiedliche Namen, haben aber die gleiche Wirkung. Beispielsweise haben --compare und --dif die gleiche Bedeutung. Darüber hinaus können lange Benennungsmethoden auch eindeutige Abkürzungen verwenden. Beispielsweise kann --create durch --cre ersetzt werden. Weil es keine anderen Optionen gibt, die mit --cre beginnen.

tar Lange Namensoptionen sind offensichtlicher und leichter zu merken, und ihre Namen sind leicht zu erkennen. Beispielsweise verwenden tar --create --verbose --blocking-factor=20 --file=/dev/rmt0 alle Parameter mit langen Namen, und die Bedeutung jedes Parameters ist klar erkennbar.

Wenn eine Option mit langem Namen Parameter erhalten muss, muss sie direkt nach der Option geschrieben werden. Es gibt zwei Möglichkeiten, die erforderlichen Parameter anzugeben: eine durch die Verwendung von Leerzeichen und die andere durch die Verwendung des =-Symbols. Mit der Option --file können wir beispielsweise --file archive.tar oder --file=archive.tar verwenden, um Parameter anzugeben.

Entsprechend, ob die Option Parameter empfangen kann oder nicht. Wenn Sie in diesem Fall Parameter empfangen möchten, müssen Sie diese mit dem =-Symbol angeben. Beispielsweise akzeptiert --backup optional Parameter. Wenn Sie es angeben möchten, müssen Sie „--backup=BACKUP-TYPE“ verwenden.

Kurzbenennungsoptionsstil

Die meisten Optionen verfügen auch über entsprechende Kurzbenennungsoptionen, die das Symbol „-“ verwenden und gefolgt werden ein Brief. Zum Beispiel -t (entsprechend der lang benannten Option --list), diese Formen sind funktional identisch und austauschbar.

Im Vergleich zur langen Benennungsoption besteht ein offensichtlicher Vorteil der kurzen Benennungsmethode darin, dass sie einfach zu schreiben ist.

Kurz benannte Optionen werden normalerweise mit Leerzeichen implementiert, wenn sie unmittelbar nach der Option Parameter empfangen müssen. Sie können die Leerzeichen auch weglassen und die Optionen sofort schreiben. Um beispielsweise den Archivnamen anzugeben, können wir -f archive.tar (mit Leerzeichen) -farchive.tar (ohne Leerzeichen) und --file=archive.tar verwenden . -f ARCHIVNAME und -file=ARCHIVNAME geben an, dass diese Option den Namen der Archivdatei angibt.

Es gibt kurz benannte Optionen mit optionalen Parametern. Wenn Sie Parameter angeben möchten, muss den Parametern der kurze Optionsname folgen und es dürfen keine Leerzeichen verwendet werden.

Kurze Benennungsoptionen können zusammen geschrieben werden, sind aber nicht erforderlich. Wenn kurze Optionen in einer Sammlung erscheinen, wird nur ein - am Anfang der Option verwendet, wie z. B. tar -cvf, und nur die letzte Option darf erforderliche Parameter empfangen. (Das Zusammenfassen vieler Optionen, wobei die letzte Option einen Parameter hat, ist eine ziemlich undurchsichtige Schreibweise.)

Wenn Optionen separat verwendet werden, müssen die Parameter für jede Option der Option folgen. tar -c -v -b 20 -f /dev/rmt0. Wenn die Parameter nicht richtig angepasst werden, kann es sein, dass die Datei überschrieben wird.

Wenn wir eine Option neu anpassen, achten Sie darauf, gleichzeitig die zu dieser Option gehörenden Parameter zu verschieben.

Alter Optionsstil

像短命名选项一样,旧选项风格也只有一个字母。但是,旧风格选项必须将所有选项放在一起,不得有空格将他们分开,或者-连接他们。在tar命令和空格之后,比较紧跟这些字母选项的集合。旧选项不能在任意地方出现。旧选项风格的选项和短命名风格的选项含义是一样的。例如 在旧选项风格中,选项 t 和 短命名选项-t 已经长命名选项--list有一样的作用。 tar cv 命令中,选项v是c选项的额外附加内容。

在旧选项风格中,但选项需要参数的时候,这些选项要一起提供,所有的选项按选项书写顺序提供。例如  tar -c -v -b 20 -f /dev/rmt0  要写成 tar cvbf 20 /dev/rmt0这里20是b选项的参数 /dev/rmnt0是f的参数。

我们可以看出,旧风格选项,匹配选项字母和对应的参数是很困难的,而且很容易令人困惑。短命名方式逗比旧命名方式要好很多。如果要调整选项的字母,必须要同时准确地调整对应的参数位置。

旧选项风格有的时候甚至可以震惊一个熟悉的用户。

tar cfz archive.tar.gz file  这个例子中 archive.tar.gz 被认为是f的参数,z是压缩选项。

tar -cfz archive.tar.gz file 这个例子中 z会被认为是f的选项值,尽管不是我们想的。

旧选项风格是为了向下兼容而保留的。而且很多用户已经习惯了这种方式。

第二个例子我们有几种方式来修改。

tar -czf archive.tar.gz file
tar -cf archive.tar.gz -z file
tar cf archive.tar.gz -z file

通常tar命令的第一个选项一般都会当做包含操作模式和选项来对待处理,尽管没有用-开始。因此 tar c与tar -c一样,都是和--create一样来创建归档。

混合选项风格

三种选项风格可以同时出现在一条tar 命令中,但是旧选项必须在tar命令后 第一个出现,现代风格的选项必须在旧选项集合输入之后出现,这个是必须遵守的原则,否则可能我们输入的命令跟我们预想的结果根本不一样。可能会造成严重的错误或灾难。

 tar选项

操作模式

'--concatenate'  '--catenate' '-A' 将其他归档文件放在当前归档文件末尾

'--append' ' -r'  追加文件到归档文件

'--compare'  '--diff'  '-d'  将归档文件和文件系统上的文件进行对比

'--create' '-c' 创建一个归档文件

'--delete' 从归档文件中删除一些文件。(不能在tape上操作)

'--extract' '--get' '-x' 提取归档文件到当前文件系统

'--list'  '-t' 显示归档文件的组成文件列表

'--update'  '-u' 更新归档文件中的某个文件,只有在该文件有更新时。或者不存在与归档文件。

 

通用选项

-C, --directory=DIR  改变工作目录。

-f, --file=ARCHIVE  指定归档文件名

-j, --bzip2  使用bzip2压缩方式过滤

-J, --xz  使用xz压缩方式过滤

-p, --preserve-permissions 解压时保留文件的权限。

-v, --verbose 详细的列出处理的文件

-z, --gzip  使用gzip压缩方式过滤

提取时覆盖选项

--remove-files 提取归档后删除归档文件

-k --keep-old-files 执行的时候不覆盖已经存在的文件,会输出错误

--keep-newer-files 执行的时候不覆盖比archive里文件新的文件

--keep-directory-symlink 不把已经存在的连接替换成目录

--no-overwrite-dir 保存已经存在的目录的原信息

--overwrite  覆盖已经存在的文件

--overwrite-dir 覆盖已经存在的目录

--recursive-unlink 在提取目录文件前清除该目录结构

--skip-old-files 不替换已经存在的文件。静默方式跳过

-U, --unlink-first 在提取之前先删除所有文件

-W, --verify 校验

 

处理文件的属性

--atime-preserve[=METHOD]  保存文件atime到归档文件

--delay-directory-restore 直到解压完才改变目录的时间戳属性

--group=NAME 强制修改文件所属组

--mode=CHANGES 强制连接模式修改

--mtime=DATE-OR-FILE 修改文件的mtime

-m, --touch 不提取文件的 mtime

--no-delay-directory-restore 取消delay-directory-restore

--no-same-owner  extract files as yourself (default for ordinary users)

--no-same-permissions  apply the user's umask when extracting permissions from the archive (default for ordinary users)

--numeric-owner 使用number来表示owner和group

--owner=NAME  修改归档的文件的owner

-p, --preserve-permissions, --same-permissions Dateiattribute beibehalten

--preserve Dateiattribute wie -p und -s beibehalten

--same-owner Dateiattribute beibehalten

- s, - -preserve-order, --same-order Dateiattribute beibehalten

Auswahl lokaler Verzeichnisdateien

--add-file=FILE Dateien zum Archiv hinzufügen, wenn ein Dateiname mit -

--backup beginnt [=CONTROL] Sichern Sie vor dem Löschen

-C, --directory=DIR Ändern Sie das Arbeitsverzeichnis in das angegebene Verzeichnis

--exclude=PATTERN Einige Dateien ausschließen

--exclude-backups Backups ausschließen und Datei sperren

--exclude-caches schließt andere Dateien im Cache-Verzeichnis (CACHEDIR.TAG) aus, außer tagfile

--exclude-caches-all Schließt das Verzeichnis einschließlich CACHEDIR.TAG

aus --exclude-caches-under Schließt alle anderen Dateien in aus Verzeichnisse mit tagfile, aber es gibt Verzeichnisse

--exclude-tag=FILE Verzeichnisse mit einer angegebenen Datei ausschließen, außer der Datei

Inhalte von Verzeichnissen ausschließen, die FILE enthalten, außer FILE selbst

--exclude-tag-all =DATEI schließt Verzeichnisse aus, die FILE enthalten, schließt das gesamte Verzeichnis aus, das eine bestimmte Datei enthält

--exclude-tag-under=DATEI schließt alle Inhalte im Verzeichnis aus, das eine bestimmte Datei enthält

--exclude-vcs Schließt das Verzeichnis unter der VCS-Versionskontrolle aus

-h, --deference Speichern Sie den Softlink und archivieren Sie die Zieldatei. Folgen Sie den Symlinks. Archivieren Sie die Dateien, auf die sie verweisen

-K, --starting-file=MEMBER-NAME Starten Sie die Archivierung mit einer Datei im Verzeichnis, die vorherigen Dateien werden nicht archiviert

--newer-mtime=DATUM Wenn der Inhalt geändert wird, vergleichen Sie die Dateien mit Datum und Uhrzeit

-P, --absolute-names sind vollgepackt mit absoluten Pfaden. Die Quelldatei wird beim Extrahieren überschrieben --recursion

--suffix=STRING Vor dem Löschen sichern und mit dem festgelegten Präfix überschreiben

-X, --exclude-from=FILE Die vereinbarten Dateien in der angegebenen Datei ausschließen

Empfohlenes Lernen: „

Linux-Video-Tutorial

Das obige ist der detaillierte Inhalt vonWas bedeutet Linux-Archiv?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn