【Linux笔记】压缩、解压文件的 4 种方式。tar、gzip、gunzip、zip、unzip、7z命令使用方法

目录

1、使用 tar 命令:

1.1. 压缩:

1.2. 解压:

1.3. tar 命令各参数含义

2. gzip、gunzip

gzip 命令:

压缩文件:

保留原始文件,创建压缩文件:

保留原始文件,显示压缩进度:

gunzip 命令:

解压文件:

保留压缩文件,创建原始文件:

保留压缩文件,显示解压进度:

3. zip、unzip

zip 命令:

压缩文件:

 

压缩目录及其内容:

保留原始文件,创建 ZIP 文件:

unzip 命令:

解压 ZIP 文件:

解压 ZIP 文件到指定目录:

列出 ZIP 文件内容:

压缩文件或目录:

使用 LZMA 算法创建 7z 文件:

使用不同的压缩算法:

解压缩文件:

解压缩 7z 文件:

解压缩到指定目录:

查看 7z 文件内容:

列出 7z 文件的内容:

我的其他博客


在Linux系统中,有多种方式可以用于压缩和解压文件。下面是使用常见命令的一些示例:

1、使用 tar 命令:

1.1. 压缩:
# 将多个文件或目录打包成一个 tar 包,-c 表示创建 tar 包,-v 表示显示详细信息,-f 表示指定文件名
tar -cvf filename.tar file1 file2 dir1

# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-z 表示使用 gzip 压缩,-f 表示指定文件名
tar -czf filename.tar.gz dir1

# 将一个目录及其子目录下的所有文件打包成一个 tar 包,-j 表示使用 bzip2 压缩,-f 表示指定文件名
tar -cjf filename.tar.bz2 dir1
1.2. 解压:
# 将一个 tar 包解压缩到指定目录下,-x 表示解压,-v 表示显示详细信息,-f 表示指定文件名
tar -xvf filename.tar -C /path/to/directory

# 将一个 gzip 压缩的 tar 包解压缩到指定目录下,-z 表示使用 gzip 解压缩
tar -zxvf filename.tar.gz -C /path/to/directory

# 将一个 bzip2 压缩的 tar 包解压缩到指定目录下,-j 表示使用 bzip2 解压缩
tar -jxvf filename.tar.bz2 -C /path/to/directory
1.3. tar 命令各参数含义

tar 命令是 Linux 下常用的打包和压缩工具,用于将多个文件或目录打包成一个 tar 包,也可以将一个 tar 包解压缩到指定的目录。tar 命令的各个参数的含义如下:

tar [选项] [文件名] [文件列表]

 其中,选项包括:

  • -c,--create:创建一个 tar 包。可以和 -f 参数一起使用,指定生成的 tar 包的文件名;
  • -x,--extract,--get:解包一个 tar 包。可以和 -f 参数一起使用,指定要解压缩的 tar 包的文件名;
  • -r,--append:将一个或多个文件追加到已存在的 tar 包的末尾。可以和 -f 参数一起使用,指定要追加的 tar 包的文件名;
  • -u,--update:仅将新于 tar 包中已有的文件或目录添加到 tar 包中。可以和 -f 参数一起使用,指定要更新的 tar 包的文件名;
  • -t,--list:列出一个 tar 包中包含的文件列表。可以和 -f 参数一起使用,指定要列出的 tar 包的文件名;
  • -f,--file=ARCHIVE:指定要操作的 tar 包的文件名;
  • -v,--verbose:在操作的过程中显示详细信息;
  • -z,--gzip,--ungzip:在 tar 包中使用 gzip 压缩;
  • -j,--bzip2:在 tar 包中使用 bzip2 压缩;
  • -C,--directory=DIR:指定解压缩到的目录。

例如,将多个文件或目录打包成一个 tar 包,可以使用以下命令:

tar -cvf filename.tar file1 file2 dir1

其中,-c 表示创建 tar 包,-v 表示显示详细信息,-f 后面跟着的是生成的 tar 包的文件名,file1 file2 dir1 是要打包的文件或目录列表。

将一个 tar 包解压缩到指定目录下,可以使用以下命令:

tar -xvf filename.tar -C /path/to/directory

其中,-x 表示解压缩,-v 表示显示详细信息,-f 后面跟着的是要解压缩的 tar 包的文件名,-C 后面跟着的是解压缩到的目录。

2. gzip、gunzip

gzipgunzip 是在 Linux 中用于压缩和解压缩文件的工具。gzip 使用 DEFLATE 压缩算法,而 gunzip 则用于解压缩经 gzip 压缩过的文件。以下是它们的详细介绍和使用指令:

gzip 命令:

压缩文件:
gzip filename

这将会创建一个名为 filename.gz 的压缩文件,并删除原始文件。

保留原始文件,创建压缩文件:
gzip -c filename > filename.gz

这会将原始文件压缩,并将压缩内容写入新的 filename.gz 文件,同时保留原始文件。

保留原始文件,显示压缩进度:
gzip -v filename

使用 -v 选项会显示压缩的详细信息,包括压缩比和进度。

gunzip 命令:

解压文件:
gunzip filename.gz

这会将 filename.gz 解压缩为原始文件,并删除压缩文件。

保留压缩文件,创建原始文件:
gunzip -c filename.gz > filename

这会将压缩文件解压缩,并将原始内容写入新的 filename 文件,同时保留压缩文件。

保留压缩文件,显示解压进度:
gunzip -v filename.gz

使用 -v 选项会显示解压缩的详细信息,包括解压缩比和进度。

这些命令可以用于单个文件的压缩和解压缩操作。如果要处理多个文件或者整个目录,建议使用 tar 命令结合 gzip 进行打包和压缩,以方便管理。

3. zip、unzip

zipunzip 是用于在 Linux 系统中创建和解压缩 ZIP 文件的命令行工具。

zip 命令:

压缩文件:
zip archive.zip file1 file2 file3

这将会创建一个名为 archive.zip 的 ZIP 压缩文件,包含指定的文件。

压缩目录及其内容:
zip -r archive.zip directory

使用 -r 选项,可以递归地将目录及其内容压缩为一个 ZIP 文件。

保留原始文件,创建 ZIP 文件:
zip -r - files | cat > archive.zip

这将会将文件和目录压缩,并将 ZIP 内容写入 archive.zip 文件,同时保留原始文件。

unzip 命令:

解压 ZIP 文件:
unzip archive.zip

这会将 archive.zip 解压缩到当前目录。

解压 ZIP 文件到指定目录:
unzip archive.zip -d /path/to/destination

使用 -d 选项,可以将 ZIP 文件解压缩到指定的目录。

列出 ZIP 文件内容:
unzip -l archive.zip

使用 -l 选项,可以列出 ZIP 文件的内容列表,包括文件名、压缩比等信息。

这些命令提供了灵活的选项,以满足不同的压缩和解压缩需求。可以通过 man zipman unzip 命令查看它们的详细文档以获取更多信息。

4、7z

7z 是一个用于创建和解压缩文件归档的命令行工具,支持多种压缩算法。以下是 7z 命令的一些常见用法:

压缩文件或目录:

使用 LZMA 算法创建 7z 文件:
7z a archive.7z file1 file2 dir1

这将会创建一个名为 archive.7z 的文件,包含指定的文件和目录,使用 LZMA 算法进行压缩。

使用不同的压缩算法:
7z a -tzip archive.zip file1 file2 dir1

使用 -t 选项可以指定不同的压缩算法,例如 zip

解压缩文件:

解压缩 7z 文件:
7z x archive.7z

这会将 archive.7z 解压缩到当前目录。

解压缩到指定目录:
7z x archive.7z -o/path/to/destination

使用 -o 选项,可以将文件解压缩到指定的目录。

查看 7z 文件内容:

列出 7z 文件的内容:
7z l archive.7z

使用 l 命令,可以列出 7z 文件的内容列表,包括文件名、压缩比等信息。

这些只是 7z 命令的一些常见用法。7z 还支持许多其他选项和压缩算法,你可以通过 man 7z 命令查看 7z 命令的详细文档以获取更多信息。

我的其他博客

简单介绍一些其他的树-CSDN博客

认识二叉树(详细介绍)-CSDN博客

正则表达式详细讲解-CSDN博客

低代码开发:创新之道还是软件开发的捷径?-CSDN博客

HTTP与HTTTPS的区别-CSDN博客

什么情况下会产生StackOverflowError(栈溢出)和OutOfMemoryError(堆溢出)怎么排查-CSDN博客

在多线程中sleep()和wait()的区别(详细)-CSDN博客

谈谈我对HashMap扩容机制的理解及底层实现-CSDN博客

堆排序详细讲解(一文足矣JAVA)-CSDN博客

原文地址:https://blog.csdn.net/AliceNo/article/details/134935657

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、信号(signal)、消息队列、共享内存、信号量、套接字(socket)。管道用于具有亲缘关系的进程间通信,有名管道的每个管道具有名字,使没有亲缘关系的进程间也可以通信。信号是比较复杂的通信方式,用于通知接受进程有某种事件发生,除
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别对整个系统的性能做统计,而进程级别则具体到进程,为每个进程维护统计信息。

按实现原理分,可分为基于计数器和跟踪以及剖析。含义如下:

计数器:内核维护的统计数据,通常为无符号整型,用于对发生的事件计数,比如,网络包接收计数器,磁
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书验证,详细追踪整个交互过程,可用于调用网络后端接口,诊断http和https网络服务故障。
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满、fd泄漏等问题。命令包括ping、fping、tcpdump、lsof、netstat、/proc/$pid/fd、du、grep、traceroute、dig。
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的进程数目,用uptime查看到负载很高,既有可能是CPU利用率高,也可能是大量在等待io的进程导致,用mpstat查看每个CPU的使用情况,查看CPU的使用率或者CPU花在等待io的时间,接着用pidstat定位具体的进程
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线程切换及中断切换,进程切换的开销较大,除了需要保存寄存器和程序计数器中的值还需保存全局变量、栈等到内存中,以便下次运行恢复,而同一进程中的线程切换开销会小很多,只需更新寄存器和线程独有的栈,共享资源如打开的文件、全局变量等无需切换,当硬件中
1.top命令 作用:该命令可以按CPU使用.内存使用和执行时间对任务进行排序,常用来监控系统中占用CPU或内存较高的程序及CPU和内存的负载。 默认视图: 当想看系统负载时,可观察汇总的%CPU中的us用户进程和sy系统进程是否占用CPU很高,相加接近100%就说明占用很高了,有些程序可能得不到及
文章浏览阅读1.8k次,点赞63次,收藏54次。Linux下的目录权限!!!粘滞位!!!超详解!!!
文章浏览阅读1.6k次,点赞44次,收藏38次。关于Qt的安装、Windows、Linux、MacBook_mack book 安装qt
本文介绍了使用shell脚本编写一个 Hello
文章浏览阅读1.5k次,点赞37次,收藏43次。【Linux】初识Linux——了解操作系统的发展历史以及初次体验Linux编程环境
文章浏览阅读3k次,点赞34次,收藏156次。Linux超详细笔记,个人学习时很认真的记录的,觉得好的麻烦点个赞。
文章浏览阅读6.8k次,点赞109次,收藏114次。【Linux】 OpenSSH_9.3p1 升级到 OpenSSH_9.5p1(亲测无问题,建议收藏)_openssh_9.5p1
文章浏览阅读3.5k次,点赞93次,收藏78次。初识Linux中的线程,理解线程的各种概念,理解进程地址空间中的页表转换,介绍pthread线程库并理解线程库!
文章浏览阅读863次。出现此问题为Linux文件权限问题,解决方案为回到引擎目录执行命令。输入用户密码后运行./UnrealEditor。_increasing per-process limit of core file size to infinity.
文章浏览阅读2.9k次。使用文本编辑器:打开CSV文件,并使用文本编辑器(如Notepad++、Sublime Text、Visual Studio Code等)来查看文件的字符编码格式。通常在编辑器的底部状态栏或设置中可以找到当前编码的显示。请注意,上述方法并非绝对准确,特别是当文件没有明确的编码标识时。因此,如果你发现CSV文件在不同的工具或方法中显示不同的编码格式,可能需要进行进一步的分析和判断,或者尝试使用不同的编码转换方法。该命令将输出文件的MIME类型和编码信息。使用命令行工具:在命令行中,你可以使用。_shell读取csv文件逐行处理
本文介绍了如何在Linux系统中升级gcc版本,以便更好地支持C++11及以上版本的新特性。通过升级gcc,可以提升编译器的功能和性能,获得更好的开发体验。详细的步骤和方法请参考原文链接。
文章浏览阅读4.4k次,点赞6次,收藏19次。Mosquitto是一个开源的MQTT消息代理服务器。MQTT是一个轻量级的、基于发布/订阅模式的消息传输协议。 mosquitto的安装使用比较简单,可以方便的来进行一些测试。_linux mosquitto
文章浏览阅读7.2k次,点赞2次,收藏12次。Linux中,用于根目录下有一个.ssh目录,保存了ssh相关的key和一些记录文件。_~/.ssh/
文章浏览阅读4.5k次,点赞5次,收藏18次。首先需要安装 snmp ,使用下面的命令进行安装安装完毕之后,使用下面的命令查看是否安装成功当命令行显示如图即为安装成功。_snmp工具