NO24 第三关--企业面试题

[考试目的]
1.学生课后复习及预习情况。
2.未来实际工作中做人做事能力。
3.沟通及口头表达能力。

[口头表达技能考试题]
1.描述linux的开机到登陆界面的启动过程(记时2分钟)
2.描述linux下软链接和硬链接的区别。(记时2分钟)
3.linux shell中单引号和双引号或不加引号的区别(记时2分钟)
4.linux运行级别0-6(记时1分钟)
5.描述linux下文件删除的原理(3分钟)
 
[技术技能笔试考试题]
说明:
请针对问题给出相关命令答案,写到问题的下边即可(如果实在不会可以百度搜,写上答案,标记是百度搜索得到(该题分数减半))。
以下均为centos linux root环境下命令结果
考试范围:
以往课程内容及留的作业(包括预习内容),
 
考试题(15道):共100分,要求15分钟内完成
 

1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得
644 这样的数字。

复制代码
 1 [root@server ~]# stat /etc/hosts
 2   File: "/etc/hosts"
 3   Size: 178             Blocks: 8          IO Block: 4096   普通文件
 4 Device: 803h/2051d      Inode: 130078      Links: 1
 5 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
 6 Access: 2015-12-24 15:50:01.351799952 +0800
 7 Modify: 2015-12-02 21:43:38.484600576 +0800
 8 Change: 2015-12-02 21:43:38.484600576 +0800
 9 #方法1:后向引用法
10 [root@server ~]# stat /etc/hosts|sed -nr '4s#^.*: \(0(.*)/-.*$#\1#gp'
11 644
12 #方法2:awk多分隔符取列
13 [root@server ~]# stat /etc/hosts|awk -F '[0/]' 'NR==4 {print $2}'
14 644
15 #方法3:awk多分隔符取列
16 [root@server ~]# stat /etc/hosts|sed -n '4p'|awk -F '[0/]' ' {print $2}'     
17 644
18 #方法4:命令直接取
19 [root@server ~]# stat -c %a /etc/hosts    # %a表示访问权限八进制
20 644
21 #方法5:扩展如何将ls -l命令中的权限字符转换为八进制?
22 [root@server ~]# ll /etc/hosts|cut -c 2-10|tr "rwx-" "4210"|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'
23 644
24 #知识点:1.tr字符替换的使用;2.cut -c截取字符;3.awk指定分隔符为空。
复制代码

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

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

复制代码
 1 [root@server oldboy]# ls -lid /oldboy/ett/
 2 144998 drwxr-xr-x 3 root root 4096 12月 21 11:54 /oldboy/ett/
 3 [root@server oldboy]# cd /oldboy/ett/
 4 [root@server ett]# ls -lai
 5 总用量 12
 6 144998 drwxr-xr-x 3 root root 4096 12月 21 11:54 .
 7 130085 drwxrwxrwx 4 root root 4096 12月 21 11:52 ..
 8 144999 drwxr-xr-x 2 root root 4096 12月 21 11:54 test
 9 [root@server ett]# cd test/
10 [root@server test]# ls -lai
11 总用量 8
12 144999 drwxr-xr-x 2 root root 4096 12月 21 11:54 .
13 144998 drwxr-xr-x 3 root root 4096 12月 21 11:54 ..
14 [root@server test]# 
15 
16 #备注:inode节点号相同,则硬链接数为/oldboy/ett算一个,/ett目录下隐藏文件.算一个,还有/ett/test目录下..算一个,则在不创建/test目录情况下,/oldboy/ett的硬链接数为2,在创建了/oldboy/ett/test目录后,硬链接数为3。
复制代码

3.请执行命令取出Linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

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

复制代码
 1  1 #/etc/sysconfig/network-scripts/ifcfg-eth0:
 2  2 DEVICE=eth0 #设备
 3  3 HWADDR=00:0C:29:93:5D:E4 #对于虚拟机克隆需要将这项删除,防止冲突
 4  4 TYPE=Ethernet #网络类型
 5  5 UUID=4f58613e-e829-49a8-86da-f0444d86781d  ##对于虚拟机克隆需要将这项删除,防止冲突
 6  6 ONBOOT=yes #开机启动
 7  7 NM_CONTROLLED=yes
 8  8 #BOOTPROTO=dhcp
 9  9 BOOTPROTO=static #静态IP
10 10 IPADDR=192.168.1.11 #IP地址
11 11 NETMASK=255.255.255.0 #子网掩码
12 12 GATEWAY=192.168.1.1 #网关
13 13 DNS1=192.168.1.1  #DNS
14 14 
15 15 #/etc/resolv.conf
16 16 ;generated by /sbin/dhclient-script   #由这个脚本生成
17 17 search localdomain oldboy.local #搜索域
18 18 nameserver 192.168.1.1  #名称服务器,写入会被覆盖
复制代码

5.查找当前目录下所有文件,并把文件中的www.google.com字符串替换成www.baidu.com;

复制代码
 1 #模拟创建文件
 2 [root@server ~]# cat >>newfile<<EOF
 3 fgsdgsdfdsmldsmgdls,,,,;sdkgsdwww.google.comgelewgmewlgmewgwelgewww.google.com
 4 gsgewgewgeomomodsgmegipweigtepvsnvdvd dfjwwewww.google.com
 5 rewrwero39r309,.;l'121'l'..www.google.com
 6 erjeowew.emglwewetwewww.google.com
 7 35325325230www.google.com
 8 EOF
 9 #sed替换
10 [root@server ~]# find ./ -type f -name "newfile"|xargs sed -i 's#www.google.com#www.baidu.com#g
11 #查看文件是否替换
12 [root@server ~]# cat newfile 
13 fgsdgsdfdsmldsmgdls,,,,;sdkgsdwww.baidu.comgelewgmewlgmewgwelgewww.baidu.com
14 gsgewgewgeomomodsgwww.baidu.commegipweigtepvsnvdvd dfjwwewww.baidu.com
15 rewrwero39r309,.www.baidu.com;l'121'l'..www.baidu.com
16 erjwww.baidu.comeowew.emglwewetwewww.baidu.com
17 353www.baidu.com25325230www.baidu.com
18 #扩展:在生产场景,如果遇到木马,广告脚本植入,所有网络文件,以及用户文件都被植入,不可代码重新铺设;使用备份还原会损失上个备份点到备份还原完成的数据,不可取,此时就可以使用sed -i批量将脚本删除,而不影响正常的业务。
复制代码

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

复制代码
 1 [root@server ~]# ls -ld oldboy
 2 drwxr-xr-x 2 root root 4096 12月 24 17:50 oldboy #原目录权限为755
 3 方法1:数字修改方法
 4 [root@server ~]# chmod 645 oldboy
 5 [root@server ~]# ls -ld oldboy   
 6 drw-r--r-x 2 root root 4096 12月 24 17:50 oldboy
 7 方法2:字符权限修改方法
 8 [root@server ~]# chmod u-x,g-x oldboy ##等价于chmod u=rw,g=r,o=rx
 9 [root@server ~]# ls -ld oldboy       
10 drw-r--r-x 2 root root 4096 12月 24 17:50 oldboy
11 #注释
12 r===4
13 w===2
14 x===1
复制代码

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

1 [root@server ~]# su - test
2 [test@server ~]$ sudo su - oldboy
3 [sudo] password for test:    ##输入test的密码

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

复制代码
 1 [root@server ~]# echo "oldboy";echo "oldboy"
 2 oldboy
 3 oldboy
 4 [root@server ~]# echo -n "oldboy";echo "oldboy"   ## -n不换行输出
 5 oldboyoldboy
 6 [root@server ~]# echo -e "oldboy\toldgirl"   ## -e:解析转义字符,\t tab   
 7 oldboy  oldgirl
 8 [root@server ~]#
 9 [root@server ~]# echo -e "oldboy\noldgirl"   ##\n回车
10 oldboy
11 oldgirl
复制代码

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

复制代码
 1 #年短格式
 2 [root@server ~]# date +%y-%m-%d 
 3 15-12-24
 4 #年长格式
 5 [root@server ~]# date +%Y-%m-%d
 6 2015-12-24
 7 [root@server ~]# date +%F
 8 2015-12-24
 9 #显示周几
10 [root@server ~]# date +%u
11 4
12 [root@server ~]# date +%w
13 4
14 #拓展:日志轮询可以使用使用定时任务定期删除7天前的日志;也可以使用*.log.$(date +%w)创建,轮一周新的日志就自动覆盖就的日志文件。还可以表示为*.log.`date +%w`来创建。其中`date +%w`===$(date +%w) 
复制代码

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

[oldboy@student ~]$ ifconfig
-bash: ifconfig: command not found
提示: c58 会遇到, c64 没有此问题

1 #环境变量PATH的问题
2 #可以临时生效
3 export PATH=/sbin/ifconfig:$PATH
4 #也可以永久生效,将以上语句写入/etc/profile中 

11.扩展问题:打印三天前的日期格式如:2015-12-10

复制代码
 1 [root@server ~]# date +%F
 2 2015-12-24
 3 [root@server ~]# date +%F -d "-3day" ##显示三天前的日期
 4 2015-12-21
 5 #date的其他用法:
 6 #现在时间
 7 [root@server ~]# date +%F\ %T 
 8 2015-12-24 21:34:19
 9 #1表示过去三天时间
10 [root@server ~]# date +%F\ %T -d "-3day"
11 2015-12-21 21:35:31
12 #2表示将来三天时间
13 [root@server ~]# date +%F\ %T -d "+3day"
14 2015-12-27 21:36:03
复制代码

12.已知/oldboy/test.txt文件内容如下:

编辑文件内容:

[root@server oldboy]# echo "
> fsdfdsgdsgsdoldboy
>
> gdgdsgsdgweewgewg
>
> whalodlggoyw" >>test.txt
[root@server oldboy]# ls
test.txt
[root@server oldboy]# cat test.txt


fsdfdsgdsgsdoldboy

gdgdsgsdgweewgewg

whalodlggoyw

请将文件中空行过滤掉;

复制代码
 1 #方法1:
 2 [root@server oldboy]# grep -v '^$' test.txt  
 3 fsdfdsgdsgsdoldboy
 4 gdgdsgsdgweewgewg
 5 whalodlggoyw
 6 #方法2:
 7 [root@server oldboy]# grep -o '.*' test.txt 
 8 fsdfdsgdsgsdoldboy
 9 gdgdsgsdgweewgewg
10 whalodlggoyw
11 #方法3:使用sed显示
12 [root@server oldboy]# sed '/^$/d' test.txt 
13 fsdfdsgdsgsdoldboy
14 gdgdsgsdgweewgewg
15 whalodlggoyw
16 #方法4:使用awk
17 [root@server oldboy]# awk '/^[^$]/' test.txt 
18 fsdfdsgdsgsdoldboy
19 gdgdsgsdgweewgewg
20 whalodlggoyw
21 #方法5:使用awk NF判断
22 [root@server oldboy]# awk 'NF>0 {print $0}' test.txt 
23 fsdfdsgdsgsdoldboy
24 gdgdsgsdgweewgewg
25 whalodlggoyw
复制代码

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

oldboy
olldbooooy
qerwerwer

请使用grep或egrep正则匹配的方式过滤出前两行内容

复制代码
 1 #方法1:过滤以“o”开头的
 2 [root@server oldboy]# grep '^o' ett.txt 
 3 oldboy
 4 olldbooooy
 5 #方法2:过滤以“y”结尾的
 6 [root@server oldboy]# grep 'y$' ett.txt   
 7 oldboy
 8 olldbooooy
 9 方法3:排除以“^q”开头的
10 [root@server oldboy]# grep -v '^q' ett.txt 
11 oldboy
12 olldbooooy
复制代码

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

复制代码
1 /var/log/messages #系统日志
2 /var/log/secure#安全日志
3 /var/spool/clientmqueue#邮件临时目录
4 /proc/interrupts#中断相关文件
5 /etc/fstab#磁盘文件系统开机自启动文件
6 /etc/profile#环境变量配置文件
复制代码

15.如何快速查到ifconfig的全路径,请给出命令;

复制代码
 1 [root@server oldboy]# which ifconfig    #which
 2 /sbin/ifconfig
 3 [root@server oldboy]# whereis -b ifconfig    #whereis -b  -b:表示查二进制命令
 4 ifconfig: /sbin/ifconfig
 5 [root@server oldboy]# locate ifconfig
 6 /sbin/ifconfig
 7 /usr/lib/python2.6/site-packages/Sphinx-1.0.8-py2.6.egg/sphinx/ext/ifconfig.py
 8 /usr/lib/python2.6/site-packages/Sphinx-1.0.8-py2.6.egg/sphinx/ext/ifconfig.pyc
 9 /usr/lib/python2.6/site-packages/Sphinx-1.0.8-py2.6.egg/sphinx/ext/ifconfig.pyo
10 /usr/lib/python2.6/site-packages/sphinx/ext/ifconfig.py
11 /usr/lib/python2.6/site-packages/sphinx/ext/ifconfig.pyc
12 /usr/lib/python2.6/site-packages/sphinx/ext/ifconfig.pyo
13 /usr/sbin/pifconfig
14 /usr/share/man/man8/ifconfig.8.gz
15 /usr/share/man/man8/pifconfig.8.gz
16 /usr/share/man/pt/man8/ifconfig.8.gz
17 /usr/share/zsh/4.3.11/functions/_ifconfig
18 [root@server oldboy]# sudo find / -type f -name ifconfig ##find查找,不加sudo,会查找proc等
19 /sbin/ifconfig
复制代码

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

 1 30 09 * * 0 sh /oldboy.sh 

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

 1 [root@server oldboy]# who ## 2 root pts/0 Dec 23 19:42 (192.168.1.151) 

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

1 [root@server ~]# sudo useradd test2 -e `date +%F -d "+10day"`
2 [root@server ~]# sudo tail -2 /etc/shadow
3 test:!!:16777:0:99999:7:::
4 test2:!!:16793:0:99999:7::16803:   ##10天有效期,时间到取消账户

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

 1 halt 2 shutdown -h now 3 reboot 4 shutdown -r 5 init 0  

20.请写出下面 linux SecureCRT 命令行快捷键命令的功能?

复制代码
 1 Ctrl + a  命令首
 2 Ctrl + c  取消进程或者命令
 3 Ctrl + d  logout
 4 Ctrl + e  命令尾
 5 Ctrl + l  清屏
 6 Ctrl + u  删除光标以前
 7 Ctrl + k  删除光标以后
 8 tab       命令、路径补全
 9 Ctrl+shift+c  复制
10 Ctrl+shift+v  粘贴 
复制代码
今天的苦逼是为了不这样一直苦逼下去!


 
[做人做事技巧考试]
问题1():
A公司请了个技术顾问,技术很一般,你对他不服,但技术顾问和技术部老大关系不错,这时技术顾问给你分配任务,按照你的思维这个任务明知是不对的,你是照做,还是以什么姿态应对? 为什么?
如:部署负载监控已经有的负载监控的插件check_load插件不用,非让你去开发脚本实现,然后不说为什么。再比如公司有公车可以申请,但是领导让你自己把服务器弄到机房。(打车报不了)。

1.如何取得/etc/hosts 文件的权限对应的数字内容,如-rw-r--r-- 为 644, 要求使用命令取得
644 这样的数字。

复制代码
 1 [root@server ~]# stat /etc/hosts
 2   File: "/etc/hosts"
 3   Size: 178             Blocks: 8          IO Block: 4096   普通文件
 4 Device: 803h/2051d      Inode: 130078      Links: 1
 5 Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
 6 Access: 2015-12-24 15:50:01.351799952 +0800
 7 Modify: 2015-12-02 21:43:38.484600576 +0800
 8 Change: 2015-12-02 21:43:38.484600576 +0800
 9 #方法1:后向引用法
10 [root@server ~]# stat /etc/hosts|sed -nr '4s#^.*: \(0(.*)/-.*$#\1#gp'
11 644
12 #方法2:awk多分隔符取列
13 [root@server ~]# stat /etc/hosts|awk -F '[0/]' 'NR==4 {print $2}'
14 644
15 #方法3:awk多分隔符取列
16 [root@server ~]# stat /etc/hosts|sed -n '4p'|awk -F '[0/]' ' {print $2}'     
17 644
18 #方法4:命令直接取
19 [root@server ~]# stat -c %a /etc/hosts    # %a表示访问权限八进制
20 644
21 #方法5:扩展如何将ls -l命令中的权限字符转换为八进制?
22 [root@server ~]# ll /etc/hosts|cut -c 2-10|tr "rwx-" "4210"|awk -F "" '{print $1+$2+$3 $4+$5+$6 $7+$8+$9}'
23 644
24 #知识点:1.tr字符替换的使用;2.cut -c截取字符;3.awk指定分隔符为空。
复制代码

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

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

复制代码
 1 [root@server oldboy]# ls -lid /oldboy/ett/
 2 144998 drwxr-xr-x 3 root root 4096 12月 21 11:54 /oldboy/ett/
 3 [root@server oldboy]# cd /oldboy/ett/
 4 [root@server ett]# ls -lai
 5 总用量 12
 6 144998 drwxr-xr-x 3 root root 4096 12月 21 11:54 .
 7 130085 drwxrwxrwx 4 root root 4096 12月 21 11:52 ..
 8 144999 drwxr-xr-x 2 root root 4096 12月 21 11:54 test
 9 [root@server ett]# cd test/
10 [root@server test]# ls -lai
11 总用量 8
12 144999 drwxr-xr-x 2 root root 4096 12月 21 11:54 .
13 144998 drwxr-xr-x 3 root root 4096 12月 21 11:54 ..
14 [root@server test]# 
15 
16 #备注:inode节点号相同,则硬链接数为/oldboy/ett算一个,/ett目录下隐藏文件.算一个,还有/ett/test目录下..算一个,则在不创建/test目录情况下,/oldboy/ett的硬链接数为2,在创建了/oldboy/ett/test目录后,硬链接数为3。
复制代码

3.请执行命令取出Linux中eth0的IP地址(请用cut,有能力者也可分别用awk,sed命令答)。

按 Ctrl+C 复制代码
按 Ctrl+C 复制代码

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

复制代码
 1  1 #/etc/sysconfig/network-scripts/ifcfg-eth0:
 2  2 DEVICE=eth0 #设备
 3  3 HWADDR=00:0C:29:93:5D:E4 #对于虚拟机克隆需要将这项删除,防止冲突
 4  4 TYPE=Ethernet #网络类型
 5  5 UUID=4f58613e-e829-49a8-86da-f0444d86781d  ##对于虚拟机克隆需要将这项删除,防止冲突
 6  6 ONBOOT=yes #开机启动
 7  7 NM_CONTROLLED=yes
 8  8 #BOOTPROTO=dhcp
 9  9 BOOTPROTO=static #静态IP
10 10 IPADDR=192.168.1.11 #IP地址
11 11 NETMASK=255.255.255.0 #子网掩码
12 12 GATEWAY=192.168.1.1 #网关
13 13 DNS1=192.168.1.1  #DNS
14 14 
15 15 #/etc/resolv.conf
16 16 ;generated by /sbin/dhclient-script   #由这个脚本生成
17 17 search localdomain oldboy.local #搜索域
18 18 nameserver 192.168.1.1  #名称服务器,写入会被覆盖
复制代码

5.查找当前目录下所有文件,并把文件中的www.google.com字符串替换成www.baidu.com;

复制代码
 1 #模拟创建文件
 2 [root@server ~]# cat >>newfile<<EOF
 3 fgsdgsdfdsmldsmgdls,,,,;sdkgsdwww.google.comgelewgmewlgmewgwelgewww.google.com
 4 gsgewgewgeomomodsgmegipweigtepvsnvdvd dfjwwewww.google.com
 5 rewrwero39r309,.;l'121'l'..www.google.com
 6 erjeowew.emglwewetwewww.google.com
 7 35325325230www.google.com
 8 EOF
 9 #sed替换
10 [root@server ~]# find ./ -type f -name "newfile"|xargs sed -i 's#www.google.com#www.baidu.com#g
11 #查看文件是否替换
12 [root@server ~]# cat newfile 
13 fgsdgsdfdsmldsmgdls,,,,;sdkgsdwww.baidu.comgelewgmewlgmewgwelgewww.baidu.com
14 gsgewgewgeomomodsgwww.baidu.commegipweigtepvsnvdvd dfjwwewww.baidu.com
15 rewrwero39r309,.www.baidu.com;l'121'l'..www.baidu.com
16 erjwww.baidu.comeowew.emglwewetwewww.baidu.com
17 353www.baidu.com25325230www.baidu.com
18 #扩展:在生产场景,如果遇到木马,广告脚本植入,所有网络文件,以及用户文件都被植入,不可代码重新铺设;使用备份还原会损失上个备份点到备份还原完成的数据,不可取,此时就可以使用sed -i批量将脚本删除,而不影响正常的业务。
复制代码

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

复制代码
 1 [root@server ~]# ls -ld oldboy
 2 drwxr-xr-x 2 root root 4096 12月 24 17:50 oldboy #原目录权限为755
 3 方法1:数字修改方法
 4 [root@server ~]# chmod 645 oldboy
 5 [root@server ~]# ls -ld oldboy   
 6 drw-r--r-x 2 root root 4096 12月 24 17:50 oldboy
 7 方法2:字符权限修改方法
 8 [root@server ~]# chmod u-x,g-x oldboy ##等价于chmod u=rw,g=r,o=rx
 9 [root@server ~]# ls -ld oldboy       
10 drw-r--r-x 2 root root 4096 12月 24 17:50 oldboy
11 #注释
12 r===4
13 w===2
14 x===1
复制代码

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

1 [root@server ~]# su - test
2 [test@server ~]$ sudo su - oldboy
3 [sudo] password for test:    ##输入test的密码

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

复制代码
 1 [root@server ~]# echo "oldboy";echo "oldboy"
 2 oldboy
 3 oldboy
 4 [root@server ~]# echo -n "oldboy";echo "oldboy"   ## -n不换行输出
 5 oldboyoldboy
 6 [root@server ~]# echo -e "oldboy\toldgirl"   ## -e:解析转义字符,\t tab   
 7 oldboy  oldgirl
 8 [root@server ~]#
 9 [root@server ~]# echo -e "oldboy\noldgirl"   ##\n回车
10 oldboy
11 oldgirl
复制代码

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

复制代码
 1 #年短格式
 2 [root@server ~]# date +%y-%m-%d 
 3 15-12-24
 4 #年长格式
 5 [root@server ~]# date +%Y-%m-%d
 6 2015-12-24
 7 [root@server ~]# date +%F
 8 2015-12-24
 9 #显示周几
10 [root@server ~]# date +%u
11 4
12 [root@server ~]# date +%w
13 4
14 #拓展:日志轮询可以使用使用定时任务定期删除7天前的日志;也可以使用*.log.$(date +%w)创建,轮一周新的日志就自动覆盖就的日志文件。还可以表示为*.log.`date +%w`来创建。其中`date +%w`===$(date +%w) 
复制代码

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

[oldboy@student ~]$ ifconfig
-bash: ifconfig: command not found
提示: c58 会遇到, c64 没有此问题

1 #环境变量PATH的问题
2 #可以临时生效
3 export PATH=/sbin/ifconfig:$PATH
4 #也可以永久生效,将以上语句写入/etc/profile中 

11.扩展问题:打印三天前的日期格式如:2015-12-10

复制代码
 1 [root@server ~]# date +%F
 2 2015-12-24
 3 [root@server ~]# date +%F -d "-3day" ##显示三天前的日期
 4 2015-12-21
 5 #date的其他用法:
 6 #现在时间
 7 [root@server ~]# date +%F\ %T 
 8 2015-12-24 21:34:19
 9 #1表示过去三天时间
10 [root@server ~]# date +%F\ %T -d "-3day"
11 2015-12-21 21:35:31
12 #2表示将来三天时间
13 [root@server ~]# date +%F\ %T -d "+3day"
14 2015-12-27 21:36:03
复制代码

12.已知/oldboy/test.txt文件内容如下:

编辑文件内容:

[root@server oldboy]# echo "
> fsdfdsgdsgsdoldboy
>
> gdgdsgsdgweewgewg
>
> whalodlggoyw" >>test.txt
[root@server oldboy]# ls
test.txt
[root@server oldboy]# cat test.txt


fsdfdsgdsgsdoldboy

gdgdsgsdgweewgewg

whalodlggoyw

请将文件中空行过滤掉;

复制代码
 1 #方法1:
 2 [root@server oldboy]# grep -v '^$' test.txt  
 3 fsdfdsgdsgsdoldboy
 4 gdgdsgsdgweewgewg
 5 whalodlggoyw
 6 #方法2:
 7 [root@server oldboy]# grep -o '.*' test.txt 
 8 fsdfdsgdsgsdoldboy
 9 gdgdsgsdgweewgewg
10 whalodlggoyw
11 #方法3:使用sed显示
12 [root@server oldboy]# sed '/^$/d' test.txt 
13 fsdfdsgdsgsdoldboy
14 gdgdsgsdgweewgewg
15 whalodlggoyw
16 #方法4:使用awk
17 [root@server oldboy]# awk '/^[^$]/' test.txt 
18 fsdfdsgdsgsdoldboy
19 gdgdsgsdgweewgewg
20 whalodlggoyw
21 #方法5:使用awk NF判断
22 [root@server oldboy]# awk 'NF>0 {print $0}' test.txt 
23 fsdfdsgdsgsdoldboy
24 gdgdsgsdgweewgewg
25 whalodlggoyw
复制代码

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

oldboy
olldbooooy
qerwerwer

请使用grep或egrep正则匹配的方式过滤出前两行内容

复制代码
 1 #方法1:过滤以“o”开头的
 2 [root@server oldboy]# grep '^o' ett.txt 
 3 oldboy
 4 olldbooooy
 5 #方法2:过滤以“y”结尾的
 6 [root@server oldboy]# grep 'y$' ett.txt   
 7 oldboy
 8 olldbooooy
 9 方法3:排除以“^q”开头的
10 [root@server oldboy]# grep -v '^q' ett.txt 
11 oldboy
12 olldbooooy
复制代码

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

复制代码
1 /var/log/messages #系统日志
2 /var/log/secure#安全日志
3 /var/spool/clientmqueue#邮件临时目录
4 /proc/interrupts#中断相关文件
5 /etc/fstab#磁盘文件系统开机自启动文件
6 /etc/profile#环境变量配置文件
复制代码

15.如何快速查到ifconfig的全路径,请给出命令;

复制代码
 1 [root@server oldboy]# which ifconfig    #which
 2 /sbin/ifconfig
 3 [root@server oldboy]# whereis -b ifconfig    #whereis -b  -b:表示查二进制命令
 4 ifconfig: /sbin/ifconfig
 5 [root@server oldboy]# locate ifconfig
 6 /sbin/ifconfig
 7 /usr/lib/python2.6/site-packages/Sphinx-1.0.8-py2.6.egg/sphinx/ext/ifconfig.py
 8 /usr/lib/python2.6/site-packages/Sphinx-1.0.8-py2.6.egg/sphinx/ext/ifconfig.pyc
 9 /usr/lib/python2.6/site-packages/Sphinx-1.0.8-py2.6.egg/sphinx/ext/ifconfig.pyo
10 /usr/lib/python2.6/site-packages/sphinx/ext/ifconfig.py
11 /usr/lib/python2.6/site-packages/sphinx/ext/ifconfig.pyc
12 /usr/lib/python2.6/site-packages/sphinx/ext/ifconfig.pyo
13 /usr/sbin/pifconfig
14 /usr/share/man/man8/ifconfig.8.gz
15 /usr/share/man/man8/pifconfig.8.gz
16 /usr/share/man/pt/man8/ifconfig.8.gz
17 /usr/share/zsh/4.3.11/functions/_ifconfig
18 [root@server oldboy]# sudo find / -type f -name ifconfig ##find查找,不加sudo,会查找proc等
19 /sbin/ifconfig
复制代码

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

 1 30 09 * * 0 sh /oldboy.sh 

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

 1 [root@server oldboy]# who ## 2 root pts/0 Dec 23 19:42 (192.168.1.151) 

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

1 [root@server ~]# sudo useradd test2 -e `date +%F -d "+10day"`
2 [root@server ~]# sudo tail -2 /etc/shadow
3 test:!!:16777:0:99999:7:::
4 test2:!!:16793:0:99999:7::16803:   ##10天有效期,时间到取消账户

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

 1 halt 2 shutdown -h now 3 reboot 4 shutdown -r 5 init 0  

20.请写出下面 linux SecureCRT 命令行快捷键命令的功能?

复制代码
 1 Ctrl + a  命令首
 2 Ctrl + c  取消进程或者命令
 3 Ctrl + d  logout
 4 Ctrl + e  命令尾
 5 Ctrl + l  清屏
 6 Ctrl + u  删除光标以前
 7 Ctrl + k  删除光标以后
 8 tab       命令、路径补全
 9 Ctrl+shift+c  复制
10 Ctrl+shift+v  粘贴 
复制代码

猜你喜欢

转载自www.cnblogs.com/sinsenliu/p/9044832.html