随笔记录 2019.7.26
chapter02 - 03 作业
1、分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?
[root@localhost ~]# cat /etc/ssh/sshd_config
[root@localhost ~]# tac / etc/ssh/sshd_config
[root@localhost ~]# nl /etc/ssh/sshd_config
区别:cat读取文件的内容,将文件的内容按正常的顺序打出,而tac与cat恰恰相反,它也可以对文件进行读取只不过是按逆序打出文件内容,至于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允许
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 ~]# tail -15 /etc/passwd > /root/15_pass.txt
4、请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?
[root@localhost ~]# wc lcw /etc/hosts
5、练习使用grep和egrep
5.1.通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?
[root@localhost ~]# ifconfig | grep 'inet' | grep -o 't .* n' | grep -o ' .* ' | head -1
5.2.将/etc/passwd文件中的前20行重定向保存到/root下名称为pass?
[root@localhost ~]#head -20 /etc/passwd > /root/pass
5.3.过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?
[root@localhost ~]# grep /sbin/nologin /etc/passwd | wc -l
35
5.4 过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?
[root@localhost ~]# grep '^root' /etc/passwd | grep 'sh$' | grep -v 'login'
root:x:0:0:root:/root:/bin/bash
5.5 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?
[root@localhost ~]# grep -v '^#' /etc/ssh/sshd_config | grep -v '^$'
6.1 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz
[root@localhost etc]# tar czf /root/file.tar.gz passwd
6.2通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2
[root@localhost etc]# tar cjf /root/file.tar.bz2 passwd
6.3创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?
[root@localhost ~]# mkdir -p /root/web/test1/
[root@localhost ~]# ll
[root@localhost etc]# tar xf /root/file.tar.bz2 -C /root/web/test1/
[root@localhost etc]# ls /root/web/test1/
Passwd
7.1 通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet。
[root@localhost ~]# vi /root/web/test1/passwd
:% s/root/benet/g
4 substitutions on 2 lines
7.2 通过vi编辑 删除passwd文件第1、5、10行。
[root@localhost ~]# vi /root/web/test1/passwd
1G
D
5G
D
10G
D
7.3 在vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。
[root@localhost ~]# vi pass
:set nu //显示文件行号
2G 切换行
3yy 复制光标所在行的3行内容
/lp 查找以lp开头的行
$ 将光标移到行尾
P 黏贴
7.4 通过vi编辑 查找文件内包含mail var等字符串,并记录所在行号。
[root@localhost ~]# vi pass
:set nu 显示行号
/mail 查找文件内包含mail 的字符串
/var 查找文件内包含var的字符串
7.5 通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。
[root@localhost ~]# vi pass
2G 快速换到第二行
:r /etc/hosts 读取其他文件的内容
7.6将更改后的文件使用vim另存为/root/new_pass。
:w /root/new_pass
"~/new_pass" [New] 22L, 1102C written
7.7将new_pass文件压缩成gz格式并改名为npass.gz文件。
[root@localhost ~]# tar czf npass.gz new_pass
[root@localhost ~]# ll
8统计/dev 目录下的文件数量。
[root@localhost ~]# ls /dev | wc -l
155
9.1在/boot下查找文件名以vmlinuz开头的文件?
[root@localhost ~]# find /boot/ -name "vmlinuz*"
/boot/vmlinuz-3.10.0-229.el7.x86_64
/boot/vmlinuz-0-rescue-7e341771d4144eed92e295bf1fd3427a
9.2在/boot下查找文件大小大于3M 小于 20M 的文件
[root@localhost ~]# find /boot/ -size +3M -a -size -20M
10 请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?
[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*
[root@localhost yum.repos.d]# ls
CentOS-Base.repo CentOS-CR.repo CentOS-Debuginfo.repo CentOS-fasttrack.repo CentOS-Sources.repo CentOS-Vault.repo
[root@localhost yum.repos.d]# mkdir a/
[root@localhost yum.repos.d]# mv ./C* a/
[root@localhost yum.repos.d]# vi ./local.repo 创建本地仓库文档
[cdrom]
name=cdrom
baseurl=file:///media
enable=1
gpgcheck=0
[root@localhost yum.repos.d]# yum -y clean all //清除缓存 (可能会出现“/var/run/yum.pid 已被锁定,PID 为 14620 的另一个程序正在运行。”的情况,解决方法为rm -rf /var/cache/yum/* yum repolist )
已加载插件:fastestmirror, langpacks
正在清理软件源: lyq
Cleaning up everything
Cleaning up list of fastest mirrors
[root@localhost yum.repos.d]# yum makecache //重建缓存
已加载插件:fastestmirror, langpacks
lyq | 3.6 kB 00:00:00
(1/4): lyq/group_gz | 154 kB 00:00:00
(2/4): lyq/primary_db | 2.7 MB 00:00:00
(3/4): lyq/filelists_db | 2.7 MB 00:00:00
(4/4): lyq/other_db | 1.1 MB 00:00:00
Determining fastest mirrors
元数据缓存已建立
11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?
[root@localhost ~]# find / -name "vsftpd*.rpm" //查找vsftpd安装包
/run/media/root/CentOS 7 x86_64/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm
/media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm
[root@localhost ~]# yum -y install /media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm
//安装vsftpd
[root@localhost ~]# yum -y remove vsftpd //卸载vsftpd
12、用rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?
[root@localhost ~]# rpm -i /media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm
警告:/media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY
[root@localhost ~]# rpm -evh vsftpd
准备中... ################################# [100%]
正在清理/删除...
1:vsftpd-3.0.2-9.el7 ################################# [100%]
13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?
[root@localhost ~]# yum -y install gcc gcc-c++ //安装支持C/C++程序语言的编译器
[root@localhost ~]# tar -xf httpd-2.2.17.tar.gz -C /usr/src/ //解包到/usr/src/
[root@localhost ~]# cd /usr/src/httpd-2.2.17 //切换到httpd-2.2.17路径下
[root@localhost httpd-2.2.17]# mkdir /usr/local/apache //创建apache文件夹
[root@localhost httpd-2.2.17]# ./config --prefix=/usr/local/apache //配置源码
[root@localhost httpd-2.2.17]# make //编译
[root@localhost httpd-2.2.17]# 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]# vi httpd.conf //修改配置文件
ServerName www.example.com:80 //修改配置文件
[root@localhost conf]# /usr/local/apache/bin/apachectl start //启动apache
[root@localhost ~]# yum -y install lynx //安装lynx
[root@localhost ~]# lynx 127.0.0.1 //运行lynx