练习

1、分别用cat ac l三个命令查看文件/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. 

……

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

#       ForceCommand cvs server

#       PermitTTY no

……

[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

.……

 cat 查看文件内容,可同时显示多个文件的内容(cat格式:cat [选项] 文件名

),显示行数并且对空白行加行数标记;tac倒过来显示;nl显示时会加上行数标记,对空白行不标注行数。

cat格式:cat [选项] 文件名

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 $

# This is the sshd server system-wide configuration file

.……

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

[root@localhost ~]#

more全屏方式分页显示文件内容;less全屏方式分页显示文件内容,但扩展功能更多。

more格式:more [选项] 文件名(一般不用选项);less格式: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 ~]# ls /root/

20_pass.txt  aaa  aaa.tar.bz2  test,txt  公共  模板  视频  图片  文档  下载  音乐  桌面

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

[root@localhost ~]# ls /root

20_pass.txt  aaa  aaa.tar.bz2  pass_15.txt  test,txt  公共  模板  视频  图片  文档  下载  音乐  桌面

[root@localhost ~]#

grep在文件中查找并显示包含指定字符串的行

格式:grep [选项]…目标文件

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

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

  2  10 158 /etc/hosts

wc用来统计文件中的单词数量等,-l统计行数、-w统计单词个数、-c统计字节数

5、练习使用grep和egrep

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

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

        inet 192.168.100.115  netmask 255.255.255.0  broadcast 192.168.100.255

        inet6 fe80::20c:29ff:fe86:deec  prefixlen 64  scopeid 0x20<link>

        inet 127.0.0.1  netmask 255.0.0.0

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

grep在文件中查找并显示包含指定字符串的行

grep格式:grep [选项] …查找条件 目标文件

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

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

[root@localhost ~]# ls /root

20_pass.txt  aaa.tar.bz2  pass_15.txt  公共  视频  文档  音乐

aaa          pass         test,txt     模板  图片  下载  桌面

head查看文件开头的一部分内容,默认显示10行,可加选项调节

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

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

35

wc统计文件中的单词数量,-l统计行数、-w统计单词数、-c统计字节数、|表示或

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文件中不包含“#”开头和空白的行?

egrep增强性过滤

egrep格式:egrep [选项] “查找条件1|查找条件2|查找条件3…” 目标文件

 

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

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

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

[root@localhost ~]# ls /root/

20_pass.txt  aaa.tar.bz2  pass         test,txt  模板  图片  下载  桌面

aaa          file.tar.gz  pass_15.txt  公共      视频  文档  音乐

tar制作归档文件、释放归档文件;

归档格式为:tar [选项] 归档文件名 源文件或目录(-c创建.tar格式的包文件、-z调用gazp程序进行压缩或解压、-f表示使用归档文件,后面需紧跟归档文件名)

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

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

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

[root@localhost ~]# ls /root/

20_pass.txt  file.tar.bz2  pass_15.txt  模板  文档  桌面

aaa          file.tar.gz   test,txt     视频  下载

aaa.tar.bz2  pass          公共         图片  音乐

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

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

mkdir: 已创建目录 "/web"

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

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

bzip2: (stdin) is not a bzip2 file.

tar: Child returned status 2

tar: Error is not recoverable: exiting now

-j调用bzip2程序进行压缩或解压缩、-x解开.tar格式的包文件、-f表示使用归档文件,后面需紧跟归档文件名、-v输出详细信息

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

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

:% s/root/benet/g

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

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

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

vi进入文本编辑,shift+:进入文本,% s/root/benet/g:在整个文件范围内替换所有的字符串“root”为“beent”

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

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

Esc进入命令模式。Shift+:输入命令1 d 删除1行,输入命令5 d 删除5行, 输入命令10 d 删除10行

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

:set nu显示行号

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

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

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

      5

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

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

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

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

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

光标在2行按3yy代表复制2行后三行,将光标移动至ip按p粘贴所复制的三行

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

Vi /web/test1:进入文件——-esc:进入命令模式——shift+: 进入末行模式,/字符,开始查找

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

3 127.0.0.1   localhost localhost.localdomain localhost4 localhost4        .localdomain4

      4 ::1         localhost localhost.localdomain localhost6 localhost6        .localdomain6

Vi /web/test1:进入文件——-esc:进入命令模式——shift+: 进入末行模式,输入2快速跳转到文件的第二行

Vi /web/test1:进入文件——-esc:进入命令模式——shift+: 进入末行模式,输入r /etc/hosts开始读取文件内容

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

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

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

"~/new_pass" [New] 58L, 2562C written

:w/root/newfile另存为其他文件

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

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

gzip: /new_pass: No such file or directory

[root@localhost test1]# ls /root

20_pass.txt  file.tar.bz2  pass         公共  图片  音乐

aaa          file.tar.gz   pass_15.txt  模板  文档  桌面

aaa.tar.bz2  npass.gz      test,txt     视频  下载

>代表重定向

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

[root@localhost test1]# find /dev*|wc -l

350

find精细查找文件或目录,格式为 find [查找范围] [查找条件表达式];wc统计文件中的单词数量,格式为wc [选项]…目标文件,-l统计行数

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

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

/boot/vmlinuz-0-rescue-c10398b439524bab84dedcbf07fcf588

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

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

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

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

/boot/vmlinuz-0-rescue-c10398b439524bab84dedcbf07fcf588

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

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

 

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

构建本地YUM仓库文档

cd /etc/yum.r*

mkdir a/

mv C* a/

创建本地yum仓库文档

vi ./local.repo

[cdrom]    //仓库名称

name=cdrom

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

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

gpgcheck=0  //禁用gpg校验

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

清除yum缓存

yum -y clean all

重建yum缓存

yum makecache

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

查询是否安装vsftpd

rpm -q vsftpd

用yum安装vsftpd

yum -y install vsftpd

查询是否安装vsftpd

rpm -q vsftpd

用yum卸载vsftpd

yum -y remove vsftpd

查询是否卸载vsftpd

rpm -q vsftpd

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

root@localhost test1]# yum -y install vsftpd(安装)

已加载插件:fastestmirror, langpacks

base                                              | 3.6 kB     00:00    

extras     

……

[root@localhost test1]# rpm -q vsftpd(查询是否安装)

vsftpd-3.0.2-25.el7.x86_64  

[root@localhost test1]# yum -y remove vsftpd(卸载)

已加载插件:fastestmirror, langpacks

正在解决依赖关系

 ……   

[root@localhost test1]# rpm -q vsftpd(查询是否安装)

未安装软件包 vsftpd              

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

[root@localhost Packages]# ls | grep "^vsftp"

vsftpd-3.0.2-9.el7.x86_64.rpm

[root@localhost Packages]# rpm -ivh vsftpd-3.0.2-9.el7.x86_64.rpm

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

正在升级/安装...

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

[root@localhost Packages]# rpm -q vsftpd

vsftpd-3.0.2-9.el7.x86_64

[root@localhost Packages]# rpm -e vsftpd

[root@localhost Packages]# rpm -q vsftpd

未安装软件包 vsftpd

原文地址:https://www.cnblogs.com/XXXX001/p/11251406.html