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 中的所有文件。

相关推荐
Mr'liu1 分钟前
MongoDB 7.0 副本集高可用部署
linux·mongodb
文静小土豆35 分钟前
Rocky Linux 二进制 安装K8S-1.35.0高可用集群
linux·运维·kubernetes
暮云星影1 小时前
二、linux系统 应用开发:整体Pipeline流程
linux·arm开发
weixin_430750932 小时前
OpenMediaVault debian Linux安装配置企业私有网盘(三) 静态ip地址配置
linux·服务器·debian·nas·网络存储系统
403240732 小时前
[Jetson/Ubuntu 22.04] 解决挂载 exFAT 硬盘报错 “unknown filesystem type“ 及只读权限问题的终极指南
linux·运维·ubuntu
Source.Liu3 小时前
【沟通协作软件】使用 Rufus 制作 Ubuntu 启动盘的详细过程
linux·ubuntu
Love丶伊卡洛斯3 小时前
Ubuntu 部署 STUN服务端
linux·运维·ubuntu
梁洪飞3 小时前
通过链接文件和Start.S学习armv7
linux·arm开发·嵌入式硬件·学习·arm
DN金猿3 小时前
使用ubuntu安装nginx时报错
linux·nginx·ubuntu
小赵还有头发3 小时前
安装Ceres与glog
linux·学习·无人机·ceres·glog