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

相关推荐
云计算练习生10 小时前
linux shell编程实战 10 Git工具详解与运维场景实战
linux·运维·git
虚伪的空想家12 小时前
KVM的ubuntu虚机如何关闭安全启动
linux·安全·ubuntu
t1987512818 小时前
在Ubuntu 22.04系统上安装libimobiledevice
linux·运维·ubuntu
skywalk816318 小时前
linux安装Code Server 以便Comate IDE和CodeBuddy等都可以远程连上来
linux·运维·服务器·vscode·comate
晚风吹人醒.19 小时前
缓存中间件Redis安装及功能演示、企业案例
linux·数据库·redis·ubuntu·缓存·中间件
Hard but lovely19 小时前
linux: pthread库的使用和理解
linux
这儿有一堆花21 小时前
Kali Linux:探测存活到挖掘漏洞
linux·运维·服务器
松涛和鸣21 小时前
从零开始理解 C 语言函数指针与回调机制
linux·c语言·开发语言·嵌入式硬件·排序算法
皮小白1 天前
ubuntu开机检查磁盘失败进入应急模式如何修复
linux·运维·ubuntu
邂逅星河浪漫1 天前
【CentOS】虚拟机网卡IP地址修改步骤
linux·运维·centos