Linux-压缩/解压缩命令
2024-10-20 01:42:11
Linux系统中常见的压缩包格式
格式 | 压缩工具 |
---|---|
.zip | zip压缩工具 |
.gz | gzip压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.bz2 | bzip2压缩工具,只能压缩文件,会删除源文件(通常配合tar使用) |
.tar.gz | 先使用tar命令归档打包,然后使用gzip压缩 |
.tar.bz2 | 先使用tar命令归档打包,然后使用bzip压缩 |
gzip 压缩命令
1.gzip只能压缩文件,不能压缩目录
2.gzip压缩文件之后,源文件会消失
3.gzip解压文件之后,压缩包会消失
4.gzip压缩文件,后面可以跟多个文件名,但每个文件单独压缩
5.使用zcat可以查看压缩包中文件的内容
6.源文件和压缩包在同路径下
# 单个文件压缩
[root@localhost ~]# gzip file1
# 多个文件压缩
[root@localhost ~]# gzip file2 file3
# 解压
[root@localhost ~]# gzip -d file1.gz
# 查看文件类型
[root@localhost ~]# file file1.gz
zip 压缩命令
1.压缩文件,源文件不消失
2.zip解压后,如果目录下存在和压缩包内相同的文件,询问是否覆盖
3.zip压缩目录,如果不加选项,只能打包空目录,除非加-r
4.如果打包的绝对路径
,那么会把绝对路径的内容全部打包进去
,但删除/
,
在哪个目录下执行压缩,就在哪个目录下打包,解压缩的时候,也会在当前目录下解压
例子:zip -r rc.d.zip /etc/init.d/
,会以etc/init.d/
的路径格式打包,解压缩后,在当前目录会有一个etc目录、内含init.d子目录。
# zip : 行李箱 衣服...
# Usage:zip [option] [包名] [文件/目录]...
-r:递归打包
-q:不输出打包过程
# 打包单个文件
[root@localhost ~]# zip f.zip file1
# 打包多个文件
[root@localhost ~]# zip f.zip file1 file8
打包完file1 file8 以后
[root@localhost ~]# zip f.zip file9 file10
[root@localhost ~]# cd /data/ && unzip f.zip
f.zip中 包括了file1 file8 file9 file10
也就是说可以无限继续添加压缩的文件内容
# 打包目录
[root@localhost ~]# zip -r wqh_dir.zip /root/wqh_dir
tar 压缩命令(归档)
1.解压缩文件时,如果当前目录有源文件,会直接覆盖,不会提示(较危险),而unzip会提示。
2.一般命名压缩包后缀名tar.gz
的简化写法==>tgz
。
# tar 归档
用法: tar [选项...] [包名] [文件/目录]...
[root@wqh06 ~]# tar zcf /root/opt.tgz /opt
tar: Removing leading `/' from member names
c:创建新的归档文件(create)
x:解压归档文件
f:指定包文件名(行李箱),如果是多个选项,f一定要放在最后
v:显示过程
z:归档之后使用gzip压缩
P:不删 `/`,使用绝对路径打包
t:查看压缩包中的压缩项目
C:指定解压路径
# 将tar.gz解压至其他目录
# [root@student ~]# tar xf /etc/local.tar.gz -C /tmp
j: .bz2文件压缩
J: .xz文件压缩
h:打包软链接
X:将要排除的目录或者文件,写到文件中,然后使用X指定该文件,即可排除
# 正确用法示例:
[root@wqh06 ~]# tar zcf X_test.tgz /root/dir -X /root/123.txt
cat /root/123.txt
/root/dir/1 # 生效,不推荐这么写,若前面想要打包的目录(/root/dir),不写绝对路径,这么写不会生效
2 # 生效,推荐这么写!不想加入压缩包的文件名(直接写文件名,何时都管用)
# 错误用法示例:
[root@wqh06 ~]# tar zcf X_test.tgz dir -X /root/123.txt
cat /root/123.txt
/root/dir/1 # 此时不生效
2 # 生效
--exclude:直接写要排除的文件或者目录
[root@wqh06 ~]# tar zcf exclude.tgz /etc --exclude=/etc/{hosts,rc.local}
最新文章
- IE10、IE11和Microsoft Edge的Hack
- 自定义刻度的SeekBar
- 两步验证Authy时间同步问题
- apache下自定义404错误页面
- RAR和ZIP:压缩大战真相
- sharepoint 2010 切换域
- mailx 乱码,sendmail发html邮件,脚本开机启动
- HUD-1142
- 【实习记】2014-08-22试用SSH客户端XShell与SecuretyCRT与MobaXterm总结
- 关于常用却忘记的css,jQuery
- Jsonp 解决跨域问题
- dos命令弹出对话框---Msg命令详解
- iframe自适应高度处理方案
- 从事务角度粗窥架构的可扩展性和可维护性:内容整理自java web轻量级开发面试教程
- iot会议纪要 20180105
- VUE iview date-picker取时间范围...
- JavaScript if 条件语句
- 如何让Excel单元格中的名字分散对齐
- RHEL7调图形化
- PAT甲题题解-1088. Rational Arithmetic (20)-模拟分数计算
热门文章
- Windows系统使用运行框运行程序
- CMU数据库(15-445)Lab0-环境搭建
- fsutil比较有用的几个命令
- 解决ubuntu获取root账号并开通ssh
- MySQL全面瓦解21(番外):一次深夜优化亿级数据分页的奇妙经历
- 每月一更的《HelloGitHub》第 58 期,来啦!
- jQuery 移入显示div,移出当前div,移入到另一个div还是显示。
- Golang拼接字符串的5种方法及其效率_Chrispink-CSDN博客_golang 字符串拼接效率 https://blog.csdn.net/m0_37422289/article/details/103362740
- 理解 async/await以及对Generator的优势
- Codeforces 1220D 思维 数学 二分图基础