5个Linux归档命令

归档命令允许你将多个文件和目录捆绑到压缩归档文件中,以方便移植和存储。Linux 中常见的压缩包格式包括 .tar.gz.zip

1. tar -- 从归档文件中存储和提取文件

tar 命令可帮助你处理磁带归档文件(.tar)。它可以帮助你将多个文件和目录捆绑到一个压缩的 .tar 文件中。

语法:

bash 复制代码
tar [options] filename

有用的 tar 选项:

  • c -- 创建一个新的 .tar 压缩文件。
  • x -- 从 .tar 压缩文件中提取文件。
  • f -- 指定存档文件名,而不是 stdin/stdout。
  • v -- 显示归档文件的详细输出。
  • z -- 使用 gzip 压缩或解压缩压缩包。

例子:

bash 复制代码
tar -cvzf images.tar.gz /home/user/images
# tar -xvzf images.tar.gz

这会创建一个名为 images.tar.gz 的 gzip 压缩文件,其中包含 /home/user/images 文件夹。

2. gzip -- 压缩或扩展文件

gzip 命令使用 LZ77 编码压缩文件,以减小存储或传输文件的大小。使用 gzip,你可以处理 .gz 文件。

默认只能压缩文件,压缩文件夹用-r file/,默认压缩后的文件名比压缩的文件名多了一个。gz,想指定压缩文件名用-c flienname > output.gz。

语法:

bash 复制代码
gzip [options] filename

有用的 gzip 选项:

  • c -- 将输出写入 stdout,而不是文件。
  • d -- 解压缩文件,而不是压缩文件。
  • r -- 对目录进行递归压缩。
bash 复制代码
[root@xx test]# ls
linux66.txt
[root@xx test]# gzip linux66.txt 
[root@xx test]# ls
linux66.txt.gz

[root@xx test2]# ls test2
linux66.txt  linux.txt
[root@xx test2]# gzip -r ../test2 
[root@xx test2]# ll test2
linux66.txt.gz  linux.txt.gz

例子:

bash 复制代码
gzip -cr documents/

上述命令递归压缩 documents 文件夹并输出到 stdout。

gzip 命令的 -c 选项非常有用,它允许将压缩后的内容输出到标准输出(stdout),而不是将其写入一个文件。这在某些情况下非常方便,特别是当你想要将压缩的数据流直接传递给其他命令或进程时。

bash 复制代码
#gzip -c filename > output.gz
[root@xx test]# gzip -c linux.txt > linux.txt.gz
#等同 gzip linux.txt

你还可以将压缩后的内容通过管道(pipe)传递给其他命令。例如,以下命令将压缩一个文件并将其输入传递给 cat 命令,以显示压缩后的内容:

bash 复制代码
#gzip -c filename | cat
[root@xx test]# gzip -c linux.txt | cat
񜣃linux.txt+I-.Q06PP᱈Ήȗ°42}2򈩔,L¸೤=

这个示例中,gzip -c filename 将压缩的结果传递给了管道(|),管道将这个结果作为输入传递给 cat 命令。cat 命令会将压缩后的内容显示在终端上。

3. gunzip -- 解压缩文件

gunzip 命令用于解压缩 .gz 文件。

语法:

bash 复制代码
gunzip filename.gz

例子:

bash 复制代码
gunzip documents.tar.gz

上述命令将提取 documents.tar.gz 未压缩的原始内容。

4. zip -- 打包和压缩文件

zip 命令用于创建包含压缩文件内容的 .zip 归档文件。

语法:

bash 复制代码
zip [options] archive.zip filenames

有用的 zip 选项:

  • r -- 递归压缩一个目录。
  • e -- 使用密码加密内容。

例子:

bash 复制代码
zip -re images.zip pictures

将图片文件夹加密并压缩为 images.zip。

5. unzip -- 从 ZIP 档案中提取文件

与 gunzip 类似, unzip 命令可从 .zip 压缩文件中提取和解压缩文件。

unzip命令允许您从终端提取.zip文件的内容。同样,默认情况下可能不会安装此软件包,因此请确保使用package管理器安装它。

语法:

bash 复制代码
unzip archive.zip

例子:

bash 复制代码
unzip images.zip

上述示例命令提取了当前目录下 images.zip 中的所有文件。

相关推荐
不是三毛没有半39 分钟前
Centos 7 安装wget
linux
叫我龙翔1 小时前
【计网】实现reactor反应堆模型 --- 多线程方案优化 ,OTOL方案
linux·运维·网络
mit6.8241 小时前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构
WangYaolove13141 小时前
请解释Python中的装饰器是什么?如何使用它们?
linux·数据库·python
7yewh2 小时前
嵌入式硬件实战提升篇(一)-泰山派RK3566制作多功能小手机
linux·arm开发·驱动开发·嵌入式硬件·物联网·智能手机·硬件架构
YRr YRr2 小时前
ubuntu ros 解决建完图后 保存的地图非常小的问题
linux·运维·ubuntu
脸ル粉嘟嘟3 小时前
常用命令之Linux&Oracle&Hive&Python
linux·hive·oracle
Wils0nEdwards3 小时前
Leetcode 整数转罗马数字
linux·python·leetcode
五味香4 小时前
Linux学习,ip 命令
linux·服务器·c语言·开发语言·git·学习·tcp/ip
朱容君5 小时前
Linux系统编程多线程之读写锁讲解
linux·开发语言