day 19 压缩打包作业
1.linux下常见的压缩包类型有哪些
.zip
.gz
.bz2
.tar.gz
.tar.bz2
2.将/etc/hosts文件用tar格式打包。
tar zcf hosts.gz.tar /etc/hosts
3.查看打包之后的/etc/hosts的文件内容,在不解压的情况下查看。
zcat hosts.zip.gz
4.使用tar打包/var/log/目录。
tar czf log.tar.gz /etc/log
5.使用zip打包/etc目录。
zip -r etc.zip /etc
6.查看/var/log/目录的压缩包中有哪些内容。
tar tf /var/log
7.将/var/log/目录解压到/opt目录中。
tar xf /var/log -C /opt
10.解压/etc/目录到/opt目录中。
tar xf etc.tar.gz -C /opt/
11.用zip打包/opt目录,要求不显示打包过程。
zip -rq opt.zip /opt
12.打包/etc/目录,要求是.bz2格式
tar cjf etc.tar.bz2 /etc
13.打包/var/log目录,要求是.xz格式
tar cJf log.tar.xz /var/log
14.使用tar命令打包/etc/时,会出现一个删根的操作,怎样打包不会进行删根的操作
第一种使用相对路径打包
cd /
tar czf /root/etc.tar.gz etc
第二种使用绝对路径打包
tar czPf etc.tar.gz /etc
15.打包/etc/目录,要求不打包/etc/hosts这个文件。
tar zcf etc.tar.zip --exclude=/etc/hosts /etc
16.打包/etc/目录,要求不打包/etc/hosts和/etc/hostname这两个文件。
tar czf etc.tar.gz --exclude=/etc/{hosts,hostname} /etc
17.打包/etc/目录,但要排除passwd,shadow,group,gshadow,hosts,hostname这些文件。(你能用两种方法实现吗)
第一种
tar czf etc.tar.gz --exclude=/etc{passwd,shadow,group,hosts,hostname} /etc
第二种
cat > exclude.file << eof
passwd
shadow
group
hosts
hostname
eof
tar czf etc.tar.gz -X exclude.file /etc
18.已知/etc/grub2.cfg文件是个软连接文件,在你不知道的情况下,请问怎么打包该文件的真实文件。
tar czhf grub2.cfg /etc/grub2.cfg
19.把/var/log/目录中所有.log的文件进行打包成一个压缩包,名称定义为log.tar.gz的压缩包。
find -type f -name '*.log*' | tar czf log.tar.gz
tar czf log.tar.gz `find /var/log -type f -name '*.log*'`
20.已知文件oldboy.zip,请问在不解压的情况下,怎样查看该文件的内容。
zcat oldboy.zip
21.打包/etc/目录,命令以ip地址+当前时间方式的压缩包:比如: 10.0.0.100_2019-12-24_etc.tar.gz
[root@localhost ~]# echo `hostname -I | xargs -I {} echo $(date +%F)'_'{}'_etc.tar.gz'` | xargs -I {} tar czf {} /etc/tar: Removing leading `/' from member names
[root@localhost ~]# ll
total 9932
-rw-r--r-- 1 root root 10167938 Jul 29 17:24 2020-07-29_10.0.0.100 _etc.tar.gz
22.创建/data/bak目录,然后复制如下文件到/data/bak目录下
/etc/hosts
/etc/resolv.conf
/etc/fstab
/etc/bashrc
/etc/profile
/etc/rc.local
/etc/sudoers
[root@localhost ~]# mkdir /data/bak
[root@localhost ~]# cat >> file.txt << eof
> /etc/hosts
> /etc/resolv.conf
> /etc/fstab
> /etc/bashrc
> /etc/profile
> /etc/rc.local
> /etc/sudoers
> eof
[root@localhost ~]# grep '.*' file.txt
/etc/hosts
/etc/resolv.conf
/etc/fstab
/etc/bashrc
/etc/profile
/etc/rc.local
/etc/sudoers
[root@localhost ~]# grep '.*' file.txt | xargs -I {} cp {} /data/bak
23.接22题,使用tar命令对/data/bak目录下的文件及目录以gzip的格式进行归档压缩到/data目录下
(压缩包的名字以自己名字命名)
tar czf /data/mpd.tar.gz /data/bak/
24.使用tar命令查看上题/data目录下压缩包内的内容。
tar tf /data/mpd.tar.gz
25.把第23题/data目录下的压缩包,解压到/backup目录下
tar xf /data/mpd.tar.gz -C /backup
26.再次使用tar命令把/data/bak目录下的文件及目录以gzip的格式进行归档压缩到/data目录下,
但是在进行归档压缩时,排除文件“sudoers”,然后查看该压缩包内容是否存在文件“sudoers”(压缩包名自行拟定)
tar czf /data/no_sudoers_bak.tar.gz --exclude=/data/bak/sudoers /data/bak
27.打包/etc目录下所有普通文件到root用户家目录。
tar zcf etc.tar.gz `find /etc -type f `
tar xf etc.tar.gz -C /root/
28.打包/etc/目录到/opt/目录下,名称要求以当前主机名和ip地址命名,例:oldboy_10.0.0.100.tar.gz
tar czf /opt/"$(hostname)'_'$(hostname -I)".tar.gz /etc/
29.如何使用gzip命令对文件进行压缩、解压
gzip file.txt # 压缩单文件
gzip file1 file2 # 压缩多个文件 分别进行压缩
gzip -d file # 解压单个文件
30.如何用zip命令对文件以及目录进行压缩、解压
zip file.zip file2 file3 # 压缩多个文件 全部压缩成一个文件
zip -r etc.zip /etc # 递归压缩目录
unzip file # 解压文件
31.创建一个自己名字的文件至/opt目录
mkdir /opt/mpd
32.打包opt整个目录,并命名test_opt.tar.gz
tar czf test_opt.tar.gz /opt
33.查看打包好的test_opt.tar.gz里的文件
tar tf test_opt.tar.gz
34.将打包好的test_opt.tar.gz内容指定解压至/tmp目录
tar xf test_opt.tar.gz -C /tmp/
35.打包etc目录下的所有文件,不要目录只要文件
tar czf etc.tar.gz `find /etc/ -type f`
36.打包etc目录下的所有文件,排除passwd,shadow
tar czf etc.tar.gz --exclude=/etc/{passwd,shadow}
37.打包etc目录下的所有以p开头的文件
tar czf etc.tar.gz `find /etc/ -type f -name 'p*'`
38.打包etc目录下所有大于1M的文件
tar czf etc.tar.gz `find /etc/ -size +1M`