linux 面试部分相关
一、工作中常用的 Linux 命令有哪些?
awk、sed、vim、iotop、dstat、cp、top、ifconfig、pwd、cd、ll、ls、cat、tail、grep、mv、rm、mkdir、df、du
二、什么命令可以帮助 Linux 执行 Windows 上传的脚本?
-
改变编码格式
-
vim test.sh
-
:set ff?// 显示dos的话
-
:set ff=unix:wq
三、简述 Linux 三剑客
grep 命令 根据用户指定的模式 pattern 对目标文本进行过滤,显示被模式匹配到的行;
grep [options] pattern [file]
常用参数:
-
-v 显示不被pattern匹配到的行
-
-i 忽略字符的大小写
-
-n 显示匹配的行号
-
-c 统计匹配的行数
-
-o 仅显示匹配到的字符串
-
-E 使用ERE,相当于egrep(可以识别更多的正则表达式规则)
sed 命令 流编辑器,用来处理一行数据。将一行数据存储在模式空间中->用sed命令处理->送入屏幕->清空空间。
常用参数:
-
-h 显示帮助
-
-n 仅显示script处理后的结果
-
-e 指定的脚本来处理输入的文本文件
-
-f 以指定的脚本文件来处理
常用动作:
-
a: 新增 sed -e '4 a newline'
-
c: 取代 sed -e '2,5c No 2-5 number'
-
d: 删除 sed -e '2,5d'
-
i: 插入 sed -ed '2i newline'
-
p: 打印 sed -n '/root/p'
-
s: 取代 sed -e 's/old/new/g'
-
g: 代表全局
awk 命令 把文件逐行的读入,以空格为默认分隔符将每行切片。把行作为输入,并赋值给$0->将行切段,从$1开始->对行匹配正则/执行动作->打印内容;
awk 'pattern + action' [filenames]
常用语法:
-
filename awk 浏览的文件名
-
begin 处理文本前要执行的操作
-
end 处理文本之后要执行的操作
-
fs 设置输入域分隔符,等价于命令行-F选项
-
nf 浏览记录的域的个数(列数)
-
nr 已读的记录数(行数)
常用参数:
-
ofs 输出域分隔符
-
ors 输出记录分隔符
-
rs 控制记录分隔符,换行标志
-
$0 整条记录
-
$1 第一条分隔后的记录
四、如何通命令定位 Linux 服务器下的日志?
如果要监控日志,那么使用 tail -f | grep xxx 命令,过滤需要的字段;
如果在完整日志中查看内容,使用 cat xxx.log | grep xxxx | awk '{print $1}' 等命令过滤自己需要的内容;
五、简述项目中的环境搭建和维护
结合自身经验先从系统安装开始,如常用的 CentOS 和 Ubuntu 说起,系统安装主要是磁盘分区和磁盘阵列问题;
基础环境依赖,如 MySQL、Redis、Jenkins、Docker、项目中用到的其他依赖环境等;
维护方便主要从遇到的错误说起,如无法远程连接、服务器加固等;
注: 原文