目录
- 打包压缩部分
- 1.linux下常见的压缩包类型有哪些
- rpm 工具部分
打包压缩部分
1.linux下常见的压缩包类型有哪些
.zip
.gz 会删除源文件
.bz2 会删除源文件
.tar.gz
.tar.bz2
2.将/etc/hosts文件用tar格式打包。
[root@centos7 ~]# cd /
[root@centos7 /]# tar czf hosts.tar.gz etc/hosts
3.查看打包之后的/etc/hosts的文件内容,在不解压的情况下查看。
[root@centos7 /]# tar tf hosts.tsr.gz
4.使用tar打包/var/log/目录。
[root@centos7 /]# tar czf log.tar.gz var/log
5.使用zip打包/etc目录。
[root@centos7 /]# zip -r etc.zip etc/
6.查看/var/log/目录的压缩包中有哪些内容。
[root@centos7 /]# tar tf log.tar.gz
7.将/var/log/目录解压到/opt目录中。
[root@centos7 /]# tar xf log.tar.gz -C /opt
8.查看/etc/目录的压缩包的压缩率。
[root@centos7 /]# du -sh /etc/
32M /etc/
[root@centos7 /]# du -sh /etc.zip
14M /etc.zip
[root@centos7 ~]# awk 'BEGIN{print 14/32*100"%"}'
43.75%
9.查看/etc/目录的压缩包的内容是否完好。
[root@centos7/]# zip -T etc.zip #查看压缩包整体的情况
[root@centos7/]# unzip -t etc.zip #检查压缩包里面的内容
10.解压/etc/目录到/opt目录中。
[root@centos7 ~]# unzip etc.zip -d /opt/
11.用zip打包/opt目录,要求不显示打包过程。
[root@centos7 /]# zip -qr opt.zip /opt
12.打包/etc/目录,要求是.bz2格式
[root@centos7 /]# tar cjf etc.tar.bz2 /etc/
13.打包/var/log目录,要求是.xz格式
[root@centos7 /]# tar cJf log.tar.xz /var/log/
14.使用tar命令打包/etc/时,会出现一个删根的操作,怎样打包不会进行删根的操作
[root@centos7 ~]# tar czPf etc.tar.gz /etc
15.打包/etc/目录,要求不打包/etc/hosts这个文件。
[root@centos7 /]# tar czf etc.tar.gz --exclude=etc/hosts etc/
16.打包/etc/目录,要求不打包/etc/hosts和/etc/hostname这两个文件。
[root@centos7 /]# tar czf etc.tar.gz --exclude=etc/hosts,etc/hostname etc/
17.打包/etc/目录,但要排除passwd,shadow,group,gshadow,hosts,hostname这些文件。(你能用两种方法实现吗)
[root@centos7 /]# tar czf etc.tar.gz --exclude=etc/{passwd,shadow,group,gshadow,hosts,hostname} /etc
[root@centos7 /]# vim etc.txt
[root@centos7 /]# tar czfX /etc.tar.gz etc.txt /etc
18.已知/etc/grub2.cfg文件是个软连接文件,在你不知道的情况下,请问怎么打包该文件的真实文件。
[root@centos7 etc]# ll -h /etc/grub2.cfg
[root@centos7 /]# tar czfh grub2.tar.gz etc/grub2.cfg
19.把/var/log/目录中所有.log的文件进行打包成一个压缩包,名称定义为log.tar.gz的压缩包。
[root@centos7 /]# find /var/log/ -type f -name '*.log*'|xargs tar czf log.tar.gz
20.已知文件oldboy.zip,请问在不解压的情况下,怎样查看该文件的内容。
[root@centos7/]# unzip -l oldboy.zip
21.打包/etc/目录,命令以ip地址+当前时间方式的压缩包:比如: 10.0.0.100_2019-07-08_etc.tar.gz
[root@centos7 ~]# tar zcf $(ifconfig ens33|awk 'NR==2{print $2}')_$(date +%F)_etc.tar.gz /etc
# date +%F (年月日) date +%T (十分秒)
[root@centos7 ~]# date +%T
19:38:50
[root@centos7 ~]# date -d '-1day' (显示的结果会减1天,以后备份日志有用)
Mon Jul 8 19:42:07 CST 2019
22.创建/data/bak目录,然后复制如下文件到/data/bak目录下
/etc/hosts
/etc/resolv.conf
/etc/fstab
/etc/bashrc
/etc/profile
/etc/rc.local
/etc/sudoers
[root@centos7 /]# mkdir -p /data/bak
[root@centos7 /]# touch /etc/{hosts,resolv.conf,fstab,bashrc,profile,rc.local,sudoers}|xargs cp -t /data/bak
23.接22题,使用tar命令对/data/bak目录下的文件及目录以gzip的格式进行归档压缩到/data目录下(压缩包的名字以自己名字命名)
[root@centos7 ~]# tar czf /data/gjy.tar.gz /data/bak/
24.使用tar命令查看上题/data目录下压缩包内的内容。
[root@centos7 /]# tar tf /data/gjy.tar.gz
25.把第23题/data目录下的压缩包,解压到/backup目录下
[root@centos7 /]# tar xf /data/gjy.tar.gz -C /backup
26.再次使用tar命令把/data/bak目录下的文件及目录以gzip的格式进行归档压缩到/data目录下,但是在进行归档压缩时,排除文件“sudoers”,然后查看该压缩包内容是否存在文件“sudoers”(压缩包名自行拟定)
[root@centos7 ~]# tar czf /data/bak.tar.gz --exclude=/data/bak/sudoers /data/bak/
27.打包/etc目录下所有普通文件到root用户家目录。
[root@centos7 ~]# find /etc -type f | xargs tar zcf /root/etc.tar.gz
28.打包/etc/目录到/opt/目录下,名称要求以当前主机名和ip地址命名,例:oldboy_10.0.0.100.tar.gz
[root@centos7 ~]# tar zcf /opt/$(hostname)_$(ifconfig ens33|awk 'NR==2 {print $2}').tar.gz /etc/
29.如何使用gzip命令对文件进行压缩、解压
#压缩file1
[root@centos7 ~]# gzip file1
#解压文件
[root@centos7 ~]# gzip -d file1.gz
30.如何用zip命令对文件以及目录进行压缩、解压
# 压缩文件
[root@centos7 ~]# zip filename.zip filename
#压缩目录
[root@centos7 ~]# zip -r dir.zip dir/
#解压文件或者目录
[root@centos7 ~]# unzip filename.zip
31.创建一个自己名字的文件至/opt目录
touch /opt/gjy.txt
32.打包opt整个目录,并命名test_opt.tar.gz
[root@centos7 /]# tar zcf test_opt.tar.gz /opt
33.查看打包好的test_opt.tar.gz里的文件
[root@centos7 /]# tar tf test_opt.tar.gz
34.将打包好的test_opt.tar.gz内容指定解压至/tmp目录
[root@centos7 ~]# tar xf test_opt.tar.gz -C /tmp
35.打包etc目录下的所有文件,不要目录只要文件
[root@centos7 ~]# find /etc/ ! -type d |xargs tar zcf etc.tar.gz
36.打包etc目录下的所有文件,排除passwd,shadow
[root@centos7 ~]# find /etc -type f|xargs tar czf etc.tar.gz --exclude=etc/{passwd,shadow}
37.打包etc目录下的所有以p开头的文件
[root@centos7 /]# find etc/ -type f -name 'p*' |xargs tar zcf etc.tar.gz
38.打包etc目录下所有大于1M的文件
[root@centos7 /]# find etc/ -type f -size +1M |xargs tar zcf etc.tar.gz
rpm 工具部分
1.将你的镜像设备挂载到/mnt目录上
[root@centos7 ~]# mount /dev/cdrom /mnt/
mount: /dev/sr0 is write-protected, mounting read-only
mount: /dev/sr0 is already mounted or /mnt busy
/dev/sr0 is already mounted on /mnt
[root@centos7 ~]# ls /mnt/
CentOS_BuildTag images repodata
EFI isolinux RPM-GPG-KEY-CentOS-7
EULA LiveOS RPM-GPG-KEY-CentOS-Testing-7
GPL Packages TRANS.TBL
2.使用rpm命令安装tree这个软件。
[root@centos7 ~]# cd /mnt/Packages
[root@centos7 Packages]# rpm -ivh tree-1.6.0-10.el7.x86_64.rpm
Preparing... ################################# [100%]
package tree-1.6.0-10.el7.x86_64 is already installed
3.查看你的服务器中是否安装httpd这个软件。
[root@centos7 ~]# rpm -q httpd
package httpd is not installed
4.接上题,如果没有请用rpm进行安装。(如果出现报错,请百度,做不出来,没有关系。)
1 rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64.
2 rpm -ivh /mnt/Packages/httpd-tools-2.4.6-88.el7.centos.
3 rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
4 rpm -ivh /mnt/Packages/apr-util*
5 rpm -ivh /mnt/Packages/apr-1.4.8-3.el7_4.1.x86_64.rpm
6 rpm -ivh /mnt/Packages/apr-util-1.5.2-6.el7.x86_64.rpm
7 rpm -ivh /mnt/Packages/httpd-tools-2.4.6-88.el7.centos.
8 yum search mime.types
9 rpm -ivh /mnt/Packages/mailcap-2.1.41-2.el7.noarch.rpm
10 rpm -ivh /mnt/Packages/httpd-2.4.6-88.el7.centos.x86_64
5.启动httpd这个服务,然后用你的10.0.0.0这个网段的IP在浏览器上面进行访问,看看是否有结果,如果没有,请关闭你的防火墙
1. systemctl stop firewalld
2. systemctl start httpd
3 ss -lntp
4 curl 10.0.0.100
6.查看httpd这个软件包里面的内容。
[root@centos7 Packages]# rpm -ql httpd
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.d
/etc/httpd/conf.d/README
/etc/httpd/conf.d/autoindex.conf
...
7.查看httpd这个软件的配置文件是哪个
[root@centos7 Packages]# rpm -qc httpd
/etc/httpd/conf.d/autoindex.conf
/etc/httpd/conf.d/userdir.conf
/etc/httpd/conf.d/welcome.conf
/etc/httpd/conf.modules.d/00-base.conf
/etc/httpd/conf.modules.d/00-dav.conf
/etc/httpd/conf.modules.d/00-lua.conf
/etc/httpd/conf.modules.d/00-mpm.conf
/etc/httpd/conf.modules.d/00-proxy.conf
/etc/httpd/conf.modules.d/00-systemd.conf
/etc/httpd/conf.modules.d/01-cgi.conf
/etc/httpd/conf/httpd.conf
/etc/httpd/conf/magic
/etc/logrotate.d/httpd
/etc/sysconfig/htcacheclean
/etc/sysconfig/httpd
8.查看httpd这个软件包的详细信息。
[root@centos7 Packages]# rpm -qi httpd
Name : httpd
Version : 2.4.6
Release : 88.el7.centos
Architecture: x86_64
Install Date: Tue 09 Jul 2019 03:57:58 PM CST
Group : System Environment/Daemons
Size : 9817309
License : ASL 2.0
Signature : RSA/SHA256, Mon 12 Nov 2018 10:28:53 PM CST, Key ID 24c6a8a7f4a80eb5
Source RPM : httpd-2.4.6-88.el7.centos.src.rpm
Build Date : Mon 05 Nov 2018 09:48:57 AM CST
Build Host : x86-01.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem
Vendor : CentOS
URL : http://httpd.apache.org/
Summary : Apache HTTP Server
9.查看一下netstat这个命令属于哪个软件包
[root@centos7 ~]# which netstat
/usr/bin/netstat
[root@centos7 ~]# rpm -qf `which netstat`
net-tools-2.0-0.24.20131004git.el7.x86_64
10.查看你的服务器中是否安装sl这个命令,如果有请使用rpm进行删除,没有就先安装再删除。
[root@centos7 ~]# rpm -q sl
package sl is not installed
[root@centos7 ~]# yum install -y sl
[root@centos7 ~]# rpm -e sl
11.联网下载mongodb这个软件,网站地址:https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/版本号为3.0.0主包名称为:mongodb-org (如果出现报错,请百度,做不出来,没有关系。)
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-mongos-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-server-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-shell-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-tools-3.0.0-
[root@centos7 ~]# rpm -ivh https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/mongodb-org-3.0.0-1.el7.x86_64.rpm
[root@centos7 ~]# mongo -version
MongoDB shell version: 3.0.0
13.列举一下rpm的常用选项有哪些?
rpm -ivh # 安装
rpm -Uvh # 升级
rpm -e # 删除
rpm -q #查看指定软件包是否安装
rpm -qa #查看系统中已安装的所有RPM软件包列表
rpm -qi #查看指定软件的详细信息
rpm -ql #查询指定软件包所安装的目录、文件列表
rpm -qc #查询指定软件包的配置文件
rpm -qd #查询指定软件包的帮助文档
rpm -qf #查询文件或目录属于哪个RPM软件
rpm -q --scripts #查询rpm包安装前和安装后执行的脚本
#查询未安装的软件包信息
rpm -qip //查询未安装的rpm包详细信息
rpm -qlp //查询未安装的软件包会产生哪些文件
14.已知,服务器关机重启之后,挂载的设备就会被自动的卸载掉,那么怎样让挂载的磁盘在服务器开机的时候就自动挂载上呢?
[root@centos7 ~]# cd /mnt/Packages
[root@centos7 Packages]# blkid /dev/cdrom
/dev/cdrom: UUID="2018-11-25-23-54-16-00" LABEL="CentOS 7 x86_64" TYPE="iso9660" PTTYPE="dos"
[root@centos7 Packages]# vim /etc/fstab
UUID=2018-11-25-23-54-16-00 /mnt xfs defaults 0 0
15.卸载你所挂载的设备,/dev/cdrom下面几题请使用yum命令
rpm -e
16.yum安装rsync这个软件。
[root@centos7 ~]# yum install -y rsync
17.安装多个软件,例如sl、lsof、net-tools、nmap等
yum install -y sl lsof net-tools nmap
18.删除sl这个命令
[root@zls ~]# yum remove sl -y
19.查看一下ping这个命令属于哪个软件包
[root@centos7 ~]# yum provides ping
20.查看你的服务器中有哪些可用的yum源仓库。
[root@centos7 ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
repo id
base/7/x86_64
extras/7/x86_64
updates/7/x86_64
repolist: 12,669
21.根据mysql命令 查找 mysql的配置文件在哪?
[root@centos7 ~]# rpm -qc $(rpm -qf `which mysql`)
/etc/my.cnf.d/client.cnf
22.根据/etc/hostname找出修改主机名的命令?
[root@centos7 ~]# rpm -ql $(rpm -qf $(which hostname))
/bin/dnsdomainname
/bin/domainname
/bin/hostname
/bin/nisdomainname
/bin/ypdomainname
/usr/share/doc/hostname-3.13
/usr/share/doc/hostname-3.13/COPYRIGHT
/usr/share/man/man1/dnsdomainname.1.gz
/usr/share/man/man1/domainname.1.gz
/usr/share/man/man1/hostname.1.gz
/usr/share/man/man1/nisdomainname.1.gz
/usr/share/man/man1/ypdomainname.1.gz
23.找到nginx的rpm包,安装上,并列出nginx的相关命令路径,以及配置文件,还有站点目录
[root@centos7 ~]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
[root@centos7 ~]# yum -y install nginx
[root@centos7 ~]# which nginx
[root@centos7 Packages]# rpm -ql $(rpm -qf `which nginx`)|grep index
/usr/share/nginx/html/index.html