Linux学习第二、三章作业.zxs

chapter02 - 03 作业

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

cat:正序  tac:反序  nl:有序号不显示空行

 

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

1.  less可以按键盘上下方向键显示上下内容,more不能通过上下方向键控制显示
2.
 less不必读整个文件,加载速度会比more更快
3.
 less退出后shell不会留下刚显示的内容,而more退出后会在shell上留下刚显示的内容

 

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 ~]# less 20_pass.txt

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

[root@localhost ~]# less pass_15.txt

 

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

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

  2 158 /etc/hosts

5、练习使用grep和egrep

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

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

        inet192.168.100.100  netmask 255.255.255.0  broadcast 192.168.100.255

        inet6 fe80::aa62:538d:f731:c394  prefixlen 64  scopeid 0x20<link>

        inet6 fe80::49fc:604a:b447:7e26  prefixlen 64  scopeid 0x20<link>

        inet 127.0.0.1  netmask 255.0.0.0

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

        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255

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

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

[root@localhost ~]# less pass

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

[root@localhost ~]# grep "/sbin/nologin" /etc/passwd | wc -l

36

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 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?

[root@localhost ssh]# grep -v "^#" /etc/ssh/ssh_config  | grep -v "^$"

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

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

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

tar: 从成员名中删除开头的“/”

[root@localhost ~]# ls /root

$                initial-setup-ks.cfg  视频  下载

anaconda-ks.cfg  公共                  图片  音乐

file.tar.gz     模板                  文档  桌面

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

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

tar: 从成员名中删除开头的“/”

[root@localhost ~]# ls /root

$                initial-setup-ks.cfg  图片  桌面

anaconda-ks.cfg  公共                  文档

file.tar.bz2     模板                  下载

file.tar.gz      视频                  音乐

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

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

mkdir: 已创建目录 "/web"

mkdir: 已创建目录 "/web/test1"

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

 

 

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

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

:% s/root/benet/g

:wq

 

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

[root@localhost ~]# vi /root/pass

:set nu       光标移动第1-5-10行 dd删除

 

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

[root@localhost ~]# vi /root/pass

:set nu

3yy

/lp   按p键zhantie

:wq

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

[root@localhost ~]#vi /root/pass

:set nu

/mail

/ var

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

[root@localhost ~]#vi /root/pass

:set nu

2G

:r /etc/hosts

 

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

:w /root/new_pass

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

[root@localhost /]# gzip /root/new_pass

[root@localhost /]# mv /root/new_pass.gz  /root/npass.gz

[root@localhost /]# ls /root/npass.gz

/root/npass.gz

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

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

158

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

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

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

/boot/vmlinuz-0-rescue-31f765095e1440c19a6355c391d8b37b

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

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

/boot/initramfs-0-rescue-31f765095e1440c19a6355c391d8b37b.img

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

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

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

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

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

[root@localhost media]# mkdir /8                               创建文件夹

[root@localhost media]# cd /etc/yum.repos.d/          移动到yum源配置文件

[root@localhost yum.repos.d]# mv C* /8                    把C开头的文件移动到新建文件夹上

[root@localhost yum.repos.d]# vi wj.repo                 手动建立yum源配置文件

按 a键

[6]

name=777                                          定义软件仓库名称

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

enable=1                                            启动yum源

gpgcheck=0                                      关闭gpg校验(主要校验RPM是否完整)

esc退出 :wq                                    保存退出 

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

已加载插件:fastestmirror, langpacks

正在清理软件源: 6

Cleaning up everything

Maybe you want: rm -rf /var/cache/yum, to also free up space taken by orphaned data from disabled or removed repos

Cleaning up list of fastest mirrors

[root@localhost yum.repos.d]# yum makecache             重建缓存

已加载插件:fastestmirror, langpacks

6

(1/4): 6/group_gz               | 156 kB   00:00    

(2/4): 6/filelists_db           | 6.7 MB   00:00    

(3/4): 6/primary_db             | 5.7 MB   00:00    

(4/4): 6/other_db               | 2.5 MB   00:00                                                                               

元数据缓存已建立

~                  

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

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

已加载插件:fastestmirror, langpacks

Loading mirror speeds from cached hostfile

正在解决依赖关系

--> 正在检查事务

---> 软件包 vsftpd.x86_64.0.3.0.2-22.el7 将被 安装

--> 解决依赖关系完成

依赖关系解决

=====================================================

 Package    架构       版本              源     大小

=====================================================

正在安装:

 vsftpd     x86_64     3.0.2-22.el7      6     169 k

事务概要

=====================================================

安装  1 软件包

总下载量:169 k

安装大小:348 k

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在安装    : vsftpd-3.0.2-22.el7.x86_64       1/1

  验证中      : vsftpd-3.0.2-22.el7.x86_64       1/1

已安装:

  vsftpd.x86_64 0:3.0.2-22.el7                      

完毕!

[root@localhost yum.repos.d]# rpm -q vsftpd

vsftpd-3.0.2-22.el7.x86_64

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

已加载插件:fastestmirror, langpacks

正在解决依赖关系

--> 正在检查事务

---> 软件包 vsftpd.x86_64.0.3.0.2-22.el7 将被 删除

--> 解决依赖关系完成

依赖关系解决

=====================================================

 Package    架构       版本             源      大小

=====================================================

正在删除:

 vsftpd     x86_64     3.0.2-22.el7     @6     348 k

事务概要

=====================================================

移除  1 软件包

安装大小:348 k

Downloading packages:

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

  正在删除    : vsftpd-3.0.2-22.el7.x86_64       1/1

  验证中      : vsftpd-3.0.2-22.el7.x86_64       1/1

删除:

  vsftpd.x86_64 0:3.0.2-22.el7                      

完毕!

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

[root@localhost yum.repos.d]# cd /media

[root@localhost media]# cd Packages/

[root@localhost Packages]# rpm -iv vsftpd-3.0.2-22.el7.x86_64.rpm

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

软件包准备中...

vsftpd-3.0.2-22.el7.x86_64

[root@localhost Packages]# rpm -q vsftpd

vsftpd-3.0.2-22.el7.x86_64

[root@localhost Packages]# rpm -e vsftpd

[root@localhost Packages]# rpm -q vsftpd

未安装软件包 vsftpd

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

原文地址:https://www.cnblogs.com/wangjia120/p/11252479.html