chapter02 - 03 作业

chapter02 - 03 作业

 

1、  分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处?

[root@localhost ~]# cat -n /etc/ssh/sshd_config

     1      #       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

     2     

         3      # This is the sshd server system-wide configuration file.  See

          。

          。

          。

     151 #       AllowTcpForwarding no

     152 #       PermitTTY no

         153 #       ForceCommand cvs server

 

 

[root@localhost ~]# tac /etc/ssh/sshd_config

#        ForceCommand cvs server

#        PermitTTY no

#        AllowTcpForwarding no

# This is the sshd server system-wide configuration file.  See

 

#        $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

 

 

[root@localhost ~]# nl  /etc/ssh/sshd_config

     1      #       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $

      

     2      # This is the sshd server system-wide configuration file.  See

         3      # sshd_config(5) for more information.

          。

          。

          。

     125 #       AllowTcpForwarding no

     126 #       PermitTTY no

         127 #       ForceCommand cvs server

 

 

不同之处:

cat和tac标识空白行,nl不标示空白行

cat以正序的方式显示文件内容,tac以倒叙的方式显示文件的内容

 

 

 

 

 

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

 

[root@localhost ~]# more /etc/ssh/sshd_config

#        $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ ......

 

 

[root@localhost ~]# less /etc/ssh/sshd_config

#       $OpenBSD: sshd_config,v 1.93 2014/01/10 05:59:19 djm Exp $ ......

 

 

不同之处:

“more”按Enter键和空格键上下滚动,按q键退出

“less” 功能与“more”大致相同,less按pgUp、pgDn键上下翻页,按“/”查找内容

 

 

 

 

 

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 ~]# ls

20_pass.txt      test.txt   公共  视频  文档  音乐

anaconda-ks.cfg  test.txt~  模板  图片  下载  桌面

[root@localhost ~]# tail -15 /etc/passwd >/root/pass_15.txt

[root@localhost ~]# ls

20_pass.txt      pass_15.txt  test.txt~  模板  图片  下载  桌面

anaconda-ks.cfg  test.txt     公共       视频  文档  音乐

 

 

 

 

 

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

 

 [root@localhost ~]# wc /etc/hosts

  2  10 158 /etc/hosts

 

 

 

5、练习使用grep和egrep

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

 

[root@localhost ~]# ifconfig | grep "inet"

        inet 192.168.100.147  netmask 255.255.255.0  broadcast 192.168.100.255

        inet6 fe80::20c:29ff:fe69:4a49  prefixlen 64  scopeid 0x20<link>

        inet 127.0.0.1  netmask 255.0.0.0

        inet6 ::1  prefixlen 128  scopeid 0x10<host>

(先利用ifconfig命令将IP调出来,再通过gerp命令滤除带有“inet”的字段。)

 

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

        inet 192.168.100.147  netmask 255.255.255.0  broadcast 192.168.100.255

        inet 127.0.0.1  netmask 255.0.0.0

(继续过滤,滤掉带有“inet6”的段落)

 

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

t 192.168.100.147  n

t 127.0.0.1  n

(通过“-o”参数扣出带有IP的字段)

 

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

 192.168.100.147 

 127.0.0.1 

(再次过滤把数字抠出来)

 

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

 192.168.100.147

(利用“head”命令摘出第一段,IP字段查看完毕)

 

 

 

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

 

[root@localhost ~]# head -20 /etc/passwd >/root/pass

[root@localhost ~]# ls

20_pass.txt      pass         test.txt   公共  视频  文档  音乐

anaconda-ks.cfg  pass_15.txt  test.txt~  模板  图片  下载  桌面

 

 

 

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 "sh$" /etc/passwd

root:x:0:0:root:/root:/bin/bash

tom:x:1000:1000:tom:/home/tom:/bin/bash

[root@localhost ~]# grep "^root" /etc/passwd | 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 "^$"

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 yes

GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

UsePrivilegeSeparation sandbox              # Default for new installations.

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 yes

GSSAPICleanupCredentials no

UsePAM yes

X11Forwarding yes

UsePrivilegeSeparation sandbox              # Default for new installations.

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 ~]# cd /etc

(进入etc文件夹)

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

(压缩文件并命名)

[root@localhost etc]# ls /root

20_pass.txt      file.tar.gz  pass_15.txt  test.txt~  模板  图片  下载  桌面

anaconda-ks.cfg  pass         test.txt     公共       视频  文档  音乐

(查看)

 

 

 

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

 

[root@localhost ~]# cd /etc

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

[root@localhost etc]# ls /root

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

anaconda-ks.cfg  file.tar.gz   pass_15.txt  test.txt~  模板  图片  下载  桌面

(做法与上题一样)

 

 

 

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

 

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

(创建空文件夹/web/test1

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

(将file.tar.bz2 解包并释放到/web/test1目录下)

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

passwd

(查看)

 

 

 

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

 

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

(通过vi编辑/web/test1/passwd

:%   s/root/benet/g

(将文件里为root单词全部替换成benet

 

 

 

7.2 通过vi编辑 删除pass文件第1、5、10行。

 

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

:set nu

:1G     D

:5G     D
:10G    D

 

 

 

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

 

[root@localhost ~]# vi pass

: set nu

将光标移动至第二行,3yy

将光标移动到ip行,p

 

 

 

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

 

mail(12)

var(4,5,8,12,15,21,23)

 

 

 

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

 

:r  /etc/hosts

                       

 

 

 

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

 

:w  /root/new_pass

[root@localhost ~]# ls /root/

20_pass.txt      file.tar.bz2  new_pass  pass_15.txt  test.txt~  模板  图片  下载  桌面

anaconda-ks.cfg  file.tar.gz   pass      test.txt     公共       视频  文档  音乐

 

 

 

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

 

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

[root@localhost ~]# ls /root 0           

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

anaconda-ks.cfg  file.tar.gz   npass.gz  pass_15.txt  test.txt~  模板  图片  下载  桌面

 

 

 

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

包含文件夹

[root@localhost dev]# ls -l | grep -v "总用量" | wc -l

155

[root@localhost dev]# ls | wc -l

155

 

不包含文件夹

[root@localhost dev]# ls -l /dev | grep -v "drwxr" | grep -v "总用量" | wc -l

138

 

 

 

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

 

[root@localhost dev]# ls /boot

config-3.10.0-229.el7.x86_64                             initrd-plymouth.img

grub                                                     symvers-3.10.0-229.el7.x86_64.gz

grub2                                                    System.map-3.10.0-229.el7.x86_64

initramfs-0-rescue-7f8ba12e352e4670a26f091cb7a2014d.img  vmlinuz-0-rescue-7f8ba12e352e4670a26f091cb7a2014d

initramfs-3.10.0-229.el7.x86_64.img                      vmlinuz-3.10.0-229.el7.x86_64

(查询boot文件夹下的文件)

 

[root@localhost dev]# ls /boot | grep "vmlinuz"

vmlinuz-0-rescue-7f8ba12e352e4670a26f091cb7a2014d

vmlinuz-3.10.0-229.el7.x86_64

(过滤出含有vmlinuz的字段)

 

 [root@localhost dev]# ls /boot | grep "vmlinuz" | wc -l

2

(统计行数)

 

 

 

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

 

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

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

/boot/vmlinuz-0-rescue-7f8ba12e352e4670a26f091cb7a2014d

/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 ~]# 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/(构建本地YUM仓库文档)

 

[root@localhost yum.repos.d]# mv C* a/(构建本地YUM仓库文档)

 

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

[cdrom]    //仓库名称

name=cdrom

baseurl=file:///media   //指定rpm包的位置

enabled=1   //启用本地yum仓库

gpgcheck=0  //禁用gpg校验

 

[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/group_gz                                                   | 154 kB  00:00:00    

(2/4): cdrom/filelists_db                                               | 2.7 MB  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

元数据缓存已建立

 

 

 

 

 

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

 

[root@localhost ~]# rpm -q vsftpd

未安装软件包 vsftpd

(查询是否安装vsftpd)

 

 

[root@localhost ~]# yum -y install vsftpd

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

正在解决依赖关系

完毕!

(用yum安装vsftpd)

 

 

[root@localhost ~]# rpm -q vsftpd

vsftpd-3.0.2-9.el7.x86_64

(用yum安装vsftpd)

 

 

[root@localhost ~]# yum -y remove vsftpd

已加载插件:fastestmirror, langpacks

正在解决依赖关系

--> 正在检查事务

。                                                                

完毕!

(用yum卸载vsftpd)

 

 

[root@localhost ~]# rpm -q vsftpd

未安装软件包 vsftpd

(查询是否卸载vsftpd)

 

 

 

 

 

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

 

[root@localhost ~]# rpm -q vsftpd"vsftpd"

未安装软件包 vsftpdvsftpd

(超序是否安装vsftpdvsftpd包)

 

 

[root@localhost ~]# find / -name "vsftpd*.rpm"

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

(查找安装vsftpdvsftpd包)

 

 

 [root@localhost ~]# cd /media/Packages/

(进入/media/Packages/

 

 

[root@localhost Packages]# rpm  -ihv  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

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

正在升级/安装...

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

(安装rpm包)

 

 

[root@localhost Packages]# rpm -q vsftpd

vsftpd-3.0.2-9.el7.x86_64

(查询是否安装rpm包)

 

 

[root@localhost Packages]# rpm -e vsftpd

(卸载rpm包)

 

 

[root@localhost Packages]# rpm -q vsftpd

未安装软件包 vsftpd

(查询是否安装rpm包)

 

 

 

 

 

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

 

[root@localhost Packages]# yum -y install gcc gcc-c++ make

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

完毕!

(准备操作,先安装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/

(进入包)

 

 

[root@localhost httpd-2.2.17]# ./configure –prefix=/usr/local/apache

config.status: creating build/config_vars.sh

config.status: creating include/ap_config_auto.h

config.status: executing default commands

(预配置)

 

 

[root@localhost httpd-2.2.17]# make

prutil-1.la /usr/src/httpd-2.2.17/srclib/apr-util/xml/expat/libexpat.la /usr/src/httpd-2.2.17/srclib/apr/libapr-1.la -lrt -lcrypt -lpthread -ldl

make[1]: 离开目录“/usr/src/httpd-2.2.17”

(编译)

 

 

[root@localhost httpd-2.2.17]# make install

Making install in srclib

make[1]: 进入目录“/usr/src/httpd-2.2.17/srclib”

mkdir /usr/local/apache/man/man8

mkdir /usr/local/apache/manual

make[1]: 离开目录“/usr/src/httpd-2.2.17”

(安装)

 

 

[root@localhost httpd-2.2.17]# cd /usr/local/apache/conf/

(进入/usr/local/apache/conf/

 

 

[root@localhost conf]# cp httpd.conf httpd.conf.bak

(拷贝httpd.conf httpd.conf.bak

 

 

[root@localhost conf]# vi /usr/local/apache/conf/httpd.conf

(修改配置文件)

 

 

[root@localhost conf]# /usr/local/apache/bin/apachectl start

(启动)

 

 

[root@localhost conf]# yum -y install lynx

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

完毕

(安装lynx

 

 

[root@localhost conf]# lynx 127.0.0.1

(运行)

转载于:https://www.cnblogs.com/baoqingrui/p/11252684.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值