Linux文件的归档与压缩

时间:2022-06-29 16:20:40

转载:http://blog.csdn.net/luobing_csdn/article/details/66970119

1.文件归档命令tar

归档的好处:
 方便使用、查询、阅读
 易于管理 (批量删除文件)

为什么要压缩
如果直接传输会大量的占用流量带宽.导致公司的内网访问速度缓慢.
传输前压缩–传输后解压

文件压缩的好处
节约硬盘的资源.
加快文件传输的速率

用到的命令:tar
作用:打包、压缩文件;tar 文件是把几个文件和(或)目录集合在一个文件夹里。是创建备份和归档的最佳工具

[root@xuegod72 ~]# tar –help
[root@xuegod72 ~]# tar -cf archive.tar foo bar #将 foo bar 文件打包 成.tar
[root@xuegod72 ~]# tar -tvf archive.tar #列出 tar中的所有文件
[root@xuegod72 ~]# tar -xf archive.tar #提前或者释放 tar中的文件

打包
语法:tar [参数] 包的名称 目标文件/目录
参数:
 -c create创建文件
 -x 解压还原文件
 -v 显示执行详细过程
 -f 指定备份文件
 -t 列出备份文件内容
 -P(大写) 在使用绝对路径时,不移除文件名称前的根号,
 -C (大写) 指定解压位置
 -z 通过gzip进行压缩
 -j 通过bzip2解压缩

注意:在起包的名称的时候,后缀要根据你要压缩的类型添加相应的后缀

[root@xuegod72 mnt]# tar -cvf grub2.tar /boot/grub2/ –归档
[root@xuegod72 mnt]# tar -tvf grub2.tar|more –查看归档中的文件
[root@xuegod72 mnt]# tar -cvfP grub2.tar /boot/grub2/ –归档 根目录(危险,解压后可能覆盖根目录)
[root@xuegod72 mnt]# tar -xvf grub2.tar -C /usr/src/ –提取释放 -C 指定位置

在LINUX中,你如何来区别文件的类型、后缀
比如 sh 脚本 aa

file命令,查看文件类型
linux对于文件的扩展名没有像windows要求的那么严格,所以在使用linux的过程中经常会遇到有些文件根本就没有扩展名,哪么我们应该如何去判断没有扩展名的文件,到底是文件还是目录呢?
作用:确定文件类型
语法:file 文件名

[root@xuegod72 mnt]# file grub2.tar
[root@xuegod72 mnt]# file /etc/init.d/nginx

file 文件类型
Linux文件的归档与压缩

文件大小
对比文件的大小:
[root@xuegod72 mnt]# du -sh /boot/grub2/
[root@xuegod72 mnt]# ll -h /boot/grub2/

2. Linux文件压缩

压缩工具:gzip bzip2 zip tar
3.1 压缩格式
常见的压缩格式:gz、bz2、xz、zip、Z
格式(文件名格式): .tar.gz 或 .tgz
语法格式:tar zcvf newfile.tar.gz SOURCE

tar.gz格式
[root@xuegod72 mnt]# tar zcf grub2.tar.gz /boot/grub2 #打包压缩
[root@xuegod72 mnt]# tar zxf grub2.tar.gz #解压

tar.bz2格式
[root@xuegod72 mnt]# tar jcf grub2.tar.bz2 /boot/grub2 #打包压缩
[root@xuegod72 mnt]# tar jxf grub2.tar.bz2 #解压

rar格式
[root@xuegod72 mnt]# rar a grub2.rar /boot/grub2 #打包压缩
[root@xuegod72 mnt]# rar x grub2.tar.gz #解压

zip格式
[root@xuegod72 mnt]# zip -r grub2.zip /boot/grub2 #打包压缩
[root@xuegod72 mnt]# unzip grub2.tar.gz -d /tmp #解压

gzip格式
[root@xuegod72 mnt]# gzip grub2.tar #打包压缩
[root@xuegod72 mnt]# gzip -d grub2.tar.gz #解压

bzip2格式
[root@xuegod72 mnt]# bzip2 -k grub2.tar #打包压缩
[root@xuegod72 mnt]# bzip2 -d grub2.tar.bz2 #解压

xz格式
[root@xuegod72 mnt]# xz -zk grub2.tar #打包压缩
[root@xuegod72 mnt]# unxz -dk grub2.tar.xz #解压