-文件的归档和压缩

卧疾丰暇豫,翰墨时间作。这篇文章主要讲述-文件的归档和压缩相关的知识,希望能为你提供帮助。
1.
tar 
-f --file指定备份文件
-t --list列出压缩包中包括哪些文件内容,不解包,查看包内容。
-C --directory指定解压位置
tar -cvf 也可以不写减号,直接tar cvf
2.
tar cvf /boot/grub2/ /etc/passwd test/ 
可以多个文件或者目录一起打包
3.
v是显示详细信息

[root@xuegod163 ~]# tar tf back.tar
anaconda-ks.cfg
a.txt
[root@xuegod163 ~]# tar tvf back.tar
-rw------- root/root1433 2022-01-13 10:56 anaconda-ks.cfg
-rw-r--r-- root/root1189 2022-01-14 21:21 a.txt

4.
压缩
-g --gzip以gzip方式压缩 扩展名:tar.gz
-j 以bz2方式压缩的    扩展名:tar.bz2
-J 以xz方式压缩的    扩展名:tar.xz
对于 xz的压缩包,解压也可以-xvf,即不加J也可以
三种压缩中,xz压缩比例最高,bz2其次,gzip最低,另外tar包也稍有些压缩比例,比原文件或者目录要小,不过跟这三种压缩方式比差得太多了。
实际工作中bz2和gz压缩格式是用的最多的
5.
zip
压缩目录时:-r 递归压缩
unzip
解压缩时指定位置:-d
6.
gzip、bzip2、xz单独命令
gzip命令打包时会把源文件删除,所以一般不用。而bzip2、xz这两个工具可以通过加参数-k来保留下源文件
解压操作
gzip -d 文件
bzip2 -d 文件
xz -d 文件或者 unxz 文件
这三个命令了解一下即可,一般不用
7.
可以通过file命令了解是哪种压缩类型,但一般最好压缩时指定正确的格式后缀。
8.
查看文件大小排序
ll -tr 按时间排序
ll -Sr 按大小排序,-r从小到大
ll -S  按大小排序,从大到小
查看目录大小
du -sh 目录名 注s参数,类似于 ls 的-d参数
处理大量数据时要用sort
[root@xuegod163 ~]# cat /etc/passwd|sort|more
aaa:x:1000:1000::/home/aaa:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
dbus:x:81:81:System message bus:/:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
games:x:12:100:games:/usr/games:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:/:/sbin/nologin
operator:x:11:0:operator:/root:/sbin/nologin
pesign:x:995:992:Group for the pesign signing daemon:/var/run/pesign:/sbin/nologin
polkitd:x:998:996:User for polkitd:/:/sbin/nologin
rngd:x:994:991:Random Number Generator Daemon:/var/lib/rngd:/sbin/nologin
root:x:0:0:root:/root:/bin/bash
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
sssd:x:996:993:User for sssd:/:/sbin/nologin
sync:x:5:0:sync:/sbin:/bin/sync
systemd-coredump:x:999:997:systemd Core Dumper:/:/sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:/:/sbin/nologin
tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nol
ogin
unbound:x:997:995:Unbound DNS resolver:/etc/unbound:/sbin/nologin

默认按字母规则进行排序
-n 数字排序
-M 按英文月份排序,如January、February、March、April
【-文件的归档和压缩】组合使用
-t 指定分隔符
-k 指定按第几列排序
查看目录并排序
[root@xuegod163 ~]# du -h /etc |sort -r|more
988K/etc/pki/ca-trust/extracted
980K/etc/selinux/targeted/contexts/files
96K /etc/pki/pesign-rh-test
96K /etc/pki/pesign
96K /etc/pam.d
9.3M/etc/selinux/targeted
9.3M/etc/selinux
8.8M/etc/udev
88K /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64/lib
88K /etc/java/java-1.8.0-openjdk/java-1.8.0-openjdk-1.8.0.252.b09-2.el8_1.x86_64
--更多--

但这样会乱,因为大小后面有单位(G,M,K等),所以要在sort时也大小可读性排序,即sort -h,所以正确的应该如下:
[root@xuegod163 ~]# du -h /etc|sort -rh|more
23M /etc
9.3M/etc/selinux/targeted
9.3M/etc/selinux
8.8M/etc/udev
8.2M/etc/selinux/targeted/policy
1.4M/etc/pki
1.1M/etc/selinux/targeted/contexts
1000K /etc/pki/ca-trust
988K/etc/pki/ca-trust/extracted
980K/etc/selinux/targeted/contexts/files
--更多--




















    推荐阅读