Maison > Opération et maintenance > exploitation et maintenance Linux > Commandes de compression Linux (Résumé)

Commandes de compression Linux (Résumé)

藏色散人
Libérer: 2020-01-23 13:35:26
avant
43489 Les gens l'ont consulté

Commandes de compression Linux (Résumé)

Commande de compression Linux

Les formats de compression courants sous Linux incluent .zip, .gz, .bz2, .tar , .tar.gz, .tar.bz2 ; les commandes de compression couramment utilisées incluent zip et tar. Voici des exemples d'utilisation de chaque commande de compression. Pour plus d'utilisation, veuillez utiliser la commande --help.

Recommandé : "Tutoriel Linux"

zip

Format :

zip [options] 目标压缩包名称 待压缩源文件
unzip [-Z] [options] 待压缩源文件 [list] [-x xlist] [-d exdir]
Copier après la connexion

Commandes communes :

# 压缩文件
zip myfile.zip myfile
# 压缩文件夹(包含子目录)
zip -r mydir.zip mydir
# 压缩当前目录所有文件
zip mydir.zip *
# 解压文件
unzip mydir.zip
Copier après la connexion

zip Plus de paramètres :

-v 显示操作详细信息
-d 从压缩包里删除文件
-m 将文件剪切到压缩包里,源文件将被删除
-r 递归压缩
-x 排除文件
-c 加一行备注
-z 加备注
-T 测试压缩包完整性
-e 加密
-q 安静模式
-1, --fast 更快的压缩速度
-9, --best 更好的压缩率
--help 查看帮助
-h2 查看更多帮助
Copier après la connexion

unzip Plus de paramètres :

-v 显示操作详细信息
-l 查看压缩包内容
-d 解压到指定文件夹
-x 排除压缩包内文件
-t 测试压缩包文件内容
-z 查看备注
-o 覆盖文件无需提示
-q 安静模式
--help 查看帮助
Copier après la connexion

Exemple :

$ ls
t.md  t.php t.php.zip
Copier après la connexion
# 创建压缩包
$ zip -v myfile.zip t.*
  adding: t.md  (in=8121) (out=1051) (deflated 87%)
  adding: t.php (in=740) (out=319) (deflated 57%)
  adding: t.php.zip     (in=1666) (out=1666) (stored 0%)
total bytes=10527, compressed=3036 -> 71% savings
# 测试压缩包完整性
$ zip -T myfile.zip 
test of myfile.zip OK
# 测试压缩包文件内容
$ unzip -t myfile.zip 
Archive:  myfile.zip
    testing: t.md                     OK
    testing: t.php                    OK
    testing: t.php.zip                OK
No errors detected in compressed data of myfile.zip.
# 查看压缩包里内容
$ unzip -l myfile.zip 
Archive:  myfile.zip
  Length      Date    Time    Name
---------  ---------- -----   ----
     8121  06-08-2016 17:03   t.md
      740  06-08-2016 17:02   t.php
     1666  07-30-2016 17:38   t.php.zip
---------                     -------
    10527                     3 files
# 从压缩包里删除文件t.php.zip   
$ zip -d myfile.zip t.php.zip
deleting: t.php.zip
# 从压缩包里删除文件t.php
$ zip -d myfile.zip t.php
deleting: t.php
# 添加文件到压缩包里
$ zip -u myfile.zip t.php
  adding: t.php (deflated 57%)
# 给压缩包添加注释  
$ zip -z myfile.zip
enter new zip file comment (end with .):
test
.
# 查看压缩包注释
$ unzip -z myfile.zip 
Archive:  myfile.zip
test
# 解压到指定文件夹
$ unzip myfile.zip -d my
Archive:  myfile.zip
test .
  inflating: my/t.md                 
  inflating: my/t.php
# 排除文件不解压
$ unzip myfile.zip  -x t.php -d my
Archive:  myfile.zip
test .
  inflating: my/t.md
Copier après la connexion

gz

Format :

gzip [options] 待压缩源文件
gunzip [options]  待解压文件
Copier après la connexion

Vous n'avez pas besoin d'écrire le nom final du fichier compressé, il ajoutera automatiquement le suffixe .gz à la terminez et supprimez le fichier source.

Commandes communes :

# 压缩1.log,同时会自动删除源文件
gzip 1.log
# 解压1.log.gz,同时会自动删除压缩包
gzip -d 1.log.gz
# 压缩1.log,保留源文件
gzip -k 1.log
# 解压1.log.gz,保留压缩包
gzip -dk 1.log.gz
# 查看压缩包信息
gzip -l 1.log.gz
# 递归的对目录里的每个文件单独压缩
gzip -r mydir
Copier après la connexion

Remarque : gunzip et gzip -d sont équivalents et peuvent décompresser les fichiers gz.

Plus de paramètres :

-c, --stdout 将压缩后的内容在标准输出显示出来,保留原文件
-1, --fast 更快的压缩速度
-9, --best 更好的压缩率
Copier après la connexion
Copier après la connexion

Exemple :

# 压缩1.log为1.log.gz,保留源文件
gzip -c 1.log > 1.log.gz
Copier après la connexion

bz2

Format :

bzip2 [options] 待压缩源文件
bunzip2 [options]  待解压文件
Copier après la connexion

Commandes communes :

# 压缩1.log
bzip2 1.log
bzip2 -k 1.log
# 解压1.log.bz2
bzip2 -d 1.log.bz2
bzip2 -dk 1.log.bz2
bunzip2 1.log.bz2
bunzip2 -k 1.log.bz2
Copier après la connexion

Plus de paramètres :

-c, --stdout 将压缩后的内容在标准输出显示出来,保留原文件
-1, --fast 更快的压缩速度
-9, --best 更好的压缩率
Copier après la connexion
Copier après la connexion

tar

Format :

tar [options] 目标压缩包名称 待压缩源文件
Copier après la connexion

Commandes communes :

# 打包后,以gzip 压缩
tar zcvf test.tar.gz /test  #压缩/test为test.tar.gz
# 解压test.tar.gz
tar zxvf test.tar.gz 
# 打包后,以bzip2 压缩
tar jcvf test.tar.bz2 /test  #压缩/test为test.tar.bz2
# 解压test.tar.bz2
tar jxvf test.tar.bz2
# 仅打包,不压缩
tar cvf test.tar /test  #压缩/test为test.tar
# 解压test.tar
tar xvf test.tar
# 查看压缩包内容列表
tar tvf test.tar.gz
# 解压到指定文件夹(目标文件夹必须存在)
$ tar -zxvf all.tar.gz -C my/
# 压缩时排除某些目录
$ tar -zcvf tomcat.tar.gz --exclude=tomcat/logs tomcat
$ tar -zcvf tomcat.tar.gz --exclude=tomcat/logs --exclude=tomcat/libs --exclude=tomcat/xiaoshan.txt tomcat
Copier après la connexion

Description des paramètres communs :

-c, --create: 建立压缩档案
-x, --extract, --get:解压
-t, --list:查看内容
-r, --append:向压缩归档文件末尾追加文件
-u, --update:更新原压缩包中的文件
-d, --diff, --compare 将压缩包里的文件与文件系统进行对比
    --delete 从压缩包里删除
Copier après la connexion

Ce sont des commandes indépendantes. L'une d'elles est utilisée pour la compression et la décompression. Elle peut être utilisée conjointement avec d'autres commandes mais n'en utilisez qu'une. de ceux-ci. Les paramètres suivants sont facultatifs lors de la compression ou de la décompression de fichiers selon les besoins :

-z, --gzip, --gunzip, --ungzip:有gzip属性的
-j, --bzip2:有bz2属性的
-Z, --compress, --uncompress:有compress属性的
-v, --verbose:显示所有过程
-O, --to-stdout:将文件解开到标准输出
-C, --directory=DIR:解压到指定文件夹
Copier après la connexion

Le dernier paramètre -f est requis :

-f, --file=ARCHIVE: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
Copier après la connexion

Afficher l'aide de la commande :

tar --help
tar -?
tar --usage
Copier après la connexion

Autres exemples :

# 比较压缩包里文件与源文件变动
$ tar --diff -vf 1.log.tar 1.log
1.log
1.log: Mod time differs
1.log: Size differs
# 删除压缩包里的1.log
$ tar --delete -vf 1.log.tar 1.log
# 向压缩归档文件里追加文件
$ tar rvf 1.log.tar 1.log 2.log
1.log
2.log
# 向压缩归档文件里更新文件
$ tar uvf 1.log.tar 1.log 2.log
Copier après la connexion

Explication : Les fichiers ne peuvent pas être ajoutés ou mis à jour vers tar.gz et tar.bz2 :

$ tar zrvf all.tar.gz 3.log
tar: Cannot update compressed archives
Try 'tar --help' or 'tar --usage' for more information.
Copier après la connexion

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:cnblogs.com
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