第九节 文件的归档和压缩 9.1 tar命令进行文件的归档和压缩 在日常使用windows操作系统常用压缩软件是winrar或是360压缩等 在linux中有免费更加方便的压缩工具,下面我们一起了解一下吧 9.1.1 tar命令的常用方法 常用打包压缩的软件 zip 压缩包扩展名是.gz bzip2 压缩包扩展名是.bz2 xz 压缩包扩展名是.xz 1)从压缩比率来说: xz > bzip2 > gz 也就是相同文件或文件夹最后生成压缩文件大小 2)从压缩时间来说: xz > bzip2 > gz 压缩越小耗费的时间越多 zip最小化安装的时候自带,bzip2与xz需要安装 [root@node-1 ~]# yum -y install bzip2 xz RHCSA有道题目就是考查tar+bzip2结合使用 9.1.2压缩文件 -c:创建 -v:显示详细信息 -f:后面跟保存文件名与路径 -z:使用zip来压缩 -j:使用bzip2来压缩 -J:使用xz来压缩 例1:压缩/etc目录以达到备份的目的 加入time参数可以更直观看到压缩时间 [root@node-1 ~]# time tar -zcvf /opt/etc.tar.gz /etc/ real 0m2.076s user 0m0.759s sys 0m1.373s
[root@node-1 ~]# time tar -jcvf /opt/etc.tar.bz2 /etc/ real 0m4.767s user 0m3.906s sys 0m1.050s
[root@node-1 ~]# time tar -Jcvf /opt/etc.tar.xz /etc/ real 0m20.423s user 0m17.309s sys 0m3.623s 从上面可以清楚看到时间上的不同
[root@node-1 ~]# ll -h /opt total 28M -rw-r--r-- 1 root root 9.4M Feb 15 19:38 etc.tar.bz2 -rw-r--r-- 1 root root 11M Feb 15 19:37 etc.tar.gz -rw-r--r-- 1 root root 7.7M Feb 15 19:39 etc.tar.xz 从上面可以清楚看到压缩比率的不同
9.1.3 解压文件 -x :解压文件,默认是当前目录 -C 目录 :解压文件到特定目录 例2:解压文件 [root@node-1 opt]# tar -zxvf etc.tar.gz [root@node-1 opt]# tar -zxvf etc.tar.gz -C /root/
在不完成解压缩的过程也可以直接查看 -t:不解压查看压缩后文件内容
9.2 其他类型文件管理 9.2.1file命令的使用 file命令的作用是确定文件类型 用法:file 文件名 注:windows当中以缀名来确定文件类型;linux系统不根据后缀名识别文件类型 用file命令查看文件的类型 例3:用法说明 [root@node-1 opt]# file /etc/passwd /opt/etc.tar.gz /etc/passwd: ASCII text /opt/etc.tar.gz: gzip compressed data, from Unix, last modified: Sat Feb 15 19:37:24 2020 9.2.2 按一定规则排序查看文件 查看文件:加不同参数可以根据不同需求查看文件 -l:长列表形式显示 -t:按时间从新到旧的方式排序 -r:倒序排列,默认是由大到小排列加-r参数后就是从小到大排列 -S:以文件大小从大到小排列 -h:以人类可以看懂的方式排列 例4:各种参数的组合使用 [root@node-1 opt]# df -hT Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 1.9G 0 1.9G 0% /dev tmpfs tmpfs 1.9G 0 1.9G 0% /dev/shm tmpfs tmpfs 1.9G 12M 1.9G 1% /run tmpfs tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 18G 1.9G 16G 11% / /dev/sda1 xfs 497M 141M 357M 29% /boot tmpfs tmpfs 378M 0 378M 0% /run/user/0
[root@node-1 opt]# du -sh /opt/ 64M /opt/
[root@node-1 opt]# ll -Shr /etc 只留下最后几行说明一下效果 -rw-r--r-- 1 root root 7.2K Feb 13 16:05 kdump.conf -rw-r--r--. 1 root root 12K Feb 14 01:20 aliases.db -rw-r--r-- 1 root root 26K Feb 13 16:07 ld.so.cache -rw-r--r-- 1 root root 27K Oct 19 00:01 dnsmasq.conf -rw-r--r-- 1 root root 655K Jun 7 2013 services 9.2.3sort命令的常用方法 sort作用是以特定顺序查看文件内容,不加参数默认按字母规则进行排序 -n:按照数字大小排列 -r:按照倒序进行排列 -t:指定间隔字符 -k:后面跟数字,间隔字符分开的第几列 例5: [root@node-1 opt]# sort passwd adm:x:3:4:adm:/var/adm:/sbin/nologin bin:x:1:1:bin:/bin:/sbin/nologin .... wangtao:x:1000:1000::/home/wangtao:/bin/bash wt:x:1101:1101::/opt/wt:/bin/bash
[root@node-1 opt]# cp /etc/passwd . [root@node-1 opt]# sort -t ":" -k3 -n -r passwd oracle:x:1200:1100::/opt/oracle:/bin/bash marry:x:1102:1100::/home/marry:/bin/bash wt:x:1101:1101::/opt/wt:/bin/bash ...... 说明:以:为间隔符,对第三列按从小到大的顺序显示,不加参数n会在比较大小时遇到问题 如: [root@node-1 opt]# sort -t ":" -k3 -r passwd nobody:x:99:99:Nobody:/:/sbin/nologin systemd-bus-proxy:x:999:997:systemd Bus Proxy:/:/sbin/nologin polkitd:x:997:995:User for polkitd:/:/sbin/nologin postfix:x:89:89::/var/spool/postfix:/sbin/nologin