12.28 第三关练习题(下)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了12.28 第三关练习题(下)相关的知识,希望对你有一定的参考价值。

12.28        

第三关练习题()

内容:

1.  默认awk不认识{} 加上--re-interval选项

2.  grep  -i   忽略大小写

3.  常用的DNS服务器

4.  企业案例:企业网站中病毒从发现到解决过程(6个步骤)

第1章 找出网卡配置文件中IPADDR的行

方法一:

[[email protected] oldboy]# egrep '^IP.*[0-9]{2,}' /etc/sysconfig/network-scripts/ifcfg-eth0 -o

IPADDR=10.0.0.201

方法二:

[[email protected] oldboy]# awk  --re-interval '/^IP.*[0-9]{2,}/' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

默认awk不认识{} 加上--re-interval选项

方法三  :awk 也可以过滤文件内容 搭配’//’

[[email protected] oldboy]# awk --re-interval '/([0-9]+\.+){3}[0-9]{3}/' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

方法四:egrep

[[email protected] oldboy]# egrep '([0-9]+\.+){3}[0-9]{3}' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

方法五:sed

[[email protected] oldboy]# sed -rn  '/([0-9]+\.+){3}[0-9]{3}/p' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

 

1.1 补充:

grep  -i   忽略大小写

[[email protected] oldboy]# grep -i 'ipaddr' /etc/sysconfig/network-scripts/ifcfg-eth0

IPADDR=10.0.0.201

 

 

 

1.2 awk sed 用法区别

1.awk   找出这一行(‘NR’)      找出某一列 -F “[]” ‘{print  $}’

sed    找出这一行-n ’//p’   替换’s###g’

 

2.awk  sed  过滤  查找文件内容 格式 '//'   ,其余功能看具体情况  比如sed  替换    awk  显示行号等等   不用

 

第2章 linux 下通过 mkdir 命令创建一个新目录/oldboy/ett,它的硬链接数是多少,为什么?

硬链接数 2            /ett   /ett/.   inode相同   

[[email protected] oldboy]# ls -ild ett ett/.                        

405152 drwxr-xr-x. 2 root root 4096 May 22 03:42 ett           目录本身

405152 drwxr-xr-x. 2 root root 4096 May 22 03:42 ett/.         下面第一级子目录的 .

 

第3章 如果在/oldboy/ett 下面再创建一个目录 test。再问/oldboy/ett 的硬链接数是多少?为什么。

硬链接数 3              /ett     /ett/.   /ett2/..      

[[email protected] oldboy]# mkdir ett/ett2

[[email protected] oldboy]# ls -ild ett ett/. ett/ett2/..

405152 drwxr-xr-x. 3 root root 4096 May 22 03:43 ett            目录本身

405152 drwxr-xr-x. 3 root root 4096 May 22 03:43 ett/.          下面第一级子目录的  .

405152 drwxr-xr-x. 3 root root 4096 May 22 03:43 ett/ett2/..    下面第二级子目录的  ..

 

3.1 知识点  /etc下有77个一级目录(不包含子目录下的子目录)

[[email protected] /]# ls -ld /etc

drwxr-xr-x. 79 root root 4096 Dec 22  2017 /etc

第4章 请给出默认情况 eth0 网卡配置文件的路径及客户端 DNS 的路径。

eth0网卡配置文件:

/etc/sysconfig/network-scripts/ifcfg-eth0

DNS路径

/etc/resolv.conf

/etc/sysconfig/network-scripts/ifcfg-eth0

4.1 补充:常用的DNS服务器

1.     阿里云

223.5.5.5      223.6.6.6

2.114

114.114.114.114       114.114.115.115

3.供应商提供

 

4.2 企业案例:企业网站中病毒  √√√√√√√

从发现到解决的过程:

1、运营人员、网站用户发现问题,网站有弹窗广告。

2、运营人员报给开发人员,开发联系运维人员。开发和运维共同解决。

3、开发发现的问题原因就是所有站点目录被嵌入了一段JS代码。

4、运维人员解决问题:

a)  备份原始出问题的原始文件。

b)  历史备份覆盖。

c)  find+sed替换。

5、详细查看日志,寻找问题发生来源。

6、提供亡羊补牢解决方案

 

第5章 查找当前目录下所有文件,并把文件中的 www.etiantian.org 字符串替换成 www.oldboy.cc

假设你在/oldboy目录中  --find的三种写法

#find /oldboy/ -type f |xargs sed 's#www.etiantian.org#www.oldboy.cc#g'

#sed 's#www.etiantian.org#www.oldboy.cc#g'$(find /oldboy/ -type f)

find /oldboy/ -type -exec sed 's#www.etiantian.org#www.oldboy.cc#g' {} \;

第6章 问题:如何赋予 oldboy 文件 -rw-r--r-x 权限属性

方法一:

chmod 645 oldboy

方法二:

chmod u=rw,g=r,o=rx oldboy

 

第7章 执行下面命令时发现提示需要输入密码,请问提示输入的密码是哪个用户的密码。

[[email protected] ~]$ sudo su - oldboy

oldboy用户

 

 

第8章 请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。

   echo "oldboy";echo "oldboy"

echo  -n       不执行回车,echo命令默认在结束时执行回车

echo  -e  “\n”  -e支持转义

echo  -t       执行tab

[[email protected] oldboy]# echo -e "a\nb\tc"

a

b   c

 

第9章 请给出如下格式的 date 命令 例:11-02-26。在给出实现按周输出 比如:周六输出为 6,请分别给出命令。

[[email protected] oldboy]# date +%y-%m-%d

17-12-28

注意:严格区分大小写

按照要求显示日期

9.1 date  +%F    +按照规定格式显示

           %F  --   === %Y-%m-%d

[[email protected] /]# date +%Y-%m-%d     ====     [[email protected] /]# date +%F

2017-05-22                                    2017-05-22

9.2 date  +%T        + %T   ::   ====+%H:%M:%S

                       +%w            星期

显示当前时间  按照 --_周几

[[email protected] /]# date +%F_%w

2017-05-22_1

 

9.3 date  -d    按照你的描述显示日期

显示前一天日期       并且按照规定格式

[[email protected] /]# date -d "1 day ago"

Sun May 21 05:08:03 CST 2017

[[email protected] /]# date -d "-1day"

Sun May 21 05:08:40 CST 2017

[[email protected] /]# date -d "-10day" +%F

2017-05-12

9.4 date   -s   修改时间

[[email protected] oldboy]# #date -s "20171314 12:12:12"      年月日 时:分:秒

[[email protected] oldboy]# date -s "100year"            修改年份

Tue Dec 28 16:56:18 CST 2117

[[email protected] oldboy]# date

Tue Dec 28 16:56:38 CST 2117

9.5 ntpdate自动同步系统时间

ntpdate   根据时间服务器自动修改当前系统的时间

         自动同步时间

ntpdate   ntp1.aliyun.com     网络同步时间         虚拟机必须连通外网

         ntp2.aliyun.com

pool.ntp.org

[[email protected] /]# ntpdate ntp1.aliyun.com

28 Dec 10:44:47 ntpdate[97545]: step time server 182.92.12.11 offset 19027175.922945 sec

[[email protected] /]# date

Thu Dec 28 10:45:12 CST 2017

小结:

1.     按照指定格式显示日期

2.     按照描述和指定的格式显示日期

3.     自动同步时间

9.6 修改时区(了解)

[[email protected] ~]# cp /usr/share/zoneinfo/Asia/S
Saigon         Samarkand      Shanghai       Srednekolymsk  
Sakhalin       Seoul          Singapore      
[[email protected] ~]# cp /usr/share/zoneinfo/Asia/Shanghai  /etc/localtime 
cp: overwrite `/etc/localtime'? y
[[email protected] ~]# 
[[email protected] ~]# 
[[email protected] ~]# 
[[email protected] ~]# hwclock 

 

第10章 当从 root 用户切到普通用户时,执行 ifconfig 会提示。

[[email protected] ~]$ ifconfig

-bash: ifconfig: command not found

提示:c58 会遇到,c64 没有此问题。

请问这是为什么?如何解决,请给出详细解决过程

10.1 模拟环境:

                            去掉/sbin         

#export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

 

10.2 原因:(系统执行命令的过程)

1.     输入命令

2.     shell会在PATH里面查找命令

3.     找到执行

4.     找不到提示

command not found

 

10.3 解决:修改环境变量

10.3.1 临时

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin  root用户

10.3.2 永久                                    ~/bin     普通用户(可手动添加)

tail   -1  /etc/profile

export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin  root用户

                                                       ~/bin     普通用户

10.3.3 生效

source

 

10.4 补充:PATH命令路径分类                  

/bin            /sbin

/usr/bin         /usr/sbin

/usr/local/bin     /usr/local/sbin

 

 

第11章 扩展问题:打印三天前的日期格式如:2011-02-26

[[email protected] oldboy]# date -d "-3day" +%F

2017-12-26

 

第12章 请描述下列路径的内容是做什么的?

/var/log/messages                   系统默认日志

/var/log/secure                     用户登录信息

            

/etc/fstab                         开机自动挂载列表

/etc/profile                        环境变量(PS1   PATH)  别名

/etc/hosts                         解析主机名

/var/spool/cron/root                 定时任务配置文件

 

第13章 如何快速查到 ifconfig 的全路径(假如你不知道其路径),请给出命令。

13.1 which

[[email protected] /]# which ifconfig

/sbin/ifconfig

13.2 find

find /  -type f  -name  “ifconfig”

13.3 whereis  找出与这个命令相关的文件的位置

[[email protected] ~]$ whereis  ifconfig

ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz

 

13.4 locate 根据一个数据库进行查找   (缺点:数据库需要更新,数据多时相当慢消耗系统性能)(几乎不用)

updatedb   更新数据库

[[email protected] ~]$ locate   oldboy.txt

/data/oldboy.txt

/data/oldboy.txt.bak

/data/oldboyedu/oldboy.txt

/oldboy/oldboy.txt

 

第14章 每周日上午 930 来老男孩 linux 培训上课(用/oldboy.sh 代替),请用 linux 定时任务命令表示。

 30  9  *  *  7   /bin/sh  /oldboy.sh   >/dev/null   2>&1

第15章 请给出查看当前哪些用户在线的 linux 命令。

 

第16章 公司一开发人员申请对某一服务器 10 天的普通用户权限,请问你如何操作?

 

 

 

 

 

第17章 请给出正确的关机和重起服务器的命令。

17.1 关机命令

shutdown  -h  now(分钟)             可以设定几分钟后关机/重启  shutdown -c    取消

halt                                关闭系统  不会关闭电源(物理机   云服务器没有影响)

poweroff                                 

init 0                              不会把数据写进磁盘里,容易造成数据丢失

17.2 重启命令

shutdown -r   now

reboot

init 6

 

第18章 请写出下面 linux SecureCRT 命令行快捷键命令的功能?

命令行快捷键

 

移动光标

把光标移动到这一行的开头               Ctrl + a

把光标移动到这一行的结尾               Ctrl+e

把光标向右移动一个单词                 Ctrl+右

 

删除(剪切)光标所在位置到行首的内容   Ctrl + u

删除(剪切)光标所在位置到行尾的内容   Ctrl + k

粘贴                                   ctrl + y

 

其他功能(命令行)

取消当前操作                           ctrl  + c  (cancel) 

清屏                                   cerl  + l  ===clear

退出当前用户                           ctrl  + d  ===logout

使用上个命令最后的东西                 esc  + .(点)

锁定屏幕                               ctrl  + s

解锁                                   ctrl  + q

查找之前敲过的命令                     history |grep

查找你使用过的命令                     ctrl  + r  

自动补全路径或命令                     tab

 

第19章 创建一个/etc压缩包名字etc-2017-11-11.tar.gz √√√√

19.1 方法一:

[[email protected] oldboy]# tar zcvf $(echo etc-"$(date +%F.tar.gz)") ett

ett/

ett/ett2/

ett/ett2/1.txt

[[email protected] oldboy]# ls |grep 'etc.*tar.gz'

etc-2017-12-28.tar.gz

19.2 方法二:

echo et-$(date +%F.tar.gz)|xargs tar zcv ett -f

19.3 方法三:√√√√√√√√√√√√

tar zcvf e-$(date +%F).tar.gz ett

[[email protected] oldboy]# ls e-$(date +%F).tar.gz

e-2017-12-28.tar.gz

 

19.4 方法四:

[[email protected] oldboy]# tar zcv ett -f g-$(date +%F).tar.gz

 

19.5 注意:

1.   根据方法三知  不止echo命令可以执行 ''  ""  $()    大部分命令都可以

2.   tar 命令   -f  参数可以在任意位置指定压缩文件包





 

 

总结:

1.     第三波命令

2.     查看修改系统时间 (创建文件并跟上时间作业:

3.     修改PATH

4.     linux快捷键和vim快捷键

5.     目录硬链接数

6.     回顾linux重要的配置文件

 


以上是关于12.28 第三关练习题(下)的主要内容,如果未能解决你的问题,请参考以下文章

12.27 -第三关练习题之正则练习

第三关面向对象,网络编程闯关练习

第三关练习题 权限

第三关练习-权限

Linux_第三关练习题_1,3

过三关 Java冒泡排序选择排序插入排序小练习