chapter02 - 03 作业
1.分别用cat ac l三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?
[root@localhost ~]# cat /etc/ssh/sshd_config
[root@localhost ~]# nl /etc/ssh/sshd_config
[root@localhost ~]# tac /etc/ssh/sshd_config
cat :查看的是文件的内容
tac :查看的是倒序的文件内容
nl :显示文件行号
2、分别用more和less查看/etc/ssh/sshd_config里面的内容,请用总结more和less两个命令的相同和不同之处?
[root@localhost ~]# more /etc/ssh/sshd_config
[root@localhost ~]# less /etc/ssh/sshd_config
more:全屏的方式分页显示文件内容
less:与more基本相同,但扩展功能更多
3、将/etc/passwd文件中的前20行重定向保存到/root下改名为20_pass.txt,将/etc/passwd文件中的后15行重定向保存到/root下改名为:pass_15.txt
[root@localhost ~]# head -20 /etc/passwd > /root/20_pass.txt
[root@localhost ~]# head -15 /etc/passwd > /root/pass_15.txt
4、请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?
[root@localhost ~]# wc -lwc /etc/hosts
2 10 158 /etc/hosts
5、练习使用grep和egrep
5.1 通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?
[root@localhost ~]# ifconfig | grep -o '[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}'
192.168.100.135
255.255.255.0
192.168.100.255
127.0.0.1
255.0.0.0
5.2 过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?
[root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l
35
5.3 过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?
[root@localhost ~]# grep "sh$" /etc/passwd | grep "^root" | grep -v "login*"
root:x:0:0:root:/root:/bin/bash
5.4 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?
[root@localhost ~]# grep -v "^#" /etc/ssh/sshd_config | grep -v "^$"
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
6.1 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz
root@localhost ~]# tar -czf /root/file.tar.gz /etc/passwd
tar: 从成员名中删除开头的“/”
[root@localhost ~]# ls
20_pass.txt file.tar.gz pass_15.txt 公共 视频 文档 音乐
anaconda-ks.cfg pass z 模板 图片 下载 桌面
6.2 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2
[root@localhost ~]# tar -jcf /root/file.tar.bz2 /etc/passwd
[root@localhost ~]# ls
20_pass.txt file.tar.bz2 pass z 模板 图片 下载 桌面
anaconda-ks.cfg file.tar.gz pass_15.txt 公共 视频 文档 音乐
6.3 创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?
[root@localhost ~]# tar -xf file.tar.bz2 -C /web/test1/
7.1 通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet。
:% s/root/benet/g
7.2 通过vi编辑 删除pass文件第1、5、10行。
vi pass
root:x:0:0:root:/root:/bin/bash
1 root:x:0:0:root:/root:/bin/bash
2 bin:x:1:1:bin:/bin:/sbin/nologin
3 daemon:x:2:2:daemon:/sbin:/sbin/nologin
4 adm:x:3:4:adm:/var/adm:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 sync:x:5:0:sync:/sbin:/bin/sync
7 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8 halt:x:7:0:halt:/sbin:/sbin/halt
9 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
10 operator:x:11:0:operator:/root:/sbin/nologin
11 games:x:12:100:games:/usr/games:/sbin/nologin
12 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 dbus:x:81:81:System message bus:/:/sbin/nologin
15 polkitd:x:999:999:User for polkitd:/:/sbin/nologin
16 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/d
ev/null:/sbin/nologin
17 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
18 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin
19 ntp:x:38:38::/etc/ntp:/sbin/nologin
20 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/
nologin
Dd
root:x:0:0:root:/root:/bin/bash
1 bin:x:1:1:bin:/bin:/sbin/nologin
2 daemon:x:2:2:daemon:/sbin:/sbin/nologin
3 adm:x:3:4:adm:/var/adm:/sbin/nologin
4 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
5 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
6 halt:x:7:0:halt:/sbin:/sbin/halt
7 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
8 operator:x:11:0:operator:/root:/sbin/nologin
9 games:x:12:100:games:/usr/games:/sbin/nologin
10 nobody:x:99:99:Nobody:/:/sbin/nologin
11 dbus:x:81:81:System message bus:/:/sbin/nologin
12 polkitd:x:999:999:User for polkitd:/:/sbin/nologin
13 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/d
ev/null:/sbin/nologin
14 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
15 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin
16 ntp:x:38:38::/etc/ntp:/sbin/nologin
17 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/
nologin
光标移到1,5,10行按dd
~
~
7.3 在vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。
1 bin:x:1:1:bin:/bin:/sbin/nologin
2 daemon:x:2:2:daemon:/sbin:/sbin/nologin
3 adm:x:3:4:adm:/var/adm:/sbin/nologin
4 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
6 adm:x:3:4:adm:/var/adm:/sbin/nologin
7 daemon:x:2:2:daemon:/sbin:/sbin/nologin
8 shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
9 halt:x:7:0:halt:/sbin:/sbin/halt
10 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
11 operator:x:11:0:operator:/root:/sbin/nologn
12 games:x:12:100:games:/usr/games:/sbin/nologin
13 nobody:x:99:99:Nobody:/:/sbin/nologin
14 dbus:x:81:81:System message bus:/:/sbin/nologin
15 polkitd:x:999:999:User for polkitd:/:/sbin/nologin
16 tss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/n
ull:/sbin/nologin
17 usbmuxd:x:113:113:usbmuxd user:/:/sbin/nologin
18 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin
19 ntp:x:38:38::/etc/ntp:/sbin/nologin
20 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nolo
gin
光标移到2,3,4行YY,然后光标移到IP开头的行首P
7.4 通过vi编辑 查找文件内包含mail var等字符串,并记录所在行号。
/mail 第十行
/var 第三,四,五,六,十,十八,二十行
7.5 通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。
:2
1 bin:x:1:1:bin:/bin:/sbin/nologin
2 daemon:x:2:2:daemon:/sbin:/sbin/nologin
3 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
光标移到第二行然后
:r /etc/hosts
7.6 将更改后的文件使用vim另存为/root/new_pass。
:w /root/new_pass
"~/new_pass" [New] 22L, 1112C written
7.7 将new_pass文件压缩成gz格式并改名为npass.gz文件。
[root@localhost ~]# ls
20_pass.txt file.tar.bz2 new_pass pass_15.txt 公共 视频 文档 音乐
anaconda-ks.cfg file.tar.gz pass z 模板 图片 下载 桌面
[root@localhost ~]# gzip new_pass
[root@localhost ~]# ls
20_pass.txt file.tar.bz2 new_pass.gz pass_15.txt 公共 视频 文档 音乐
anaconda-ks.cfg file.tar.gz pass z 模板 图片 下载 桌面
[root@localhost ~]# mv new_pass.gz npass.gz
[root@localhost ~]# ls
20_pass.txt file.tar.bz2 npass.gz pass_15.txt 公共 视频 文档 音乐
anaconda-ks.cfg file.tar.gz pass z 模板 图片 下载 桌面
[root@localhost ~]#
8. 统计/dev 目录下的文件数量。
[root@localhost ~]# ls -l /dev|wc -l
155
[root@localhost ~]# cd /etc
[root@localhost etc]# ls -l |grep -v "^d" |wc -l
144
9.1 在/boot下查找文件名以vmlinuz开头的文件?
[root@localhost ~]# cd /boot
[root@localhost boot]# find -name "vmlinuz*"
./vmlinuz-3.10.0-229.el7.x86_64
./vmlinuz-0-rescue-1781126a035244acbfb57d3f9b9955cf
./vmlinuz
9.2 在/boot下查找文件大小大于3M 小于 20M 的文件
[root@localhost boot]# find -size +3M -a -size -20M
./vmlinuz-3.10.0-229.el7.x86_64
./vmlinuz-0-rescue-1781126a035244acbfb57d3f9b9955cf
./initramfs-3.10.0-229.el7.x86_64.img
10. 请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?
umount /dev/sr0 //卸载光盘
mount /dev/sr0 /media/ //挂载光盘
ls /media/ //查看
构建本地YUM仓库文档
cd /etc/yum.r*
mkdir a/
mv C* a/
创建本地yum仓库文档
vi ./local.repo
[cdrom] //仓库名称
name=cdrom
baseurl=file:///media //指定rpm包的位置
enabled=1 //启用本地yum仓库
gpgcheck=0 //禁用gpg校验
yum -y clean all //清除yum缓存
yum makecache //重建yum缓存
rpm -q vsftpd //查询是否安装vsftpd
yum -y install vsftpd //用yum安装vsftpd
rpm -q vsftpd //查询是否安装vsftpd
yum -y remove vsftpd //用yum卸载vsftpd
rpm -q vsftpd //查询是否卸载vsftpd
11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?
[root@localhost ~]# umount /dev/sr0 //卸载光盘
[root@localhost ~]# mount /dev/sr0 /media/ //挂载光盘
mount: /dev/sr0 写保护,将以只读方式挂载
[root@localhost ~]# ls /media //查看
CentOS_BuildTag EULA images LiveOS repodata RPM-GPG-KEY-CentOS-Testing-7
EFI GPL isolinux Packages RPM-GPG-KEY-CentOS-7 TRANS.TBL
[root@localhost ~]# cd /etc/yum.r* //进入yum本地目录
[root@localhost yum.repos.d]#mkdir a/ //建立a目录
[root@localhost yum.repos.d]#mv C* a/ //将c开头的文件移到A目录
[root@localhost yum.repos.d]# vi local.repo //创建本地yum仓库文档
[cdrom] //仓库名称
name=cdrom
baseurl=file:///media //指定rpm包的位置
enabled=1 //启动本地yum仓库
gpgcheck=0 //禁止gpg校验
~
~
"local.repo" 5L, 62C written
[root@localhost yum.repos.d]# yum -y clean all //清除yum缓存
已加载插件:fastestmirror, langpacks
正在清理软件源: cdrom
Cleaning up everything
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache //重建yum缓存
已加载插件:fastestmirror, langpacks
cdrom | 3.6 kB 00:00:00
(1/4): cdrom/filelists_db | 2.7 MB 00:00:00
(2/4): cdrom/group_gz | 154 kB 00:00:00
(3/4): cdrom/other_db | 1.1 MB 00:00:00
(4/4): cdrom/primary_db | 2.7 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
[root@localhost yum.repos.d]# rpm -q vsftpd //查询是否安装vsftpd
未安装软件包 vsftpd
[root@localhost yum.repos.d]# yum -y install vsftpd //用yum安装vsftpd
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-9.el7 将被 安装
--> 解决依赖关系完成
依赖关系解决
=================================================================================================
Package 架构 版本 源 大小
=================================================================================================
正在安装:
vsftpd x86_64 3.0.2-9.el7 cdrom 165 k
事务概要
=================================================================================================
安装 1 软件包
总下载量:165 k
安装大小:343 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在安装 : vsftpd-3.0.2-9.el7.x86_64 1/1
验证中 : vsftpd-3.0.2-9.el7.x86_64 1/1
已安装:
vsftpd.x86_64 0:3.0.2-9.el7
完毕!
[root@localhost yum.repos.d]# yum -y remove vsftpd //用yum卸载vsftpd
已加载插件:fastestmirror, langpacks
正在解决依赖关系
--> 正在检查事务
---> 软件包 vsftpd.x86_64.0.3.0.2-9.el7 将被 删除
--> 解决依赖关系完成
依赖关系解决
=================================================================================================
Package 架构 版本 源 大小
=================================================================================================
正在删除:
vsftpd x86_64 3.0.2-9.el7 @cdrom 343 k
事务概要
=================================================================================================
移除 1 软件包
安装大小:343 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
正在删除 : vsftpd-3.0.2-9.el7.x86_64 1/1
验证中 : vsftpd-3.0.2-9.el7.x86_64 1/1
删除:
vsftpd.x86_64 0:3.0.2-9.el7
完毕!
[root@localhost yum.repos.d]# rpm -q vsftpd //查询是否卸载vsftpd
未安装软件包 vsftpd
12、用rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?
[root@localhost Packages]# rpm -i vsftpd-3.0.2-9.el7.x86_64.rpm //安装
警告:vsftpd-3.0.2-9.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
[root@localhost Packages]# rpm -q vsftpd //查看安装
vsftpd-3.0.2-9.el7.x86_64
[root@localhost Packages]# rpm -e vsftpd // 卸载
[root@localhost Packages]# rpm -q vsftpd //查看卸载
未安装软件包 vsftpd
13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?
[root@localhost ~]# yum -y install gcc //安装gcc
[root@localhost ~]# yum -y install make //安装make
[root[root@localhost ~]# yum -y install gcc-c++ //安装gcc-c++
[root@localhost ~]# yum -y install lynx //安装lynx
@localhost ~]# tar -xf httpd-2.2.17.tar.gz -C /usr/src //解包
[root@localhost ~]# cd /usr/src/httpd-2.2.17/ //进入httpd-2.2.17文件目录
[root@localhost httpd-2.2.17]# config --prefix =/usr/local/apache //安装目录
[root@localhost httpd-2.2.17]# make //执行make命令
[root@localhost httpd-2.2.17]# make install //执行make install命令
root@localhost httpd-2.2.17]# cd /usr/local/apache/conf //切换目录
[root@localhost conf]# cp httpd.conf httpd.conf.bak
[root@localhost conf]# cd /usr/src/httpd-2.2.17/
[root@localhost ~]# /usr/local/apache/bin/apachectl start //启动Apache
[root[root@localhost ~]# lynx 127.0.0.1 //运行