1.tar:文件的归档(打包)和压缩
优点 :节约硬盘的资源 ,加快文件传输速率
用法:tar [选项] 压缩后生成文件 打包文件
参数:
-c:创建文件 打包
-x:提取 解压还原文件 解包
-v:显示执行详细过程
-f:指定备份文件 打 解都要
-t:列出压缩包中包括哪些文件,不解包,查看包中的内容
-C大:指定解压位置
例1:对/boot/grub 目录打包并解包。 去掉就是相对路径
[root@localhost ~]# tar -cvf ./grub.tar /boot/grub/
或:
[root@localhost ~]# tar cvf ./grub.tar /boot/grub/
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@localhost ~]# ls ./gurb.tar
[root@localhost ~]# tar -xvf ./grub.tar #解压缩
boot/grub/
boot/grub/splash.xpm.gz
[root@localhost ~]# ls ./boot #得到 boot 目录例 1:指定解压位置 -C
[root@localhost ~]# tar xvf ./grub.tar.bz2 -C /opt/
tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
[root@localhost ~]# ls /opt/
boot
例 2:把两个目录或目录+文件打包成一个软件包:[root@localhost ~]# mkdir ./back
[root@localhost ~]# cp /etc/passwd back/
[root@localhost ~]# tar -cvf back.tar /boot/grub back/ /etc/passwd(目录文件都行)
(打包)(没写路径,在当前路径创建当前的 )存的目录back目录文件
Tar: 从成员名中删除开头的“/”
/boot/grub/
/boot/grub/splash.xpm.gz
back/
back/passwd
/etc/passwd
例3:在打包过程中跳过某个或多个文件。
- -exclude:指定跳过的文件。
[root@localhost ~]# cp /etc/passwd ./back/
[root@localhost ~]# cp -a /etc/fstab ./back/
[root@localhost ~]# cp -a /etc/shadow ./back/
[root@localhost ~]# cp -a /etc/group ./back/ 跳过
#创建目录和目录下文件。[root@localhost ~]# tar - -exclude /root/back/group -cvf /root/back.tar /root/back/
#在打包过程中指定跳过group文件。
例 4:不解包,查看 tar 中的内容:
[root@localhost ~]# tar -tvf ./grub.tar
tar 归档+压缩:部分软连接会失效
常用参数:
-z:以 gzip 方式压缩 扩展名: tar.gz 最后
-j:以 bz2 方式压缩 扩展名:tar.bz2 其次
-J:以 xz 方式压缩 扩展名:tar.xz 压缩最省空间
例 1:创建.tar.gz 包
[root@localhost ~]# tar -cvf ./etc.tar /etc
[root@localhost test]# tar -zcvf ./etc.tar.gz /etc
[root@localhost test]# tar -zxvf ./etc.tar.gz
例 2:创建.tar.bz2 包
[root@localhost ~]# tar -jcvf ./etc.tar.bz2 /etc
[root@localhost ~]# tar -jxvf ./etc.tar.bz2
#解压缩
[root@localhost ~]# tar jxvf ./etc.tar.bz2 -C /opt #解压到 opt 目录下
例 3:创建.tar.xz 包
[root@localhost ~]# tar -Jcvf ./etc.tar.xz /etc
[root@localhost ~]# tar -xvf ./etc.tar.xz
对比三种压缩方式后压缩比例:
[root@localhost ~]# ll -h ./etc.tar*
#du -sh /etc 递归统计目录大小 ,只显示第一层目录大小
2.zip 管理压缩文件 最慢, 会把目录里的软链接指向源文件下载压缩
zip 软件包解压缩命令:
zip 是压缩程序,unzip 是解压程序。
例 1:压缩文件:
例 2:将所有.jpg 的文件压缩成一个 zip 包
[root@localhost ~]# zip ./all.zip *.jpg
例 3:压缩一个目录
[root@localhost ~]# zip -r ./grub.zip /boot/grub
解压缩:
-d:指定解压目录。
[root@localhost ~]# unzip ./grub.zip
[root@localhost ~]# unzip ./grub.zip -d /opt/
3.file 命令
作用:确定文件类型,哪种压缩方式
用法: file /etc/passwd
注:linux 系统不根据后缀名识别文件类型
用 file 命令查看文件的类型。
[root@localhost ~]# file /etc/passwd
/etc/passwd: ASCII text