上机作业 2 2019/7/26

chapter02 - 03 作业

1、分别用cat ac l三个命令查看文件/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    //查看文件内容标记行号(不标空行)

2、分别用moreless查看/etc/ssh/sshd_config里面的内容,请用总结moreless两个命令的相同和不同之处?

[root@localhost ~]# more /etc/ssh/sshd_config    //全屏分页查看文件内容按q退出

[root@localhost ~]#less /etc/ssh/sshd_config      //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  //head查看前二十行然后重定向到root

[root@localhost ~]# tail -15 /etc/passwd > /root/pass_15.txt    //tail查看后十五行然后重定向到root

 

[root@localhost ~]# ls  //查看目录下的文件和目录

20_pass.txt  anaconda-ks.cfg  pass_15.txt  公共  模板  视频  图片  文档  下载  音乐  桌面

4、请用一个命令统计/etc/hosts文件包含有多少行?多少字节?多少单词数?

[root@localhost ~]# wc /etc/hosts  //wc查看文件的行数、单词数、字节

  2  10 158 /etc/hosts

5、练习使用grepegrep

5.1.通过grep管道工具过滤出ifconfig命令显示信息中的IP字段?

[root@localhost ~]# ifconfig| grep "inet " | grep -o "t .* n" | grep  -o " .* "|head -1

 192.168.100.157

5.2./etc/passwd文件中的前20行重定向保存到/root下名称为pass

[root@localhost ~]# head -20 /etc/passwd > /root/pass         //head查看前二十行然后重定向到root下并重命名为pass

[root@localhost ~]# ls    //查看目录下的文件和目录

20_pass.txt  anaconda-ks.cfg  file.tar.bz2  file.tar.gz  pass  pass_15.txt  pass.txt

5.3.过滤/etc/passwd文件中含有/sbin/nologin 的行并统计行数?

[root@localhost ~]# grep '/sbin/nologin' /etc/passwd|wc -l   //grep过滤出含要求字符串的行然后用wc -l  统计行数

35

5.4 过滤/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.5 分别用grepegrep过滤出/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

HostKey /etc/ssh/ssh_host_ed25519_key

SyslogFacility AUTHPRIV

AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication yes

ChallengeResponseAuthentication no

GSSAPIAuthentication no

GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

UsePrivilegeSeparation sandbox # Default for new installations.

UseDNS no

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

Subsystem sftp /usr/libexec/openssh/sftp-server

[root@localhost ~]# egrep -v "^#|^$" /etc/ssh/sshd_config 

HostKey /etc/ssh/ssh_host_rsa_key

HostKey /etc/ssh/ssh_host_ecdsa_key

HostKey /etc/ssh/ssh_host_ed25519_key

SyslogFacility AUTHPRIV

AuthorizedKeysFile .ssh/authorized_keys

PasswordAuthentication yes

ChallengeResponseAuthentication no

GSSAPIAuthentication no

GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

UsePrivilegeSeparation sandbox # Default for new installations.

UseDNS no

AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES

AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT

AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE

AcceptEnv XMODIFIERS

Subsystem sftp /usr/libexec/openssh/sftp-server

6.1 通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.gz

[root@localhost etc]# tar czf /root/file.tar.gz ./passwd

[root@localhost etc]# ls /root

20_pass.txt  anaconda-ks.cfg  file.tar.gz  pass  pass_15.txt  pass.txt  公共  模板  视频  图片  文档  下载  音乐  桌面

  模板  视频  图片  文档  下载  音乐  桌面

6.2通过tar命令将/etc/passwd文件打包压缩成/root/file.tar.bz2

[root@localhost etc]# tar cjf /root/file.tar.bz2 ./passwd

[root@localhost etc]# ls /root

20_pass.txt  anaconda-ks.cfg  file.tar.bz2  file.tar.gz  pass  pass_15.txt  pass.txt  公共

  模板  视频  图片  文档  下载  音乐  桌面

6.3创建空文件夹/web/test1,并将file.tar.bz2 解包并释放到/web/test1目录下?

[root@localhost etc]# mkdir /web/test1 -p

[root@localhost etc]# tar -xf /root/file.tar.bz2 -C /web/test1/

[root@localhost etc]# ls /web/test1/

passwd

 

 

7.1 通过vi编辑/web/test1/passwd文件将文件里为root单词全部替换成benet

[root@localhost ~]# vi /web/test1/passwd 

% s/root/benet/g  在整个文件中将

[root@localhost ~]# head -1 /web/test1/passwd

benet:x:0:0:benet:/benet:/bin/bash

7.2 通过vi编辑 删除pass文件第1510行。

[root@localhost ~]# vi pass

dd  //删除

[root@localhost ~]# wc -l pass

17 pass

7.3 vi中显示pass文件行号复制文件2 3 4行粘贴到以lp开头的行下。

[root@localhost ~]# vi pass1

:set nu   //显示文件行号
2G    切换行
3yy   复制光标所在行的3行内容
/lp    查找以lp开头的行
$     将光标移到行尾
P     黏贴

7.4 通过vi编辑 查找文件内包含mail var等字符串,并记录所在行号。

[root@localhost ~]# vi pass1

:set nu   //显示文件行号

/mial              //查找含mail的行       

12 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

/var           //查找含var的行

4 adm:x:3:4:adm:/var/adm:/sbin/nologin

5 lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin

8 adm:x:3:4:adm:/var/adm:/sbin/nologin

12 mail:x:8:12:mail:/var/spool/mail:/sbin/nologin

15 ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin

20 colord:x:998:997:User for colord:/var/lib/colord:/sbin/nologin

23 libstoragemgmt:x:997:995:daemon account for libstoragemgmt:/var/run/lsm:/sbin/nologin

7.5 通过vi编辑 快速跳转到文件的第二行,通过r 读取 /etc/hosts 文件的内容到第二行下。

[root@localhost ~]# vi pass1

2G      //快速跳转到文件的第二行

:r /etc/hosts   //通过r 读取 /etc/hosts 文件

7.6将更改后的文件使用vim另存为/root/new_pass

[root@localhost ~]# vi pass1

:w /root/new_pass

7.7new_pass文件压缩成gz格式并改名为npass.gz文件。

[root@localhost ~]# tar czf npass.gz new_pass

[root@localhost ~]# ls

20_pass.txt      file.tar.bz2  new_pass  pass   pass_15.txt  公共  视频  文档  音乐

anaconda-ks.cfg  file.tar.gz   npass.gz  pass1  pass.txt     模板  图片  下载  桌面

8统计/dev 目录下的文件数量。

[root@localhost ~]# ls /dev | wc -l      (含文件夹)

155

[root@localhost ~]# ll /dev | grep -v '^d'| wc -l    //(不含文件夹)

139

9.1/boot下查找文件名以vmlinuz开头的文件?

[root@localhost ~]# find /boot/ -name 'vmlinuz*'

/boot/vmlinuz-3.10.0-229.el7.x86_64

/boot/vmlinuz-0-rescue-c08f3a0bf78c4879ae40ebc6145d4b72

9.2/boot下查找文件大小大于3M 小于 20M 的文件

[root@localhost ~]# find /boot/ -size +3M -a -size -20M

/boot/vmlinuz-3.10.0-229.el7.x86_64

/boot/vmlinuz-0-rescue-c08f3a0bf78c4879ae40ebc6145d4b72

/boot/initramfs-3.10.0-229.el7.x86_64.img

10 请详细写出构建本地yum仓库的步骤?并在每行命令后面用自己的话做上中文注释?

[root@localhost ~]# umount /dev/sr0          //卸载光盘

[root@localhost ~]# mount /dev/sr0 /media       //光盘挂载

mount: /dev/sr0 写保护,将以只读方式挂载

[root@localhost ~]# cd /etc/yum.r*   

[root@localhost yum.repos.d]# mkdir a/      //创建文件夹a

[root@localhost yum.repos.d]# mv C* ./a/          

[root@localhost yum.repos.d]# vi local.repo     //创建本地yum仓库文档

  [hfh]

  name=hfh

  baseurl=file:///media

  enbled=1

  gpgcheck=0

[root@localhost yum.repos.d]# yum -y clean all        //清楚yum缓存

[root@localhost yum.repos.d]# yum  makecache      //重建yum数据库

11、用yum命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

[root@localhost yum.repos.d]# rpm -q vsftpd                //查看vsftpd是否安装

未安装软件包 vsftpd

[root@localhost yum.repos.d]# yum -y install vsftpd        //安装vsftpd

[root@localhost yum.repos.d]# rpm -q vsftpd            //查看vsftpd是否安装

vsftpd-3.0.2-9.el7.x86_64

[root@localhost yum.repos.d]# yum -y remove vsftpd            //卸载vsftpd

[root@localhost yum.repos.d]# rpm -q vsftpd            //查看vsftpd是否安装

未安装软件包 vsftpd

12、rpm命令安装vsftpd,查询安装情况,最后卸载vsftpd,并再次查询卸载情况?

[[root@localhost ~]# find / -name 'vsftpd*.rpm'   //查找vsftpd安装文件位置  

/media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm

[root@localhost ~]# rpm -ivh /media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm   //安装vsftpd

警告:/media/Packages/vsftpd-3.0.2-9.el7.x86_64.rpm: V3 RSA/SHA256 Signature, 密钥 ID f4a80eb5: NOKEY

准备中...                          ################################# [100%]

正在升级/安装...

   1:vsftpd-3.0.2-9.el7               ################################# [100%]

[root@localhost ~]# rpm -q vsftpd    //查看vsftpd是否安装

vsftpd-3.0.2-9.el7.x86_64

[root@localhost ~]# rpm -e vsftpd   //卸载vsftpd

[root@localhost ~]# rpm -q vsftpd   //查看vsftpd是否安装

未安装软件包 vsftpd

13、通过源码方式通过解包、配置、编译、安装四个步骤安装源码软件httpd-2.2.17.tar.gz?并进行测试?

[root@localhost ~]# yum -y install gcc gcc-c++            //安装gcc   gcc-c++

[root@localhost ~]# tar -xf httpd-2.2.17.tar.gz -C /usr/src/         //解压源代码

[root@localhost httpd-2.2.17]# ./configure --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

原文地址:https://www.cnblogs.com/hfh1/p/11250916.html