大家好,欢迎来到IT知识分享网。
参考资料
- linux 压缩和解压缩命令gz、tar、zip、bz2
- tar命令 – 压缩和解压缩文件
⏹.gz 文件 压缩与解压缩
0.1 压缩
-k:压缩后保留原文件(默认源文件会被删除)-v:显示执行之后的详细信息
⏹压缩一个文件
gzip -kv newfile.csv # newfile.csv.gz
⏹压缩多个文件
gzip -kv newfile1.csv newfile2.csv # newfile1.csv.gz # newfile2.csv.gz
0.2 解压缩
-d:用来解压缩文件-k:如果不添加此配置项,文件解压缩之后,原始压缩文件会被删除
gzip -dkv newfile.csv_bk.gz # newfile.csv_bk
⏹使用gunzip命令解压文件后,原始的.gz文件会被删除(没有提供保留源文件的配置项)
gunzip newfile.csv.gz # newfile.csv
一. gzip命令
- 压缩后的文件后缀名为
.gz。 - 只能用于压缩单个文件,不能压缩文件夹。
| 配置项 | 说明 |
|---|---|
| -k | 保留源文件(默认情况下,源文件压缩后会被删除) |
| -r | 递归处理所有子文件(将文件夹中的所有子文件压缩为.gz) |
| -l | 显示压缩包内文件信息 |
| -v | 显示执行过程中详细信息 |
1.1 压缩
1.1.1 -k 压缩后保留源文件
⏹默认情况下,当文件被压缩后,源文件会被删除。
⏹使用 -k 配置项 可以在压缩后保留源文件
1.1.2 -l 查看压缩文件中的文件信息
1.1.3 -r 递归压缩文件夹中的所有文件
⏹无法压缩文件夹,但是可以递归压缩文件夹中的所有子文件
1.2 解压缩
- 使用
gunzip命令来解压缩,解压后,默认情况下,压缩包会被删除 - 使用
-k配置项来保留源文件
二. zip命令
2.1 zip 压缩
2.1.1 -r 压缩文件夹
⏹zip -r 压缩文件名.zip ./文件夹名/*
2.1.2 压缩文件夹中的指定文件
- 指定多个文件:
zip 压缩文件名.zip ./路径1/文件1 ./路径2/文件2 ... - 指定通配符:
zip 压缩文件名.zip ./路径/filename-2023*.txt
2.2 查看压缩文件内容
2.2.1 zipinfo 命令
2.2.1 unzip -l 命令
-l:显示压缩包内文件列表
2.3 unzip 解压缩
2.3.1 解压压缩包中的全部文件
-d:解压压缩包中的文件到指定路径
# 将out.zip文件解压到当前目录的temp文件夹下,若temp文件夹不存在,会新建 unzip -d ./temp out.zip
2.3.2 解压压缩包中的部分文件
fengyehong@ubuntu:~/jmw_work_space/$ ls -l -rw-rw-r-- 1 fengyehong fengyehong 910 Jun 25 03:53 output.zip drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:54 temp # 查看压缩包中的文件 fengyehong@ubuntu:~/jmw_work_space/$ unzip -l output.zip Archive: output.zip Length Date Time Name --------- ---------- ----- ---- 0 2024-06-25 03:52 001/ 0 2024-06-25 03:52 001/file2.txt 0 2024-06-25 03:52 001/file1.txt 0 2024-06-25 03:52 002/ 0 2024-06-25 03:52 002/fileA.txt 0 2024-06-25 03:52 002/fileB.txt --------- ------- 0 6 files # 解压压缩包中的部分文件到指定路径 fengyehong@ubuntu:~/jmw_work_space/$ unzip output.zip 001/file1.txt 002/fileB.txt -d ./temp Archive: output.zip extracting: ./temp/001/file1.txt extracting: ./temp/002/fileB.txt # 查看解压之后的部分文件 fengyehong@ubuntu:~/jmw_work_space/$ ls -l ./temp/ drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:55 001 drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:55 002 fengyehong@ubuntu:~/jmw_work_space/$ ls -l ./temp/* ./temp/001: -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 03:52 file1.txt ./temp/002: -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 03:52 fileB.txt
三. tar命令
-z:用gzip来压缩/解压缩文件(gzip)
-v:详细报告tar处理的文件信息(verbose)
-c:创建新的档案文件(create)
-C:解压到指定的目录
-x:解压缩文件或目录(extract)
-f:使用档案文件或设备,这个选项通常是必选的(file)
-t:显示压缩包的内容
3.1 压缩
⏹ 将指定路径下的文件压缩
tar -zvcf output.tar.gz ./business-content-1.csv ./business-content-2.csv
3.2 查看压缩包内容
⏹ 查看指定路径下压缩包中的文件
-t:显示压缩包的内容
tar -tzvf ./output.tar.gz
fengyehong@ubuntu:~/jmw_work_space/$ ls -l -rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gz fengyehong@ubuntu:~/jmw_work_space/$ fengyehong@ubuntu:~/jmw_work_space/$ tar -tzvf ./output.tar.gz drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./001/ -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file2.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./001/file3.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file1.txt drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./002/ -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileA.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./002/fileC.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileB.txt
3.3 解压缩
3.3.1 将整个压缩包解压到当前目录
tar -zvxf ./output.tar.gz
3.3.2 将压缩包中的部分文件解压到当前目录
tar -zxvf output.tar.gz ./001/file3.txt ./001/file2.txt
# 查看压缩文件中的信息 fengyehong@ubuntu:~/jmw_work_space/$ tar -tzvf ./output.tar.gz drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./001/ -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file2.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./001/file3.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:35 ./001/file1.txt drwxrwxr-x fengyehong/fengyehong 0 2024-06-25 02:37 ./002/ -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileA.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:37 ./002/fileC.txt -rw-rw-r-- fengyehong/fengyehong 0 2024-06-25 02:36 ./002/fileB.txt # 解压压缩包中的部分文件到当前目录 fengyehong@ubuntu:~/jmw_work_space/$ tar -zxvf output.tar.gz ./001/file3.txt ./001/file2.txt ./001/file2.txt ./001/file3.txt fengyehong@ubuntu:~/jmw_work_space/$ ls -l drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:33 001 -rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gz fengyehong@ubuntu:~/jmw_work_space/$ ls -l ./001 -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:35 file2.txt -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:37 file3.txt
3.3.3 将压缩包中的文件解压到指定目录
-C:解压到指定的目录
⏹将整个文件解压到指定目录
tar -zvxf ./15/output.tar.gz -C ./15/temp
⏹将部分文件解压到指定目录
tar -zxvf output.tar.gz -C ./temp ./001/file3.txt ./001/file2.txt
fengyehong@ubuntu:~/jmw_work_space/$ ls -l -rw-rw-r-- 1 fengyehong fengyehong 232 Jun 25 03:10 output.tar.gz drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:40 temp # 将部分文件解压到指定目录 fengyehong@ubuntu:~/jmw_work_space/$ tar -zxvf output.tar.gz -C ./temp ./001/file3.txt ./001/file2.txt ./001/file2.txt ./001/file3.txt # 查看解压的结果 fengyehong@ubuntu:~/jmw_work_space/$ ls -l ./temp/ drwxrwxr-x 2 fengyehong fengyehong 4096 Jun 25 03:40 001 fengyehong@ubuntu:~/jmw_work_space/$ ls -l ./temp/001 -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:35 file2.txt -rw-rw-r-- 1 fengyehong fengyehong 0 Jun 25 02:37 file3.txt
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/114385.html












