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`

posted @ 2020-07-29 20:18  nick_xm  阅读(363)  评论(0编辑  收藏  举报