Maison  >  Article  >  Opération et maintenance  >  Que signifie l’archive Linux ?

Que signifie l’archive Linux ?

藏色散人
藏色散人original
2023-03-02 10:37:301999parcourir

L'archivage Linux est un processus consistant à regrouper de nombreux fichiers et à les combiner en un seul fichier volumineux. Il est généralement utilisé dans le cadre d'une sauvegarde du système et est également souvent utilisé dans les situations où d'anciennes données sont déplacées d'un système vers un stockage à long terme. périphérique. ;La commande tar peut créer des archives pour les fichiers et répertoires Linux.

Que signifie l’archive Linux ?

L'environnement d'exploitation de ce tutoriel : système linux5.9.8, ordinateur Dell G3.

Que signifie l'archive Linux ?

L'archivage est une tâche de gestion de fichiers courante utilisée conjointement avec les opérations de compression. L'archivage est le processus consistant à regrouper de nombreux fichiers et à les combiner en un seul fichier volumineux, généralement dans le cadre d'une sauvegarde du système, et est souvent utilisé dans les situations où d'anciennes données sont déplacées d'un système vers un périphérique de stockage à long terme.

La commande tar peut créer des archives pour les fichiers et répertoires Linux. À l'aide de tar, vous pouvez créer une archive (fichier de sauvegarde) pour un fichier spécifique, modifier des fichiers dans l'archive ou ajouter de nouveaux fichiers à l'archive. tar était à l'origine utilisé pour créer des archives sur bandes, mais les utilisateurs peuvent désormais créer des archives sur n'importe quel appareil. À l'aide de la commande tar, vous pouvez regrouper un grand nombre de fichiers et de répertoires dans un seul fichier, ce qui est très utile pour sauvegarder des fichiers ou combiner plusieurs fichiers en un seul fichier pour une transmission réseau.

Commande Linux tar

La commande tar est un packager général Linux permettant de regrouper plusieurs fichiers dans un seul package de fichiers. Pratique pour le transfert et peut également être utilisé pour la sauvegarde de fichiers. Nous pouvons également utiliser tar pour décompresser les fichiers d'archives.

Format de compression de la commande tar

Le format de compression pris en charge par la commande tar. Généralement, lorsque nous utilisons la commande tar, nous compressons le fichier en même temps pour réduire l'utilisation de l'espace. Habituellement, nous utilisons la convention de dénomination suivante pour convenir de la méthode de compression que nous utilisons.

Mode par défaut .tar, pas de compression, il suffit de mettre tous les fichiers dans un seul package.

.tar.gz Mode commun, compressé à l'aide de l'algorithme gzip. Le taux de compression est moyen et le temps de compression est moyen.

.tar.bz2 n'est pas couramment utilisé. Compressé à l'aide de l'algorithme bz2. Le taux de compression est légèrement moins bon et le temps de compression est plus court.

.tar.xz n'est pas couramment utilisé et est compressé à l'aide de l'algorithme xz. Le taux de compression est meilleur et le temps de compression est plus long.

tar présentation

tar introduction à la syntaxe

tar prend généralement en charge les deux formats de syntaxe suivants, le second est l'ancienne méthode.

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

Les principaux paramètres de tar, nous l'appelons [type d'opération] : par exemple, c crée, x décompresse. Nous appelons d'autres paramètres [options supplémentaires], qui sont utilisés pour modifier la progression de nos opérations, tels que les noms de fichiers et les fichiers cibles à archiver.

Les paramètres principaux [Type d'opération] doivent être placés au premier plan.

[NOM] dans les deux formats de syntaxe spécifie le nom du fichier que nous souhaitons archiver. [NOM] peut être un fichier ou un répertoire, ou plusieurs fichiers ou répertoires. [NOM] doit être clairement spécifié et il doit déjà exister sur le système de fichiers avant d'exécuter la commande tar.

Autres connaissances sur tar

tar "interprète les noms de fichiers avec des chemins relatifs comme des répertoires relatifs. Si nous spécifions un chemin absolu, tar supprimera le premier / pour l'empaquetage. Le but de ceci est d'empêcher la décompression Remplacer le répertoire système . Sauf si nous spécifions délibérément l'option [--absolute-names] Si nous spécifions un répertoire, tar spécifiera de manière récursive tous les sous-répertoires et fichiers du répertoire à archiver. Par exemple, si nous spécifions /, cela signifie que l'ensemble du système de fichiers. sera archivé.

Il est très important de distinguer le nom du fichier et les membres à archiver lors de l'utilisation de caractères génériques du shell. La raison est que le shell n'utilisera que des caractères génériques pour les fichiers existants, et tar lui-même utilisera également des caractères génériques. utilisez des caractères génériques, nous devons donc nous assurer que les caractères génériques ne fonctionnent que pour tar, pas pour shell. Habituellement, nous pouvons utiliser des barres obliques inverses entre "*" ou "?" ou les mettre entre guillemets simples, donc l'ancien convient.

Habituellement, nous mettrons tous. les fichiers du détachement sur la ligne de commande. En fait, nous pouvons également spécifier le nom du fichier archivé en lisant le fichier '--files-from=FILE-OF-NAMES' ('-T FILE-OF. -NAMES')

Si nous ne spécifions pas le nom du fichier archivé, les commandes d'ajout, de suppression et autres ne feront rien. Create affichera un message de diagnostic et empêchera d'autres options d'opération d'affecter l'ensemble des opérations du répertoire

En plus du succès normal. Si vous quittez, tar échouera pour de nombreuses raisons. Dans certains cas, il peut être récupéré. Par exemple, lorsque la commande tar n'est pas écrite normalement, l'erreur sera retardée jusqu'à ce que le fichier soit traité. Certaines erreurs peuvent ne pas être signalées. être intentionnel, mais cela reste dangereux, alors tar se fermera immédiatement

Cependant, toutes les sorties anormales, qu'elles soient immédiates ou retardées, auront une sortie d'erreur et des informations de diagnostic

éventuellement. Les codes de sortie du programme tar sont : 0 (. sortie normale), 1 (un fichier a changé), 2 (erreur grave, erreur irrécupérable)

style d'option tar

Trois styles d'option

La commande tar standard prend en charge un total de 8 modes de fonctionnement nous permettant d'effectuer une variété de tâches. Nous ne pouvons choisir qu'un seul mode de fonctionnement à chaque fois que nous utilisons la commande tar. En fonction de la situation réelle, nous souhaiterons peut-être spécifier le mode de fonctionnement tar. Par exemple, nous pouvons modifier le format de sortie des sorties. Ou si nous voulons un format de fichier qui nous oblige à spécifier spécifiquement l'ordre des opérations.

L'option tar est une option ajoutée après avoir spécifié le mode de fonctionnement tar. Selon le mode de fonctionnement de tar, nous pouvons spécifier une ou plusieurs options. Différentes options ont des fonctions différentes. Habituellement, les options modifieront le contenu spécifique du mode de fonctionnement. Par exemple, modifiez le format de l'archive, le nom du fichier d'archive ou le niveau d'interaction de l'utilisateur.

Certaines options sont valables pour tous les modes de fonctionnement, et certaines options ne sont valables que pour des modes de fonctionnement spécifiques. Il existe certaines options fixes que nous utilisons fréquemment. D’autres peuvent être rarement utilisés, voire pas du tout.

Les options sont sensibles à la casse, par exemple -T et -t sont différents, T nécessite un nom de paramètre pour spécifier le nom du fichier ou la liste des fichiers. t ne nécessite pas de paramètres et constitue une autre façon d’écrire --list.

Les options tar prennent généralement en charge 3 styles différents : le style de dénomination long (--), le style de dénomination court (-) et l'ancien style de dénomination (sans -). L’un ou l’autre style peut être utilisé pour les modes de fonctionnement ou les options. Les différents styles des 3 ont été développés à des époques différentes.

Certaines options nécessitent un paramètre. L'endroit où placer le paramètre dépend généralement du style que nous utilisons. Ces différences peuvent être subtiles, mais elles sont importantes. Les options placées au mauvais endroit peuvent entraîner l'écrasement de certains fichiers importants. Il faut noter ces différences. Et n'utilisez que les options que nous comprenons jusqu'à ce que nous comprenions également les autres options. Pour les options qui acceptent des arguments, elles peuvent avoir une forme plus longue ou plus courte sans contrepartie à l'ancienne. Les règles d'utilisation de ces options, qui nécessitent des paramètres précis, sont très strictes.

Par exemple, l'option --file doit recevoir un nom de fichier d'archive en paramètre. Si nous ne spécifions pas de nom de fichier d'archive, tar utilisera un nom par défaut mais prêt à confusion. Il est recommandé de spécifier un nom de fichier d'archive spécifique.

Style d'option nommée longue

tar Toutes les options de paramètres ont au moins un paramètre nommé long. Les options de paramètres à nom long sont affichées plus clairement que les types de paramètres à nom court et anciens. Parfois, les options de nom long ont des noms différents mais ont le même effet. Par exemple, --compare et --dif ont la même signification. De plus, les méthodes de dénomination longues peuvent également utiliser des abréviations uniques. Par exemple, --create peut être remplacé par --cre. Parce qu'il n'y a pas d'autres options commençant par --cre.

tar Les options de dénomination longues sont plus évidentes et plus faciles à retenir, et leurs noms sont faciles à reconnaître. Par exemple, tar --create --verbose --blocking-factor=20 --file=/dev/rmt0, tous utilisent des paramètres nommés longs, et la signification de chaque paramètre est clairement visible.

Si une option nommée au long doit recevoir des paramètres, elle doit être écrite immédiatement après l'option. Il existe deux façons de spécifier les paramètres nécessaires, l'une consiste à utiliser des espaces et l'autre à utiliser le symbole =. Par exemple, avec l'option --file, nous pouvons utiliser --file archive.tar ou --file=archive.tar pour spécifier les paramètres.

En conséquence, si l'option peut recevoir des paramètres ou non. Dans ce cas, si vous souhaitez recevoir des paramètres, vous devez utiliser le symbole = pour les spécifier. Par exemple, l'argument facultatif --backup est reçu. Si vous souhaitez le spécifier, vous devez utiliser '--backup=BACKUP-TYPE'.

Style d'option de dénomination courte

La plupart des options ont également des options de dénomination courtes correspondantes. Les options de dénomination courte utilisent le symbole - et sont suivies par. une lettre. Par exemple -t (correspondant à l'option longue nommée --list), ces formes sont fonctionnellement identiques et peuvent être interchangées.

Par rapport à l'option de dénomination longue, un avantage évident de la méthode de dénomination courte est qu'elle est facile à écrire.

Les options nommées courtes sont généralement implémentées avec des espaces si elles doivent recevoir des paramètres immédiatement après l'option. Vous pouvez également omettre les espaces et écrire les options immédiatement. Par exemple, pour spécifier le nom de l'archive, nous pouvons utiliser -f archive.tar (avec des espaces), -farchive.tar (avec des espaces omis), --file=archive. tar. -f ARCHIVE-NAME et - -file=ARCHIVE-NAME indiquent que cette option spécifie le nom du fichier d'archive.

Il existe des options nommées courtes avec des paramètres facultatifs. Si vous souhaitez spécifier des paramètres, les paramètres doivent être suivis du nom court de l'option et aucun espace ne peut être utilisé.

Les options de dénomination courtes peuvent être écrites ensemble, mais ne sont pas obligatoires. Lorsque des options courtes apparaissent dans une collection, seul un - est utilisé au début de l'option, comme tar -cvf, et seule la dernière option est autorisée à recevoir les paramètres requis. (Regrouper plusieurs options, la dernière option ayant un paramètre est une manière plutôt opaque de l'écrire.)

Lorsque les options sont utilisées séparément, les paramètres de chaque option doivent suivre cette option. tar -c -v -b 20 -f /dev/rmt0. Si les paramètres ne sont pas correctement ajustés, le fichier peut être écrasé.

Lorsque nous réajustons une option, veillez à déplacer en même temps les paramètres appartenant à cette option.

Style d'ancienne option

像短命名选项一样,旧选项风格也只有一个字母。但是,旧风格选项必须将所有选项放在一起,不得有空格将他们分开,或者-连接他们。在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 Préserve les attributs du fichier

--preserve Préserve les attributs du fichier de la même manière que -p et -s

--same-owner Préserve les attributs du fichier

- s, --preserve-order, --same-order Préserver les attributs du fichier

Sélection des fichiers du répertoire local

--add-file=FILE Ajouter des fichiers à l'archive s'il s'agit d'un fichier le nom commence par -

--backup[=CONTROL] Sauvegarder avant de supprimer

-C, --directory=DIR Modifier le répertoire de travail vers le répertoire spécifié

--exclude=PATTERN Exclure certains fichiers

--exclure -backups Exclure les sauvegardes et verrouiller le fichier

--exclude-caches Exclure les autres fichiers du répertoire cache (CACHEDIR.TAG), à l'exception du fichier tag

--exclude-caches-all Exclure le répertoire incluant CACHEDIR.TAG

--exclure -caches-under Exclure tous les autres fichiers dans les répertoires avec tagfile, mais il existe des répertoires

--exclude-tag=FILE Exclure les répertoires avec un fichier spécifié, à l'exception du fichier

exclure le contenu des répertoires contenant FILE, à l'exception du FILE lui-même

--exclude-tag-all=FILE exclut les répertoires contenant FILE exclut tout le répertoire contenant un certain fichier

--exclude-tag-under=FILE exclut tout le contenu du répertoire contenant un certain fichier

--exclude- vcs Exclure le répertoire sous le contrôle de version vcs

-h, --dereference Enregistrez le lien logiciel et archivez le fichier cible

suivez les liens symboliques archivez et videz les fichiers vers lesquels ils pointent

--hard-dereference Enregistrez le matériel et le logiciel lien, Archivez également les fichiers cibles

-K, --starting-file=MEMBER-NAME Commencez l'archivage avec un fichier dans le répertoire, les fichiers précédents ne sont pas archivés

--newer-mtime=DATE Lorsque le contenu est modifié, comparez les fichiers La date et l'heure

-P, --absolute-names sont remplies de chemins absolus. Le fichier source sera écrasé lors de l'extraction --recursion

--suffix=STRING Sauvegarder avant suppression et écraser avec le préfixe défini

-X, --exclude-from=FILE Exclure les fichiers convenus dans le fichier spécifié

Apprentissage recommandé : "Tutoriel vidéo Linux"

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn