Quelles sont les commandes de compression Linux ?

青灯夜游
Libérer: 2023-03-01 18:55:23
original
44119 Les gens l'ont consulté

Commandes de compression Linux : 1. commande tar, ajoutez simplement une option de compression "z", la syntaxe est "tar -z fichier source ou répertoire du package compressé" 2. commande zip, vous pouvez créer un fichier compressé tout en conservant l'original ; L'intégrité du fichier, la syntaxe est « fichier source du nom du package compressé zip [option] ou liste de répertoires sources » ; 3. La commande gzip, la syntaxe est « fichier source gzip [option] » ; la syntaxe est "fichier source bzip2 [option]" "; 5. Commande xz, syntaxe "nom du package compressé xz".

Quelles sont les commandes de compression Linux ?

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

Qu'est-ce que la compression sous Linux

La compression fait référence à l'utilisation d'algorithmes pour traiter les fichiers dans le but de conserver le maximum d'informations sur le fichier et de réduire la taille du fichier. Le principe de base est de créer un fichier dictionnaire des mêmes octets en recherchant les octets répétés dans le fichier, et de le représenter par un code.

La compression est similaire aux fichiers d'archive. Les fichiers compressés sont également une collection de fichiers et de répertoires, et cette collection est également stockée dans un fichier. Mais leur différence est que les fichiers compressés utilisent des méthodes de stockage différentes pour qu'ils occupent moins d'espace. espace disque supérieur à la taille combinée de tous les fichiers de la collection.

Étant donné que les informations traitées par les ordinateurs sont exprimées sous forme binaire, les logiciels de compression marquent les mêmes chaînes dans les informations binaires avec des caractères spéciaux. Tant que des calculs mathématiques raisonnables sont effectués, la taille du fichier peut être considérablement compressée. Utilisez un logiciel de compression pour compresser un ou plusieurs fichiers afin de former un package de compression de fichiers, ce qui peut économiser de l'espace de stockage et faciliter la transmission sur le réseau.

La compression d'un fichier est susceptible d'endommager le contenu du fichier. Par conséquent, la compression peut être divisée en compression avec perte et compression sans perte. La compression sans perte est facile à comprendre, ce qui signifie que les données compressées doivent être précises ; la compression avec perte signifie que même si des données individuelles sont perdues, elles n'auront pas beaucoup d'impact sur le fichier. La compression avec perte est largement utilisée dans les fichiers d'animation, de son et d'image. Les représentants typiques sont le format de fichier vidéo mpeg, le format de fichier musical mp3 et le format de fichier image jpg.

Utilisez un outil de compression pour compresser le fichier. Le fichier généré est appelé un package compressé. La taille du fichier n'est généralement que la moitié du fichier d'origine ou même plus petite. Il convient de noter que les données du package compressé ne peuvent pas être utilisées directement. Vous devez utiliser un outil de compression pour restaurer les données du fichier avant utilisation. Ce processus est également appelé décompression.

Commande de compression Linux

Il existe de nombreuses commandes de compression couramment utilisées, telles que gzip, zip, bzip2.

commande de compression tar

La commande tar n'est pas une commande de compression spécialisée. Il est souvent utilisé pour regrouper plusieurs fichiers en un seul fichier afin de les transférer facilement vers un autre système ou pour sauvegarder des fichiers en tant que groupe associé. Il fournit également des capacités de compression, ce qui est logique, et l'ajout d'une option de compression z peut compresser le fichier. tar 命令不是专门的压缩命令。它通常用于将多个文件拉入一个单个的文件中,以便容易地传输到另一个系统,或者将文件作为一个相关的组进行备份。它也提供压缩的功能,这就很有意义了,附加一个 z 压缩选项能够实现压缩文件。

当使用 z 选项为 tar 命令附加压缩过程时,tar 使用 gzip 来进行压缩。

就像压缩一组文件一样,你可以使用 tar 来压缩单个文件,尽管这种操作与直接使用 gzip 相比没有特别的优势。要使用 tar 这样做,只需要使用 tar cfz newtarfile filename 命令来标识要压缩的文件,就像标识一组文件一样,像这样:

$ tar cfz bigfile.tgz bigfile
            ^            ^
            |            |
            +- 新的文件  +- 将被压缩的文件

$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 103270400 Apr 16 16:09 bigfile
-rw-rw-r-- 1 shs shs 21608325 Apr 16 16:08 bigfile.tgz
Copier après la connexion

注意,文件的大小显著减少了。

如果你愿意,你可以使用 tar.gz 扩展名,这可能会使文件的特征更加明显,但是大多数的 Linux 用户将很可能会意识到与 tgz 的意思是一样的 – targz 的组合来显示文件是一个压缩的 tar 文件。在压缩完成后,你将同时得到原始文件和压缩文件。

要将很多文件收集在一起并在一个命令中压缩出 “tar ball”,使用相同的语法,但要指定要包含的文件为一组,而不是单个文件。这里有一个示例:

$ tar cfz bin.tgz bin/*
          ^         ^
          |         +-- 将被包含的文件
          + 新的文件
Copier après la connexion

zip压缩命令

zip 命令创建一个压缩文件,与此同时保留原始文件的完整性。语法像使用 tar 一样简单,只是你必需记住,你的原始文件名称应该是命令行上的最后一个参数。

$ zip ./bigfile.zip bigfile
updating: bigfile (deflated 79%)
$ ls -l bigfile bigfile.zip
-rw-rw-r-- 1 shs shs 103270400 Apr 16 11:18 bigfile
-rw-rw-r-- 1 shs shs  21606889 Apr 16 11:19 bigfile.zip
Copier après la connexion

gzip压缩命令

gzip 命令非常容易使用。你只需要键入 gzip,紧随其后的是你想要压缩的文件名称。不像上述描述的命令,gzip

Lors de l'association d'un processus de compression à la commande tar à l'aide de l'option z, tar utilise gzip pour la compression.

Tout comme pour compresser un groupe de fichiers, vous pouvez utiliser tar pour compresser un seul fichier, bien que cette opération soit différente de l'utilisation de gzip</code > directement Il n'y a aucun avantage particulier à ce sujet. Pour faire cela avec <code>tar, utilisez simplement la commande tar cfz newtarfile filename pour identifier le fichier à compresser, tout comme vous le feriez pour un groupe de fichiers, comme ceci :

$ gzip bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs  21606751 Apr 15 17:57 bigfile.gz
Copier après la connexion
🎜

Notez que la taille du fichier est considérablement réduite. 🎜

Si vous le souhaitez, vous pouvez utiliser l'extension tar.gz, ce qui peut rendre les caractéristiques du fichier plus évidentes, mais la plupart des utilisateurs de Linux le feront probablement. réalisez que tgz signifie la même chose – une combinaison de tar et gz pour montrer que le fichier est un fichier tar compressé. Une fois la compression terminée, vous obtiendrez à la fois le fichier original et le fichier compressé. 🎜

Pour rassembler plusieurs fichiers et compresser une "tar ball" en une seule commande, utilisez la même syntaxe, mais spécifiez les fichiers à inclure en tant que groupe plutôt qu'en tant que fichier unique. Voici un exemple : 🎜🎜

$ bzip bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs  18115234 Apr 15 17:57 bigfile.bz2
Copier après la connexion
Copier après la connexion
🎜🎜🎜zip compression command🎜🎜

zip crée un fichier compressé tout en préservant l'intégrité du fichier d'origine. La syntaxe est aussi simple que d'utiliser tar, sauf que vous devez vous rappeler que votre nom de fichier d'origine doit être le dernier argument de la ligne de commande. 🎜🎜

$ xz bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 13427236 Apr 15 17:30 bigfile.xz
Copier après la connexion
Copier après la connexion
🎜🎜🎜commande de compression gzip🎜🎜La commande

gzip est très simple à utiliser. Il vous suffit de taper gzip, suivi du nom du fichier que vous souhaitez compresser. Contrairement aux commandes décrites ci-dessus, gzip "cryptera" le fichier "sur place". Autrement dit, le fichier original sera remplacé par le fichier « crypté ». 🎜🎜

-rw-rw-r-- 1 shs shs 103270400 Apr 16 14:01 bigfile
------------------------------------------------------
-rw-rw-r-- 1 shs shs 18115234 Apr 16 13:59 bigfile.bz2    ~17%
-rw-rw-r-- 1 shs shs 21606751 Apr 16 14:00 bigfile.gz     ~21%
-rw-rw-r-- 1 shs shs 21608322 Apr 16 13:59 bigfile.tgz    ~21%
-rw-rw-r-- 1 shs shs 13427236 Apr 16 14:00 bigfile.xz     ~13%
-rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip    ~21%
Copier après la connexion
Copier après la connexion
🎜

bzip2压缩命令

像使用 gzip 命令一样,bzip2 将在你选择的文件“就地”压缩,不留下原始文件。

$ bzip bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs  18115234 Apr 15 17:57 bigfile.bz2
Copier après la connexion
Copier après la connexion

xz压缩命令

xz 是压缩命令团队中的一个相对较新的成员,在压缩文件的能力方面,它是一个领跑者。像先前的两个命令一样,你只需要将文件名称提供给命令。再强调一次,原始文件被就地压缩。

$ xz bigfile
$ ls -l bigfile*
-rw-rw-r-- 1 shs shs 13427236 Apr 15 17:30 bigfile.xz
Copier après la connexion
Copier après la connexion

对于大文件来说,你可能会注意到 xz 将比其它的压缩命令花费更多的运行时间,但是压缩的结果却是非常令人赞叹的。

压缩命令对比

大多数人都听说过“大小不是一切”。所以,让我们比较一下文件大小以及一些当你计划如何压缩文件时的问题。

下面显示的统计数据都与压缩单个文件相关,在上面显示的示例中使用 bigfile。这个文件是一个大的且相当随机的文本文件。压缩率在一定程度上取决于文件的内容。

  • 大小减缩率

当比较时,上面显示的各种压缩命产生下面的结果。百分比表示压缩文件与原始文件的比较效果。

-rw-rw-r-- 1 shs shs 103270400 Apr 16 14:01 bigfile
------------------------------------------------------
-rw-rw-r-- 1 shs shs 18115234 Apr 16 13:59 bigfile.bz2    ~17%
-rw-rw-r-- 1 shs shs 21606751 Apr 16 14:00 bigfile.gz     ~21%
-rw-rw-r-- 1 shs shs 21608322 Apr 16 13:59 bigfile.tgz    ~21%
-rw-rw-r-- 1 shs shs 13427236 Apr 16 14:00 bigfile.xz     ~13%
-rw-rw-r-- 1 shs shs 21606889 Apr 16 13:59 bigfile.zip    ~21%
Copier après la connexion
Copier après la connexion

xz 命令获胜,最终只有压缩文件 13% 的大小,但是所有这些压缩命令都相当显著地减少原始文件的大小。

  • 是否替换原始文件

bzip2gzipxz 命令都用压缩文件替换原始文件。tarzip 命令不替换。

  • 运行时间

xz 命令似乎比其它命令需要花费更多的时间来“加密”文件。对于 bigfile 来说,大概的时间是:

命令      运行时间
tar       4.9 秒
zip       5.2 秒
bzip2    22.8 秒
gzip      4.8 秒
xz       50.4 秒
Copier après la connexion

解压缩文件很可能比压缩时间要短得多。

  • 文件权限

不管你对压缩文件设置什么权限,压缩文件的权限将基于你的 umask 设置,但 bzip2 除外,它保留了原始文件的权限。

  • 与 Windows 的兼容性

zip 命令创建的文件可以在 Windows 系统以及 Linux 和其他 Unix 系统上使用(即解压),而无需安装其他工具,无论这些工具可能是可用还是不可用的。

相关推荐:《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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal