标签:inf sudo 几分钟 系统 ifcfg-eth reboot may 解锁 /etc
12.28第三关练习题(下)
内容:
1. 默认awk不认识{} 加上--re-interval选项
2. grep -i 忽略大小写
3. 常用的DNS服务器
4. 企业案例:企业网站中病毒从发现到解决过程(6个步骤)
方法一:
[root@oldboy oldboy]# egrep '^IP.*[0-9]{2,}' /etc/sysconfig/network-scripts/ifcfg-eth0 -o
IPADDR=10.0.0.201
方法二:
[root@oldboy oldboy]# awk --re-interval '/^IP.*[0-9]{2,}/' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.201
默认awk不认识{} 加上--re-interval选项
方法三 :awk 也可以过滤文件内容 搭配’//’
[root@oldboy oldboy]# awk --re-interval '/([0-9]+\.+){3}[0-9]{3}/' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.201
方法四:egrep
[root@oldboy oldboy]# egrep '([0-9]+\.+){3}[0-9]{3}' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.201
方法五:sed
[root@oldboy oldboy]# sed -rn '/([0-9]+\.+){3}[0-9]{3}/p' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.201
grep -i 忽略大小写
[root@oldboy oldboy]# grep -i 'ipaddr' /etc/sysconfig/network-scripts/ifcfg-eth0
IPADDR=10.0.0.201
1.awk 找出这一行(‘NR’) 找出某一列 -F “[]” ‘{print $}’
sed 找出这一行-n ’//p’ 替换’s###g’
2.awk sed 过滤 查找文件内容 格式 '//' ,其余功能看具体情况 比如sed 替换 awk 显示行号等等 不用
硬链接数 2 /ett /ett/. inode相同
[root@oldboy 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 /ett /ett/. /ett2/..
[root@oldboy oldboy]# mkdir ett/ett2
[root@oldboy 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/.. 下面第二级子目录的 ..
[root@oldboy /]# ls -ld /etc
drwxr-xr-x. 79 root root 4096 Dec 22 2017 /etc
eth0网卡配置文件:
/etc/sysconfig/network-scripts/ifcfg-eth0
DNS路径
/etc/resolv.conf
/etc/sysconfig/network-scripts/ifcfg-eth0
1. 阿里云
223.5.5.5 223.6.6.6
2.114
114.114.114.114 114.114.115.115
3.供应商提供
从发现到解决的过程:
1、运营人员、网站用户发现问题,网站有弹窗广告。
2、运营人员报给开发人员,开发联系运维人员。开发和运维共同解决。
3、开发发现的问题原因就是所有站点目录被嵌入了一段JS代码。
4、运维人员解决问题:
a) 备份原始出问题的原始文件。
b) 历史备份覆盖。
c) find+sed替换。
5、详细查看日志,寻找问题发生来源。
6、提供亡羊补牢解决方案
假设你在/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' {} \;
方法一:
chmod 645 oldboy
方法二:
chmod u=rw,g=r,o=rx oldboy
[test@oldboy ~]$ sudo su - oldboy
oldboy用户
echo "oldboy";echo "oldboy"
echo -n 不执行回车,echo命令默认在结束时执行回车
echo -e “\n” -e支持转义
echo -t 执行tab键
[root@oldboy oldboy]# echo -e "a\nb\tc"
a
b c
[root@oldboy oldboy]# date +%y-%m-%d
17-12-28
注意:严格区分大小写
按照要求显示日期
%F 年-月-日 === %Y-%m-%d
[root@oldboy /]# date +%Y-%m-%d ==== [root@oldboy /]# date +%F
2017-05-22 2017-05-22
+%w 星期
显示当前时间 按照 年-月-日_周几
[root@oldboy /]# date +%F_%w
2017-05-22_1
显示前一天日期 并且按照规定格式
[root@oldboy /]# date -d "1 day ago"
Sun May 21 05:08:03 CST 2017
[root@oldboy /]# date -d "-1day"
Sun May 21 05:08:40 CST 2017
[root@oldboy /]# date -d "-10day" +%F
2017-05-12
[root@oldboy oldboy]# #date -s "20171314 12:12:12" 年月日 时:分:秒
[root@oldboy oldboy]# date -s "100year" 修改年份
Tue Dec 28 16:56:18 CST 2117
[root@oldboy oldboy]# date
Tue Dec 28 16:56:38 CST 2117
ntpdate 根据时间服务器自动修改当前系统的时间
自动同步时间
ntpdate ntp1.aliyun.com 网络同步时间 虚拟机必须连通外网
ntp2.aliyun.com
pool.ntp.org
[root@oldboy /]# ntpdate ntp1.aliyun.com
28 Dec 10:44:47 ntpdate[97545]: step time server 182.92.12.11 offset 19027175.922945 sec
[root@oldboy /]# date
Thu Dec 28 10:45:12 CST 2017
小结:
1. 按照指定格式显示日期
2. 按照描述和指定的格式显示日期
3. 自动同步时间
[root@localhost ~]# cp /usr/share/zoneinfo/Asia/S
Saigon Samarkand Shanghai Srednekolymsk
Sakhalin Seoul Singapore
[root@localhost ~]# cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
cp: overwrite `/etc/localtime'? y
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# hwclock
[oldboy@student ~]$ ifconfig
-bash: ifconfig: command not found
提示:c58 会遇到,c64 没有此问题。
请问这是为什么?如何解决,请给出详细解决过程。
去掉/sbin
#export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
1. 输入命令
2. shell会在PATH里面查找命令
3. 找到执行
4. 找不到提示
command not found
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin root用户
tail -1 /etc/profile
export PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin root用户
~/bin 普通用户
source
/bin /sbin
/usr/bin /usr/sbin
/usr/local/bin /usr/local/sbin
[root@oldboy oldboy]# date -d "-3day" +%F
2017-12-26
/var/log/messages 系统默认日志
/var/log/secure 用户登录信息
/etc/fstab 开机自动挂载列表
/etc/profile 环境变量(PS1 PATH) 别名
/etc/hosts 解析主机名
/var/spool/cron/root 定时任务配置文件
[root@oldboy /]# which ifconfig
/sbin/ifconfig
find / -type f -name “ifconfig”
[gao@oldboy ~]$ whereis ifconfig
ifconfig: /sbin/ifconfig /usr/share/man/man8/ifconfig.8.gz
updatedb 更新数据库
[gao@oldboy ~]$ locate oldboy.txt
/data/oldboy.txt
/data/oldboy.txt.bak
/data/oldboyedu/oldboy.txt
/oldboy/oldboy.txt
30 9 * * 7 /bin/sh /oldboy.sh >/dev/null 2>&1
shutdown -h now(分钟) 可以设定几分钟后关机/重启 shutdown -c 取消
halt 关闭系统 不会关闭电源(物理机 云服务器没有影响)
poweroff
init 0 不会把数据写进磁盘里,容易造成数据丢失
shutdown -r now
reboot
init 6
命令行快捷键
移动光标
把光标移动到这一行的开头 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
[root@oldboy oldboy]# tar zcvf $(echo etc-"$(date +%F.tar.gz)") ett
ett/
ett/ett2/
ett/ett2/1.txt
[root@oldboy oldboy]# ls |grep 'etc.*tar.gz'
etc-2017-12-28.tar.gz
echo et-$(date +%F.tar.gz)|xargs tar zcv ett -f
tar zcvf e-$(date +%F).tar.gz ett
[root@oldboy oldboy]# ls e-$(date +%F).tar.gz
e-2017-12-28.tar.gz
[root@oldboy oldboy]# tar zcv ett -f g-$(date +%F).tar.gz
1. 根据方法三知 不止echo命令可以执行 '' "" $() 大部分命令都可以
2. tar 命令 -f 参数可以在任意位置指定压缩文件包
总结:
1. 第三波命令
2. 查看修改系统时间 (创建文件并跟上时间) 作业:
3. 修改PATH
4. linux快捷键和vim快捷键
5. 目录硬链接数
6. 回顾linux重要的配置文件
标签:inf sudo 几分钟 系统 ifcfg-eth reboot may 解锁 /etc
原文地址:http://blog.51cto.com/13517084/2065930