linux压缩归档命令gzip、bzip2、xz、tar、zip详解

2024-04-20 14:32

本文主要是介绍linux压缩归档命令gzip、bzip2、xz、tar、zip详解,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文使用运行环境如下:
操作系统:Ubuntu Linux 18.04 64 bit

windows系统下常用winrarbindzip等软件打包并压缩文件与文件夹,linux下也有相应的工具,常用的压缩工具为gzipbzip2xztar,前三者只能压缩单个文件,使用tar可以将文件目录打包后调用gzipbzip2xz软件实现多个文件和目录打包压缩,另外,linuxzipunzip命令压缩/解压兼容windowszip文件。

linux压缩/解压命令众多,本文就来一探究竟,命令千万条,常用的也就几条而已。

1. gzip压缩/解压

gziplinux系统流行且常用的压缩命令

1.1 命令

Usage: gzip [OPTION]... [FILE]...
# 压缩/解压
gzip [-cdtv#] 文件名
# 查看压缩文件
zcatz 文件名.gz
zmore 文件名.gz
zless 文件名.gz
# 查找压缩文件内容
zgrep -n '目标字符' 文件名.gz

1.2 选项

gzip选项可通过gzip -h命令查询,以下为部分选项:

选项详细说明
-cstdout将压缩/解压后文件输出到标准输出上,并保留原始文件不变
-ddecompress解压缩,使用-d时相当于使用gunzip
-fforce强行解开压缩文件,若文件已存在将被解压后的文件覆盖
-hhelp帮助菜单
-kkeep保留原文件
-llist显示每一个压缩文件的
压缩后大小
压缩前大小
压缩率
未压缩前文件名
-Llicense显示软件许可证
-nno-name压缩时不保存原始文件的文件名和时间戳,解压缩时不恢复原始文件的文件名和时间戳
-Nname压缩时保存原始文件的文件名和时间戳,解压缩时恢复原始文件的文件名和时间戳
-qquiet抑制所有警告信息
-rrecursive递归地操作目录下的每一个文件,而不是将目录打包压缩成文件
-Ssuffix=SUF在压缩文件上使用后缀SUF
-ttest测试压缩文件完整性
-vverbose显示压缩详细信息
-##为数字,表示压缩等级,-1压缩最快压缩比最差,-9压缩最慢压缩比最好,默认为-6

1.3 用法

选项千万条,常用一两条:

默认不带选项压缩/解压时,原文件将被删除

1.3.1 压缩文件且不保留原文件

$ echo "hello" > 1.txt # 新建1.txt文件,内容为"hello"
$ gzip 1.txt # 压缩1.txt文件
$ ls
1.txt.gz

1.txt.gz即压缩后的文件,原文件1.txt已经不存在

1.3.2 解压文件且不保留原文件

$ gzip -d 1.txt.gz # 使用-d选项表示解压
$ ls
1.txt

或者

$ gunzip 1.txt.gz # 使用gunzip解压,不推荐
$ ls
1.txt

1.3.3 压缩且保留原文件

>号将输出到标准输出的数据重定向到 >之后的文件中, 重命名压缩文件可以用这种方法

$ gzip -c 1.txt > 1.txt.gz # '>'号之后的文件可以自定义
$ ls
1.txt  1.txt.gz

或者

$ gzip -k 1.txt 
$ ls
1.txt  1.txt.gz

1.3.4 解压且保留原文件

>号将输出到标准输出的数据重定向到 >之后的文件中, 重命名解压文件可以用这种方法

$ gzip -cd 1.txt.gz > 1.txt # '>'号之后的文件可以自定义
$ ls
1.txt  1.txt.gz

或者

$ gzip -dk 1.txt.gz 
$ ls
1.txt  1.txt.gz

1.3.5 压缩/解压时显示信息

$ ls
1.txt
$ gzip -kv 1.txt 
1.txt:  -33.3% -- replaced with 1.txt.gz
$ ls
1.txt  1.txt.gz
$ rm 1.txt
$ gzip -dkv 1.txt.gz 
1.txt.gz:       -33.3% -- replaced with 1.txt
$ ls
1.txt  1.txt.gz

1.3.6 指定最佳压缩比

指定选项 -9即指定了最大的压缩比

gzip -cvk9 1.txt > 1.txt.gz

1.3.7 查看压缩文件内容

zcatzmorezless相当于适用gzip压缩文件的查看工具

$ zcat 1.txt.gz 
hello
$ zmore 1.txt.gz    
hello
$ zless 1.txt

1.3.8 查找压缩文件中的字符串

zgrep相当于适用gzip压缩文件的查找工具

$ zgrep -n 'he' 1.txt.gz 
1:hello

2. bzip2压缩/解压

bizp2命令和gzip基本相同,bzip2命令压缩率更高

2.1 命令

usage: bzip2 [flags and input files in any order]
# 压缩/解压
bzip2 [-cdkzv#] 文件名
# 查看压缩文件
bzcat 文件名.bz2
bzmore 文件名.bz2
bzless 文件名.bz2
# 查找压缩文件内容
bzgrep -n '目标字符' 文件名.bz2

2.2 选项

bzip2选项通过bzip2 -h命令查询,以下为部分选项:

选项详细说明
-cstdout将压缩/解压后文件输出到标准输出上,并保留原始文件不变
-ddecompress强制解压,相当于使用bunzip2
-kkeep保留原文件
-zcompress强制压缩,默认参数,可省略
-vverbose可视化压缩/解压信息,如压缩比
-hhelp打印帮助信息
-fforce覆盖已经存在的文件
-ttest测试压缩文件完整性
-qquiet抑制非关键性错误
-ssmall使用较少的内存,最多2500k
-Llicense打印许可证和版本
-Vversion打印许可证和版本
-##为数字,表示压缩等级,-1压缩最快压缩比最差,-9压缩最慢压缩比最好

2.3 用法

2.3.1 压缩文件且不保留原文件

$ echo "bzip2" > 1.txt # 新建1.txt文件,内容为"bzip2"
$ cat 1.txt # 查看1.txt文件内容
bzip2
$ ls
1.txt
$ bzip2 1.txt # 压缩1.txt文件
$ ls
1.txt.bz2

1.txt.bz2即压缩后的文件,原文件1.txt已经不存在

2.3.2 解压文件且不保留原文件

$ ls
1.txt.bz2
$ bzip2 -d 1.txt.bz2 # 使用-d选项表示解压
$ ls
1.txt

或者

$ ls
1.txt.bz2
$ bunzip2 1.txt.bz2 # 使用bunzip2解压,不推荐
$ ls
1.txt

2.3.3 压缩且保留原文件

>号将输出到标准输出的数据重定向到 >之后的文件中, 重命名压缩文件可以用这种方法

$ ls
1.txt
$ bzip2 -c 1.txt > 1.txt.bz2 # '>'号之后的文件名可以自定义
$ ls
1.txt  1.txt.bz2

或者

$ ls
1.txt
$ bzip2 -k 1.txt 
$ ls
1.txt  1.txt.bz2

2.3.4 解压且保留原文件

>号将输出到标准输出的数据重定向到 >之后的文件中, 重命名解压文件可以用这种方法

$ ls
1.txt.bz2
$ bzip2 -cd 1.txt.bz2 > 1.txt  # '>'号之后的文件名可以自定义
$ ls
1.txt  1.txt.bz2

或者

$ ls
1.txt.bz2
$ bzip2 -dk 1.txt.bz2 
$ ls
1.txt  1.txt.bz2

2.3.5 压缩/解压时显示信息

$ ls
1.txt
$ bzip2 -kv 1.txt 1.txt:    0.130:1, 61.333 bits/byte, -666.67% saved, 6 in, 46 out.
$ ls
1.txt  1.txt.bz2
$ rm 1.txt
$ bzip2 -dkv 1.txt.bz2 1.txt.bz2: done
$ ls
1.txt  1.txt.bz2

2.3.6 指定最佳压缩比

$ ls
1.txt
$ bzip2 -kv9 1.txt 1.txt:    0.130:1, 61.333 bits/byte, -666.67% saved, 6 in, 46 out.
$ ls
1.txt  1.txt.bz2

2.3.7 查看压缩文件内容

$ ls
1.txt  1.txt.bz2
$ bzcat 1.txt.bz2 
bzip2
$ bzmore 1.txt.bz2 
------> 1.txt.bz2 <------
bzip2
$ bzless 1.txt.bz2 
------> 1.txt.bz2 <------

2.3.8 查找压缩文件中的字符串

$ bzgrep -n 'bz' 1.txt.bz2 
1:bzip2

3. xz压缩/解压

总体来说,xz的使用方法和gzipbzip2大体相同,xz的压缩率更高,因此压缩同样一个文件,使用xz最费时但压缩后文件最小。

3.1 命令

Usage: xz [OPTION]... [FILE]...
# 压缩/解压
xz [dtlkc#] 文件名
# 查看压缩文件内容
xzcat 文件名.xz
xzmore 文件名.xz
xzless 文件名.xz
# 查找压缩文件内容
xzgrep -n '目标字符' 文件名.xz

3.2 选项

xz选项通过xz -h命令查询,以下为部分选项:

选项详细说明
-cstdout将压缩/解压后文件输出到标准输出上,并保留原始文件不变
-ddecompress强制解压,相当于使用unxz
-kkeep保留原文件
-zcompress强制压缩,默认参数,可省略
-vverbose显示压缩/解压过程中的一些信息,压缩时指定-vv将显示更多信息
-hhelp打印帮助信息
-Hlong-help显示更详细的帮助信息
-fforce覆盖已经存在的文件
-ttest测试压缩文件完整性
-llist显示.xz后缀文件的信息
-eextreme尝试通过使用更多的cpu时间获得更高的压缩率
-Tthreads=NUM最多使用线程数,默认为1,为0时使用尽可能多的线程
-qquiet抑制警告;指定两次以抑制错误
-Vversion打印版本号
-##为数字,表示压缩等级,-1压缩最快压缩比最差,-9压缩最慢压缩比最好

3.3 用法

3.3.1 压缩且不保留原文件

$ echo "xz tool" > 1.txt # 新建1.txt文件内容为"xz tool"
$ ls # 列出当前路径下文件
1.txt
$ xz 1.txt # 压缩文件
$ ls
1.txt.xz

3.3.2 解压文件且不保留原文件

$ ls
1.txt.xz
$ xz -d 1.txt.xz 
$ ls
1.txt

或者使用unxz命令解压,效果和xz -d相同

$ ls
1.txt.xz
$ unxz 1.txt.xz 
$ ls
1.txt

3.3.3 压缩且保留原文件

使用重定向方式重命名压缩文件

$ ls
1.txt
$ xz -c 1.txt > 1.txt.gz # '>'号之后的文件名可以自定义
$ ls
1.txt  1.txt.gz

或者使用-k保留原文件

$ ls
1.txt
$ xz -k 1.txt 
$ ls
1.txt  1.txt.xz

3.3.4 解压且保留原文件

使用重定向方式重命名解压文件

$ ls
1.txt.xz
$ xz -cd 1.txt.xz > 1.txt # '>'号之后的文件名可以自定义
$ ls
1.txt  1.txt.xz

或者使用-k保留原文件

$ ls
1.txt.xz
$ xz -dk 1.txt.xz # d表示解压,k表示保留原文件
$ ls
1.txt  1.txt.xz

3.3.5 压缩/解压时显示信息

$ ls
1.txt
$ xz -kv 1.txt 
1.txt (1/1)100 %                  64 B / 8 B = 8.000  
$ ls
1.txt  1.txt.xz
$ rm 1.txt
$ xz -dkv 1.txt.xz 
1.txt.xz (1/1)100 %                  64 B / 8 B = 8.000                                   
$ ls
1.txt  1.txt.xz

3.3.6 指定最佳压缩比

$ ls
1.txt
$ xz -kv9 1.txt 
1.txt (1/1)100 %                  64 B / 8 B = 8.000                                    
$ ls
1.txt  1.txt.xz

3.3.7 查看压缩文件内容

$ ls
1.txt  1.txt.xz
$ xzcat 1.txt.xz 
xz tool
$ xzmore 1.txt.xz 
------> 1.txt.xz <------
xz tool
$ xzless 1.txt.xz 

3.3.8 查找压缩文件中的字符串

$ ls
1.txt  1.txt.xz
$ xzgrep -n 'xz' 1.txt.xz 
1:xz tool

4. tar打包压缩

前面介绍的gzipbzip2xz命令只能压缩一个文件,而对于压缩整个目录或将多个文件压缩成一个文件就显得无能为力了,tar命令提供了这样一种功能:将多个文件或目录打包成一个文件,同时支持使用gzipbzip2xz命令对打包后的文件进行压缩,因此常见的后缀为.tar.gz.tar.bz2.tar.xz

4.1 命令

Usage: tar [OPTION...] [FILE]...
Examples:tar -cf archive.tar foo bar  # Create archive.tar from files foo and bar.tar -tvf archive.tar         # List all files in archive.tar verbosely.tar -xf archive.tar          # Extract all files from archive.tar.
# 打包与压缩
tar [-z][-j][-J] [cv] [-f 待建立的文件名] 文件名/目录列表...
# 查看文件名
tar [-z][-j][-J] [tv] [-f 已有的tar文件名]
# 解压缩
tar [-z][-j][-J] [xv] [-f 已有的tar文件名][-C 解压目录]

4.2 选项

[-z][-j][-J]分别表示有gzipbzip2xz的支持

tar选项通过tar --help命令查询,常用选项如下:

选项详细说明
-ccreate建立打包文件
-vverbose查看过程中被打包的文件名
-tlist查看打包文件的内容含有哪些文件
-xextract解压缩,搭配-C可指定解压目录,-c、-t、-x互斥
-C指定自定义的解压目录
-ffile=ARCHIVE-f后接立刻被处理的文件名
-zgzip通过gzip压缩(cz)/解压(xz),默认后缀.tar.gz
-jbzip2通过bzip2压缩(cj)/解压(xj),默认后缀.tar.bz2
-Jxz通过xz压缩(cJ)/解压(xJ),默认后缀.tar.xz
-ppreserve-permissions保留备份数据原本权限与属性,常用于备份(-c)的配置文件
-Pabsolute-names保留绝对路径,亦即允许备份数据中含有跟目录存在之意
–exclude=FILE压缩过程中,不要将FILE打包

4.3 用法

4.3.1 打包压缩目录

以借助gzip为例,假设当前目录下有3个目录a、b、c,每个目录下分别有一个.c文件,将当前目录打包压缩成union.tar.gz

$ ls
a  b  c
$ tree # 以树的形式列出当前目录结构,可用sudo apt install tree命令安装
.
├── a
│   └── a.c
├── b
│   └── b.c
└── c└── c.c3 directories, 3 files
$ tar -czv -f union.tar.gz ./
./
./c/
./c/c.c
./a/
./a/a.c
./b/
./b/b.c
tar: .: file changed as we read it
$ ls
a  b  c  union.tar.gz

将多个文件打包压缩成一个文件

$ ls
union.tar.gz
$ touch {a..e}.txt # 新建a.txt b.txt c.txt d.txt e.txt文件
$ ls
a.txt  b.txt  c.txt  d.txt  e.txt  union.tar.gz
$ tar -czv -f a-e.tar.gz {a..e}.txt
a.txt
b.txt
c.txt
d.txt
e.txt
$ ls
a-e.tar.gz  a.txt  b.txt  c.txt  d.txt  e.txt  union.tar.gz

4.3.2 查看压缩文件

$ ls
a-e.tar.gz  union.tar.gz
$ tar -tv -f a-e.tar.gz 
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:55 a.txt
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:55 b.txt
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:55 c.txt
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:55 d.txt
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:55 e.txt
$ tar -tv -f union.tar.gz 
drwxrwxr-x ryan/ryan         0 2020-11-22 02:49 ./
drwxrwxr-x ryan/ryan         0 2020-11-22 02:50 ./c/
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:50 ./c/c.c
drwxrwxr-x ryan/ryan         0 2020-11-22 02:50 ./a/
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:50 ./a/a.c
drwxrwxr-x ryan/ryan         0 2020-11-22 02:50 ./b/
-rw-rw-r-- ryan/ryan         0 2020-11-22 02:50 ./b/b.c

4.3.3 解压打包压缩文件

解压到当前目录

$ ls
a-e.tar.gz  union.tar.gz
$ tar -xzv -f a-e.tar.gz 
a.txt
b.txt
c.txt
d.txt
e.txt
$ ls
a-e.tar.gz  a.txt  b.txt  c.txt  d.txt  e.txt  union.tar.gz
$ tar -xzv -f union.tar.gz 
./
./c/
./c/c.c
./a/
./a/a.c
./b/
./b/b.c
$ ls
a  a-e.tar.gz  a.txt  b  b.txt  c  c.txt  d.txt  e.txt  union.tar.gz

解压到指定目录,这里解压到当前目录新建的tmp目录

$ ls
a-e.tar.gz  union.tar.gz
$ mkdir tmp 
$ ls
a-e.tar.gz  tmp  union.tar.gz
$ tar -xzv -f union.tar.gz -C tmp/ # 将union.tar.gz解压缩到当前目录的tmp/目录下
./
./c/
./c/c.c
./a/
./a/a.c
./b/
./b/b.c
$ ls tmp/
a  b  c
$ tar -xzv -f a-e.tar.gz -C tmp/ # 将a-e.tar.gz解压缩到当前目录的tmp/目录下     
a.txt
b.txt
c.txt
d.txt
e.txt
$ ls tmp/
a  a.txt  b  b.txt  c  c.txt  d.txt  e.txt

5. zip压缩解压

zip命令兼容windows系统的zip格式,前面介绍的gzipbzip2xz均不能整个压缩目录,zip命令提供了这样的支持,但zip命令不提供查看文件内容的支持。压缩用zip命令,解压用unzip命令。

5.1 命令

Usage:
zip [-options] [-b path] [-t mmddyyyy] [-n suffixes] [zipfile list] [-xi list]
Usage: 
unzip [-Z] [-opts[modifiers]] file[.zip] [list] [-x xlist] [-d exdir]
# 压缩
zip [-qr] 压缩文件名.zip 源文件/源目录 
# 解压
unzip 压缩文件名.zip
unzip 压缩文件名.zip -d 解压路径 #指定解压路径

5.2 选项

zip常用选项:

选项详细说明
-qquiet operation静默压缩、解压
-rrecurse into directories递归操作,压缩目录时使用
-Ttest zipfile integrity测试文件完整性

unzip常用选项:

选项详细说明
-llist files查看压缩文件中的文件列表
-dextract files into exdir指定解压路径

5.3 用法

5.3.1 压缩文件

压缩当前目录

$ ls
tmp
$ tree tmp/ # 列出tmp目录结构
tmp/
├── a
│   └── a.c
├── a.txt
├── b
│   └── b.c
├── b.txt
├── c
│   └── c.c
├── c.txt
├── d.txt
└── e.txt3 directories, 8 files
$ zip -qr tmp.zip tmp/ # 压缩当前目录下tmp目录到tmp.zip文件,目录需要-r
$ ls
tmp  tmp.zip

5.3.2 解压文件

解压到当前文件夹

$ ls
tmp.zip
$ unzip tmp.zip 
Archive:  tmp.zipcreating: tmp/extracting: tmp/a.txt               creating: tmp/c/extracting: tmp/c/c.c               extracting: tmp/c.txt               creating: tmp/a/extracting: tmp/a/a.c               extracting: tmp/d.txt               creating: tmp/b/extracting: tmp/b/b.c               extracting: tmp/e.txt               extracting: tmp/b.txt               
$ ls
tmp  tmp.zip
$ tree tmp
tmp
├── a
│   └── a.c
├── a.txt
├── b
│   └── b.c
├── b.txt
├── c
│   └── c.c
├── c.txt
├── d.txt
└── e.txt3 directories, 8 files

解压到指定文件夹,文件夹不存在时自动创建

$ unzip tmp.zip -d extrac/
Archive:  tmp.zipcreating: extrac/tmp/extracting: extrac/tmp/a.txt        creating: extrac/tmp/c/extracting: extrac/tmp/c/c.c        extracting: extrac/tmp/c.txt        creating: extrac/tmp/a/extracting: extrac/tmp/a/a.c        extracting: extrac/tmp/d.txt        creating: extrac/tmp/b/extracting: extrac/tmp/b/b.c        extracting: extrac/tmp/e.txt        extracting: extrac/tmp/b.txt        
$ ls 
extrac  tmp  tmp.zip
$ tree extrac/
extrac/
└── tmp├── a│   └── a.c├── a.txt├── b│   └── b.c├── b.txt├── c│   └── c.c├── c.txt├── d.txt└── e.txt4 directories, 8 files

5.3.3 查看压缩文件结构

$ unzip -l tmp.zip 
Archive:  tmp.zipLength      Date    Time    Name
---------  ---------- -----   ----0  2020-11-22 03:23   tmp/0  2020-11-22 02:55   tmp/a.txt0  2020-11-22 03:23   tmp/c/0  2020-11-22 02:50   tmp/c/c.c0  2020-11-22 02:55   tmp/c.txt0  2020-11-22 03:23   tmp/a/0  2020-11-22 02:50   tmp/a/a.c0  2020-11-22 02:55   tmp/d.txt0  2020-11-22 03:23   tmp/b/0  2020-11-22 02:50   tmp/b/b.c0  2020-11-22 02:55   tmp/e.txt0  2020-11-22 02:55   tmp/b.txt
---------                     -------0                     12 files

6. 小结

  1. 本文主要总结了gzipbzip2xz以及tar命令的常见用法,就压缩率来说xz>bzip2>gzip,就压缩时间来说gzip<bzip2<xz,这3个命令只能压缩单个文件;
  2. tar命令提供了先将多个文件/目录打包,而后调用gzipbzip2xz工具进行压缩的功能,是文件归档、压缩的常用工具;
  3. 最后补充了linux系统zip命令压缩/解压的常见用法,zip命令使用-r选项可以直接压缩目录,zip命令暂时发现用得比较少;
  4. gzipbzip2xz比较后,不难发现对三者的操作是类似的,掌握了一个,其他两个也就掌握了,tar命令的常用选项也就那么一两个,熟能生巧,多用几次就记住了,实在记不住,还可以查命令帮助手册。

这篇关于linux压缩归档命令gzip、bzip2、xz、tar、zip详解的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/920506

相关文章

Linux之systemV共享内存方式

《Linux之systemV共享内存方式》:本文主要介绍Linux之systemV共享内存方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、工作原理二、系统调用接口1、申请共享内存(一)key的获取(二)共享内存的申请2、将共享内存段连接到进程地址空间3、将

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Java Stream流使用案例深入详解

《JavaStream流使用案例深入详解》:本文主要介绍JavaStream流使用案例详解,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录前言1. Lambda1.1 语法1.2 没参数只有一条语句或者多条语句1.3 一个参数只有一条语句或者多

SpringBoot整合mybatisPlus实现批量插入并获取ID详解

《SpringBoot整合mybatisPlus实现批量插入并获取ID详解》这篇文章主要为大家详细介绍了SpringBoot如何整合mybatisPlus实现批量插入并获取ID,文中的示例代码讲解详细... 目录【1】saveBATch(一万条数据总耗时:2478ms)【2】集合方式foreach(一万条数

快速修复一个Panic的Linux内核的技巧

《快速修复一个Panic的Linux内核的技巧》Linux系统中运行了不当的mkinitcpio操作导致内核文件不能正常工作,重启的时候,内核启动中止于Panic状态,该怎么解决这个问题呢?下面我们就... 感谢China编程(www.chinasem.cn)网友 鸢一雨音 的投稿写这篇文章是有原因的。为了配置完

使用Python实现矢量路径的压缩、解压与可视化

《使用Python实现矢量路径的压缩、解压与可视化》在图形设计和Web开发中,矢量路径数据的高效存储与传输至关重要,本文将通过一个Python示例,展示如何将复杂的矢量路径命令序列压缩为JSON格式,... 目录引言核心功能概述1. 路径命令解析2. 路径数据压缩3. 路径数据解压4. 可视化代码实现详解1

Python装饰器之类装饰器详解

《Python装饰器之类装饰器详解》本文将详细介绍Python中类装饰器的概念、使用方法以及应用场景,并通过一个综合详细的例子展示如何使用类装饰器,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录1. 引言2. 装饰器的基本概念2.1. 函数装饰器复习2.2 类装饰器的定义和使用3. 类装饰

MySQL 中的 JSON 查询案例详解

《MySQL中的JSON查询案例详解》:本文主要介绍MySQL的JSON查询的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql 的 jsON 路径格式基本结构路径组件详解特殊语法元素实际示例简单路径复杂路径简写操作符注意MySQL 的 J

Python ZIP文件操作技巧详解

《PythonZIP文件操作技巧详解》在数据处理和系统开发中,ZIP文件操作是开发者必须掌握的核心技能,Python标准库提供的zipfile模块以简洁的API和跨平台特性,成为处理ZIP文件的首选... 目录一、ZIP文件操作基础三板斧1.1 创建压缩包1.2 解压操作1.3 文件遍历与信息获取二、进阶技