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章 每周日上午 9:30 来老男孩 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重要的配置文件
原文地址:http://blog.51cto.com/13517084/2065928