chapter02 - 03 作业

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

cat 命令可同时显示多个文件的内容

tac 倒序显示

nl 显示行号,不现实空白行

[root@localhost chen]# cat /etc/ssh/sshd_config

#       $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $

……

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

#       ForceCommand cvs server

……

root@localhost chen]# nl  /etc/ssh/sshd_config

     1    #       $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $

……

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

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

more命令是全屏方式分页显示文件内容

less命令功能多可以按/查找内容,按pguf、pgdn键上下翻页,与more功能基本类似

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

#       $OpenBSD: sshd_config,v 1.100 2016/08/15 12:32:04 naddy Exp $

# Authentication:

--More--(24%)

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

[root@localhost chen]#

3、将/etc/passwd文件中的前20行重定向保存到/root下改名为20_pass.txt,将/etc/passwd文件中的后15行重定向保存到/root下改名为:pass_15.txt

[root@localhost chen]# head -20 /etc/passwd > /root/20_pass.txt

[root@localhost chen]# ls /root/

20_pass.txt  anaconda-ks.cfg  initial-setup-ks.cfg

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

[root@localhost chen]# ls /root/

20_pass.txt  anaconda-ks.cfg  initial-setup-ks.cfg  pass_15.txt

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

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

  2  10 158 /etc/hosts

5、练习使用grep和egrep

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

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

        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 chen]# head -20 /etc/passwd > /root/pass

[root@localhost chen]# ls /root/

20_pass.txt  anaconda-ks.cfg  initial-setup-ks.cfg  pass  pass_15.txt

[root@localhost chen]#

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

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

38

5.4 过滤/etc/passwd文件中以sh结尾的行,及以 root开头的行,不显示包含login的行?

[root@localhost chen]# egrep  "sh$|^root" /etc/passwd | grep -v "login"

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

chen:x:1000:1000:chen:/home/chen:/bin/bash

5.5 分别用grep和egrep过滤出/etc/ssh/sshd_config文件中不包含“#”开头和空白的行?

[root@localhost chen]# grep -Ev "^#|^$" /etc/passwd

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

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

……

[root@localhost chen]# egrep -v "^#|^$" /etc/passwd

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

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

……

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

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

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

[root@localhost chen]# ls /root/

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

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

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

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

[root@localhost chen]# ls /root/

anaconda-ks.cfg  file.tar.bz2  initial-setup-ks.cfg

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

[root@localhost chen]# ls /root/

anaconda-ks.cfg  file.tar.bz2  initial-setup-ks.cfg

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

mkdir: 已创建目录 "/web"

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

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

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

passwd

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

% s/root/benet/g

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

bin:x:1:1:bin:/bin:/sbin/nologin

 

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

1 daemon:x:2:2:daemon:/sbin:/sbin/nologin

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

:1 d

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

 2 lp:x4:7:lp:/var/spool/lpd:/sbin/nologin

:5 d

:10 d

 

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

/set nu(显示行号)

:2    (光标移到第二行)

3yy (复制二三四行三行内容)

p   (粘贴)

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

/mail 8

/var 4.8.11.。。。。

 

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

#2

r /etc/hosts

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

3 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdoma        in4

4 ::1         localhost localhost.localdomain localhost6 localhost6.localdoma        in6

 5 sync:x:5:0:sync:/sbin:/bin/sync

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

:w /root/new_pass

[root@localhost chen]# ls /root/

anaconda-ks.cfg  initial-setup-ks.cfg  new_pass

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

[root@localhost chen]# gzip /root/new_pass /root/npass.gz

[root@localhost chen]# ls /root/

anaconda-ks.cfg  initial-setup-ks.cfg  new_pass.gz

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

[root@localhost chen]# find /dev* | wc

    355     355    5557

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

[root@localhost chen]# find /boot/vmlinuz*

/boot/vmlinuz-0-rescue-c437baa086514f01850a9178b54b456f

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

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

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

/boot/System.map-3.10.0-862.el7.x86_64

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

/boot/vmlinuz-0-rescue-c437baa086514f01850a9178b54b456

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

umount /dev/sr0                        //卸载光盘

mount /dev/sr0 /media/                 //挂载光盘

ls /media/                            //查看

cd /etc/yum.r*                    //构建本地YUM仓库文档

mkdir a/                        //创建本地yum仓库文档

mv C* a/

vi ./local.repo

[cdrom]                      //仓库名称

name=cdrom

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

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

gpgcheck=0               //禁用gpg校验

 

----------------

清除yum缓存

yum -y clean all

重建yum缓存

yum makecache

[root@localhost yum.repos.d]# yum -y clean all

已加载插件:fastestmirror, langpacks

正在清理软件源: cal

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

[root@localhost yum.repos.d]# yum makecache

已加载插件:fastestmirror, langpacks

Determining fastest mirrors

cal                                                         | 3.6 kB  00:00:00

(1/4): cal/group_gz                                         | 166 kB  00:00:00

(2/4): cal/primary_db                                       | 3.1 MB  00:00:00

(3/4): cal/filelists_db                                     | 3.1 MB  00:00:00

(4/4): cal/other_db                                         | 1.3 MB  00:00:00

元数据缓存已建立

[root@localhost yum.repos.d]#

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             cal            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            @cal            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 Packages]# rpm -ivh 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

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

正在升级/安装...

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

[root@localhost Packages]# rpm -q vsftpd

vsftpd-3.0.2-22.el7.x86_64

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

[root@localhost Packages]# rpm -q vsftpd

未安装软件包 vsftp

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

解包

[root@localhost ~]#tar xf httpd-2.2.17.tar.gz -C /usr/src

进入

[root@localhost ~]# cd /usr/src/httpd-2.2.17/
[root@localhost httpd-2.2.17]#

配置

[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]# lynx 127.0.0.1

Linux系统管理----目录与文件管理作业习题的更多相关文章

  1. Linux系统管理第一二三四章 系统管理 目录和文件管理 安装及管理程序 账号管理

    命令 功能 序号 第一章   cd 切换目录 1 stat 查看文件状态信息 2 cp 复制   -f -i -p -r 3 du 统计磁盘的大小 4 find 精细查找文件和目录 5 help 帮助 ...

  2. Linux系统管理第五次作业 LVM逻辑卷 磁盘配额

    1.为主机增加80G SCSI 接口硬盘 2.划分三个各20G的主分区 [root@localhost ~]# fdisk /dev/sdf 欢迎使用 fdisk (util-linux 2.23.2 ...

  3. Linux系统管理第四次作业 磁盘管理 文件系统

    1.为主机新增两块30GB的SCSI硬盘 2.划分3个主分区,各5GB,剩余空间作为扩展分区 [root@localhost ~]# fdisk /dev/sdb 欢迎使用 fdisk (util-l ...

  4. Linux系统管理第三次作业 账号管理 权限及归属管理

    1.创建/guanli 目录,在/guanli下创建zonghe 和 jishu 两个目录(一条命令) [root@localhost ~]# mkdir /guanli [root@localhos ...

  5. Linux系统管理第六次作业 进程和计划任务管理

    1.通过ps命令的两种选项形式查看进程信息 [root@localhost ~]# ps aux USER        PID %CPU %MEM    VSZ   RSS TTY      STA ...

  6. 【Linux学习】Linux系统管理2—作业调度

    Linux系统管理2-作业调度 at: 作业仅执行一次就从系统工作队列中取消 语法 denny@ubuntu:~$ at [-m] TIME                     → 作业命令at ...

  7. Linux常用命令梳理——文件管理(一)

    由于本人目前仍是萌新一枚,所以<Linux常用命令梳理>系列仅依照个人目前掌握的知识,对一部分命令进行梳理,目的是为了对之前学到的知识进行巩固.当然了,如果机缘巧合被大家看到了,也欢迎各位 ...

  8. linux 系统管理--进程管理

    目录 linux 系统管理--进程管理 一.进程基本概述 二.监控进程状态 三.进程的优先级[进阶] 四.企业案例,Linux假死是怎么回事 五.后台进程管理 六.系统平均负载[进阶] linux 系 ...

  9. day 2远程连接Linux系统管理

        IP端口-协议等基本概念 互联网上的计算机,都会有一个唯一的32位的地址,IP地址. 我们访问服务器.就必须通过这个IP地址. 局域网也有预留的IP地址 192/10/172开头.局域网的 I ...

随机推荐

  1. Dubbo源码学习之-SPI介绍

    前言 学习之路还是要戒骄戒躁,一以贯之的积累前行.之前的公司部门技术达人少,自己总向往那些技术牛人多的团队,想象自己进去之后能跟别人学到多少东西.如今进到一个这样的团队之后,却发现之前自己的想法过于幼 ...

  2. mail.inc实现周密的留言发邮箱

    我网站上很多地方都有给我留言的链接,这些链接指向一个地方 http://www.dushangself.site/emlog/?post=8 (源码使用方式:一共四个源代码,第一个和第二个写在一起,, ...

  3. Jrebel激活服务搭建

    前言 因为平时的开发工具是使用IntelliJ IDEA,所以热部署项目代码的时候,使用的Jrebel.因为Jrebel是收费的,所以以前用的时候都是在网上找破解方法(国人通用做法),在网上找到的办法 ...

  4. 并发编程-concurrent指南-信号量Semaphore

    Semaphore翻译成字面意思为 信号量,Semaphore可以控同时访问的线程个数,通过 acquire() 获取一个许可,如果没有就等待,而 release() 释放一个许可. acquire( ...

  5. iOS组件化开发一pod库包含MRC的文件处理(五)

    在做项目的过程中,建立了一个私有pod库,在这个库中存在mrc类文件这个时候如果在使用了arc的工程中引用这个pod的工程中手动设置当然也可以就是费时费力.现在我们来看看如何在私有库配置文件里配置自动 ...

  6. Django用户头像上传

    1 将文件保存到服务器本地 upload.html ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 <!DOCTYPE html> <html ...

  7. Design Principles (设计原则)

    这是我在2018年4月写的英语演讲稿,可惜没人听得懂(实际上就没几个人在听). 文章的内容是我从此前做过的项目中总结出来的经验,从我们的寝室铃声入手,介绍了可扩展性.兼容性与可复用性等概念,最后提出良 ...

  8. [MySQL]快速解决"Table '.\sjzlf\zbp_post' is marked as crashed and should be repaired"故障

    为了不冒失修复,故采取保守做法,我们知道 MySQL 一个高效的管理工具便是 PhpMyAdmin,而在该管理软件中就包含了对表的检查.分析.修复.优化功能,比起网上提供的含糊命令行来说更安全更简便. ...

  9. C#拼装JSON数组简易方法

    下面是我们想要拼接出来的JSON字符串,返回给前台 {"success":"true","msg":"","d ...

  10. java学习笔记(基础篇)—java数组

    一:什么是数组,什么时候使用数组? 数组是用来保存一组数据类型相同的元素的有序集合,数组中的每个数据称为元素.有序集合可以按照顺序或者下标取数组中的元素. 在Java中,数组也是Java对象.数组中的 ...