1.Linux目录结构
1、工作中常用的 Linux 命令有哪些?
2) 什么命令可以帮助 Linux 执行 Windows 上传的脚本?
- 改变编码格式
- vim test.sh
- :set ff?// 显示dos的话
- :set ff=unix:wq
3)Linux提供管道符“|”将两个命令隔开,管道符左边命令的输出就会作为管道符右边命令的输入
echo “hello123” | grep ‘hello’
4) 简述 Linux 三剑客
-
grep 命令
- 根据用户指定的模式 pattern 对目标文本进行过滤,显示被模式匹配到的行;
- grep [options] pattern [file]
-
常用参数:
- -v 显示不被pattern匹配到的行
- -i 忽略字符的大小写
- -n 显示匹配的行号
-
查找文件内容包含root的行数
- grep -n root test.txt
-
查找文件内容不包含root的行
- grep -nv root test.txt
-
查找以s开头的行显示行号
- grep -n ^s test.txt
- 查找以n结尾的行显示行号
- grep -n n$ test.txt
-
sed 命令
- 流编辑器,一次处理一行数据。将一行数据存储在模式空间中->用sed命令处理->送入屏幕->清空空间。
- 命令形式:
sed [-hn…] [ -e<script>][-f<script文件>][文本文件] -
常用参数:
- -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: 代表全局
- 在第四行后添加新字符串 sed -e ‘4 a newline testfile’ test.txt
-
awk 命令
- 把文件逐行的读入,以空格为默认分隔符将每行切片。把行作为输入,并赋值给变量$0->将行切段,从$1开始类推到$n->对行匹配正则/执行动作->打印内容;
awk 'pattern正则 + action动作' [filenames]
-
常用语法:
- filename awk 浏览的文件名
- begin 处理文本前要执行的操作
- end 处理文本之后要执行的操作
- fs 设置输入域分隔符,等价于命令行-F选项
- nf 浏览记录的域的个数(列数)
- nr 已读的记录数(行数)
-
常用参数:
- ofs 输出域分隔符
- ors 输出记录分隔符
- rs 控制记录分隔符,换行标志
- $0 整条记录
- $1 第一条分隔后的记录
-
实战1
1、搜索/etc/passwd有root关键字的所有行,并显示对应的shell awk -F: ‘/root/ {print $7}’ /etc/passwd -
2、打印/etc/passwd/的第二行信息
-
awk -F: ‘NR==2{print $0}’ /etc/passwd
1、使用begin加入标题awk ‘BFGIN {print “begin begin”} {print $1,$2}’ /etc/passwd
4.如何通命令定位 Linux 服务器下的日志?
- 如果要监控日志,那么使用 tail -f | grep xxx 命令,过滤需要的字段;
- 如果在完整日志中查看内容,使用 cat xxx.log | grep xxxx | awk '{print $1}' 等命令过滤自己需要的内容;
5.简述项目中的环境搭建和维护
- 结合自身经验先从系统安装开始,如常用的 CentOS 和 Ubuntu 说起,系统安装主要是磁盘分区和磁盘阵列问题;
- 基础环境依赖,如 MySQL、Redis、Jenkins、Docker、项目中用到的其他依赖环境等;
- 维护方便主要从遇到的错误说起,如无法远程连接、服务器加固等;