您的位置:首页 > 运维架构 > Linux

老男孩-Linux-36期 第三关课前测试题 吕晓雪

2017-06-07 13:36 92 查看

1.1 如何获得/etc/hosts 文件的权限对应的数字内容 如 -rw-r-r-为644要求使用命令取得644或0644这样的数字

解答:
先定位 查找到具体位置
stat 显示文件的状态信息
[b]1 使用awk 以0/ 进行切割[/b]
[root@xue test]# stat /etc/hosts|awk-F "[0/]" 'NR==4{print $2}'
644
[root@xue scripts]# stat /etc/hosts|grep 0644|awk -F "[(0/]+" '{print $2}'

644

2 使用cut 但是只能切一刀

[root@xue test]# stat /etc/hosts|awk"NR==4"|cut -d " " -f2|cut -d "(" -f2|cut -d"/" -f1

0644

3 使用sed 进行替换 但是注意(0 需要转义
[root@xue test]# stat /etc/hosts|awk "NR==4"|sed -r 's#^.*\(0(.*)/-.*$#\1
644

[root@oldgirl test]# stat /etc/hosts|sed-rn '4s#^.*\(0(.*)/-.*$#\1#gp'
644

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

解答:
硬链接数为 2 一个是ett 的本身文件另一个是ett 的隐藏文件 ll -a就可查看到
[root@oldgirl oldboy]# mkdir -p/oldboy/ett
[root@oldgirl oldboy]# ll -ih
total 4.0K
139197 drwxr-xr-x 2 root root 4.0K May 14 20:18ett

如果在/oldboy/ett下面再创建一个目录test。再问/oldboy/ett的硬链接数是多少?为什么。
解答:
本身的一个链接隐藏的点是一个链接 test下的点点也属于ett
[root@oldgirl oldboy]# ll
total 8
drwxr-xr-x 3 root root 4096 May 14 21:04 ett
drwxr-xr-x 2 root root 4096 May 14 21:01test

1.3 请执行命令取出Linux中eth0的ip地址(请用cut有能力者分别用 awk,sed命令答)

解答:
先定位 一步步进行操作
[root@xue ~]# ifconfig|sed -n '2p'
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0

方法1)ifconfig+sed+cut
[root@xue ~]# ifconfig|sed -n '2p'
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0

用cut以空格分割前面有10个空格所以取12
[root@xue ~]# ifconfig|sed -n '2p'|cut -d "" -f12
addr:10.0.0.200

然后将addr再继续切割
[root@xue ~]# ifconfig|sed -n'2p'|cut -d " " -f12|cut -d ":" -f2
10.0.0.200

cut-c可以选择字符从哪开始到哪结束
[root@xue test]# ifconfig eth0|awk"NR==2"|cut -c "21-30"
10.0.0.200

方法2)ifconfig+sed+awk
awk -F 默认分割是空格先分割一次 然后再指定分割的符号进行后面的分割
[root@xue ~]# ifconfig|sed -n'2p'|awk '{print $2}'
addr:10.0.0.200
[root@xue~]# ifconfig|sed -n'2p'|awk '{print $2}'|awk -F ":" '{print $2}'
10.0.0.200

方法3)ifconfig+sed+awk
awk搭配正则[ ]可以指定多个分割符号
[root@xue ~]# ifconfig|sed -n'2p'|awk -F '[ :]' '{print $13}'
10.0.0.200

方法4)ifconfig+sed+awk 使用正则+让多次出现的空格成为一个整体然后进行切割
[root@xue~]# ifconfig|sed -n'2p'|awk -F '[ :]+''{print $4}'
10.0.0.200

方法5)最简单方法 ifconfig+awk
[root@xue~]# ifconfig|awk -F '[:]+' '{print $4}' 取完列所有的列都匹配出来了
Ethernet
10.0.0.200
fe80
RUNNING
再取下行需要在awk的范围所有要在‘里面’
[root@xue ~]# ifconfig|awk -F '[:]+' 'NR==2{print $4}'
10.0.0.200

方法6)ifconfig+sed+sed+sed

先将10.0.0.200 前面的内容替换成空从开头到addr: 不论中间有多少内容
[root@xue ~]# ifconfig|sed -n'2p'|sed 's#^ .*addr:##g'
10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0

然后替换从B开始到结果的
[root@xue~]# ifconfig|sed -n '2p'|sed 's#^ .*addr:##g'|sed 's#B.*$##g'10.0.0.200
方法7)ifconfig+sed+sed
直接用sed取以什么开头 | 或者以什么结果的都替换成空
[root@xue ~]# ifconfig|sed -n'2p'|sed 's#^.*addr:|B.*$##g'
inet addr:10.0.0.200 Bcast:10.0.0.255 Mask:255.255.255.0
没有生效 sed 需要支持扩展正则 需要加 -r
[root@oldgirl ~]# ifconfig|sed -n'2p'|sed -r 's#^.*addr:|B.*$##g'
10.0.0.200

方法8):纯正则
J 把这一行用正则表达出来J 把想要的东西保护起来()括起来J 取出()中的内容以什么开头 以什么结尾然后把想要的圈起来 取出来
[root@xue~]# ifconfig|sed -n'2p'|sed -r 's#^ .*addr:(.*)B.*$#\1#g'
10.0.0.200

ifconfig +sed +正则 反向引用
[root@xue ~]# ifconfig|sed -nr '2s#^.*dr:(.*)Bc.*$#\1#gp'
10.0.0.200

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

解答:
/etc/sysconfig/network-scripts/ifcfg-eth0网卡路径

[root@xuexue scripts]# cat /etc/resolv.conf 指定DNS域名解析的服务器 会被网卡覆盖

nameserver 10.0.0.2

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

解答:
[root@xue oldboy]# find ./ -type f|xargs sed -i 's#www.etiantian.org#www.oldboy.cc #g'

[root@xue oldboy]# find ./ -type f-exec sed -i 's#www.etiantian.org#www.oldboy.cc #g' {} \;

[root@xue oldboy]# sed -i 's#www.etiantian.org#www.oldboy.cc#g' `find ./ -type f`

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

解答:
chomd 645 r==4 w==2 x==1

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

[test@oldboy~]$ sudo su - oldboy
解答:
test 因为当前用户是test

1.8 .问题:请问在一个命令上加什么参数可以实现下面命令的内容在同一行输出。

echo"oldboy";echo "oldboy"
解答:
echo -n 表示不输出换行
[root@xuexue scripts]# echo -n oldboy;echo oldgir
oldboyoldgir

1.9 问题:请给出如下格式的date命令例

:11-02-26。

在给出实现按周输出比如:周六输出为6,请分别给出命令。

解答:
[root@xuexue ~]# date +%y-%m-%d
17-06-05
[root@xuexue ~]# date +%w
2

1.10 问题:当从root用户切到普通用户时,执行ifconfig会提示。

[oldboy@student~]$ ifconfig
-bash:ifconfig: command not found
提示:c58会遇到,c64没有此问题
请问这是为什么?如何解决,请给出详细解决过程

解答:
首先要想如何修改 PATH 环境变量
PATH 存放命令的位置路径
[root@xue ~]# echo $PATH
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

找到ifconfig的位置
[root@xue ~]# find / -name ifconfig
/sbin/ifconfig

然后将ifconfig 的环境变量 [b]设置到/etc/profile 全局生效[/b]
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

最后 source

11.问题:扩展问题:打印三天前的日期格式如:2011-02-26
解答:
[root@oldgirl oldboy]# date -d "-3day" +%F
2017-05-14

1.11 .已知/oldboy/test.txt文件内容为:

oldboy

xizi

xiaochao
请问如何把文件中的空行过滤掉(要求命令行实现)。
解答:
正则以^号开头 $结尾结合在一起就是空行

方法(1
[root@oldgirl oldboy]#grep -nv '^$'test.txt
1:oldboy
3:xizi
5:xiaochao
方法(2)
[root@oldgirloldboy]# sed -r '/^$/d' test.txtoldboyxizixiaochao方法(3)
[root@oldgirl oldboy]# awk"/[^\^$]/" test.txt
oldboy
xizi
xiaochao
方法(4)
[root@oldgirl oldboy]#egrep"[a-z]" test.txt
oldboy
xizi
xiaochao
方法(5)
[root@oldgirl oldboy]# awk '!/^$/'test.txt
oldboy
xizi
xiaochao

1.12 已知/oldboy/ett.txt文件内容为:

oldboy
olldboooy
test
请使用grepegrep正则匹配的方式过滤出前两行内容
解答:
[root@oldgirl test]# grep -E"^o.*y$" txt
oldboy
oldboooy

[root@oldgirl test]# egrep"oldbo{1,3}y" txt
oldboy
oldboooy

[root@xue oldboy]# egrep "ol+dbo+y" xue
oldboy
oldboooy

14.请描述下列路径的内容是做什么的?

/var/log/messages 系统日志
/var/log/secure 用户的登录信息
/var/spool/clientmqueue 临时邮件文件目录
/proc/interrupts 正在使用的中断和曾经有过多少个中断
/etc/fstab 实现开机挂载
/etc/profile 系统的环境变量别名

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

解答:
which 查找环境变量里 命令的位置

[root@oldgirlett]# which ifconfig
/sbin/ifconfig

J whereis找命令帮助文档(man) 源代码[root@oldgirl ett]# whereis ifconfig
ifconfig: /sbin/ifconfig/usr/share/man/man8/ifconfig.8.gz

J locate 根据名字找文件根据一个列表(数据文件)记录系统里文件的路径
[root@oldgirl ett]# ll/var/lib/mlocate/mlocate.db
[root@oldgirl ett]# file/var/lib/mlocate/mlocate.db
/var/lib/mlocate/mlocate.db: data
-rw-r----- 1 root slocate 1369298 May 1721:40 /var/lib/mlocate/mlocate.db
[root@oldgirl ett]# locate ifconfig
/sbin/ifconfig
/usr/sbin/pifconfig
/usr/share/man/de/man8/ifconfig.8.gz
/usr/share/man/fr/man8/ifconfig.8.gz
/usr/share/man/man8/ifconfig.8.gz

J find 从根找[root@oldgirl ett]# find / -type f -name ifconfig
/sbin/ifconfig

[附加题40]
本部分共40
提示:答对加分,答错不扣分

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

解答:
crond -e
30 9 * * 0 /bin/bash /oldboy.sh &>1

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

解答: w
有用户在man which 没有用户操作是-bash
谁登录了系统 root 在做什么 man
root pts/3 10.0.0.1 22:05 4.00s 0.02s 0.00s man which

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

解答:

19.请给出正确的关机和重起服务器的命令。

shutdown -h
shutdown now 立刻关机

建议使用这个 可以设置1分钟 如果误操作关机还可以Carl+c退出
还会通知所有用户将在一分钟之内关机
[root@oldgirl ett]#shutdown -h 1
Broadcast message from root@oldgirl
(/dev/pts/2)at 22:31 ...

The system is going down for halt in 1minute!
^Cshutdown: Shutdown cancelled
不想关机了 就用shutdown -c 取消正在进行的关机动作
[root@oldgirl ett]#shutdown -c
shutdown: Cannot find pid of running shutdown
holt
init0

20.请写出下面linux SecureCRT命令行快捷键命令的功能?
Ctrl+ a 切换到行首
Ctrl+ c 换行
Ctrl+ d 退出当前用户
Ctrl+ e 清屏
Ctrl+ u 剪切光标前的内容
Ctrl+ k 切换光标后的内容
tab 补全
Ctrl+shift+c 复制
Ctrl+shift+v 粘贴

解答:

[做人做事技巧考试]
问题1:
A公司请了个技术顾问,技术很一般,你对他不服,但技术顾问和技术部老大关系不错,这时技术顾问给你分配任务,按照你的思维这个任务明知是不对的,你是照做,还是以什么姿态应对?为什么?如:部署负载监控已经有的负载监控的插件check_load插件不用,非让你去开发脚本实现,然后不说为什么。再比如公司有公车可以申请,但是领导让你自己把服务器弄到机房。(打车报不了)。
解答:
[以下3题课上不用答,课后总结请总结好]问题2:你认为,在工作中怎么样能处理好普通员工和直接上级领导之间的关系(考察交际能力)?
解答:

问题3:假设你的老板不在,你不得不做出超过你权限的决定,你该怎么做(考察主动性和独立思考能力)?
解答:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息