简而言之面试官会问的都是一些细节性的考察你的思维逻辑,及认真仔细
一、shell脚本方面
1、面试官提问两次问题说明想知道你有没有第二种方法
如:
显示从1到100的基数
方法一:
[root@C7--01 ~]# seq 1 2 100
1
3
5
7
9
方法二:
[root@C7--01 ~]# vim js.sh
#!/bin/bash
for i in {1..100}
do
if [ $(expr $i % 2) -ne 0 ]
then
echo $i
fi
done
[root@C7--01 ~]# bash js.sh
1
3
5
7
9
2、可能提问的细节问题
1、she11脚本中单引号和双引号的区别?
单引号: 强转义 里边是什么就输出什么
双引号: 弱转义 会将变量值打印出来
2、shel1脚本中,以下变量的作用
$@: 位置变量是单个
$*: 位置变量是整体
$$: 进程号
$?: 上一条命令的状态码
3、反撇号和echo=(ls)的作用
echo `ls`反撇号 : 相当于$()--命令替换;相当于函数调用
echo $(ls) :输出执行ls的命令结果;相当于函数调用
linux的解释器: /etc/shells
有/bin/bash 、/bin/sh、/bins/nologin、/usr/bin/sh、/usr/bin/bash、/usr/sbin/nolgin
3、跟用户相关的两个文件?
/etc/passwd
7个字段
第一字段: 用户名
第二字段: 经过加密的用户密码字符串或密码占位符“X”
第三字段: 用户的UID 号
第四字段: 所属基本组的GID 号
第五字段:用户全名(相关描述信息)
第六字段:该用户的宿主目录 (该用户登录后默认工作目录)
第七字段: 该用户登录后的默认使用的登录shell
/etc/shadow
第一字段:用户名
第二字段:加密密码
第三字段:最后一次修改时间
第四字段:最小修改时间间隔
第五字段:密码有效期
第六字段:密码需要变更前的警告天数
第七字段:密码过期后的宽限时间
第八字段:账号失效时间
第九字段:保留字段
4、如何查看一个服务是否启动成功
1. netstat -anptu|grep 端口号
2. ps aux|grep 进程名
3. systemctl status 服务名
5、统计state下面的次数
[root@C7--01 ~]# netstat -ant|awk '/^tcp/{aaa[$6]++}END{for(i in aaa){print i,aaa[i]}}'
LISTEN 4
ESTABLISHED 1
6、shell脚本实现从A服务器连接B服务器
7、TCP三次握手和四次断开及问题
8、面试官说:给你一台服务器,你应该怎么做
1、提高用户密码的复杂度,给普通用户合理设置sudo权限,禁止root用户远程登录
修改/etc/sudoers文件
2、优化sshd服务,修改服务监听的端口号,禁用反向解析,提高连接效率
[root@C7--01 ~]# vim /etc/ssh/sshd_config
....
79 GS