吐槽:
linux下的编程基本上都很简单包括shell 三剑客和vim的使用,还有python脚本,有基础都是一两天可以学会的,有的面试官让在纸上写正则是几个意思?遇到果断走人吧。。。。
shell脚本篇:
shell 是什么shell 脚本又是什么?
shell 同时也是一个程序,它的一端连接着 UNIX/Linux 内核,另一端连接着用户和其它应用程序,换句话说,Shell 是用户和应用程序与内核沟通的桥梁
shell 脚本首先是 UNIX/Linux 下的脚本编程语言,它是解释执行的,无需提前编译,与其它语言不通的是Shell可以直接执行系统命令
shell脚本有哪些变量类型?
局部变量、环境变量、shell变量
shell脚本怎么接收参数?
使用$符号第一个参数就是$1,$0是保留变量是shell脚本文件名
shell脚本数组怎么表示怎么获取数组的长度?
shell 数组用括号来表示,元素用"空格"符号分割开
${#my_array[*]} $符号一个大括号包含#变量名中括号*或者@
shell脚本有那些基本运算符?
算数运算符、关系运算符、布尔运算符、字符串运算符、文件测试运算符
shell脚本中break命令和continue命令有什么区别?
break会跳出循环,continue只会跳出当前循环
shell脚本中exit 0 exit 1分别代表什么,怎么检查上一条命令的状态?
exit 0代表正常退出,exit 1代表错误退出
可以使用echo "$?"
shell脚本怎么就收键盘标准输入?
read -p "'请输入:" env
怎么调试shell脚本?
bash -x打印每一行执行的命令包括变量值,bash -v 打印命令输出的结果
bash -e 有什么作用?
检查shell脚本中每一行命令的非零状态,有非零状态就会exit 1
shell脚本的流程控制if条件能为空吗?
if 条件不能为空,比如else没有条件就不要写这个else
shell脚本中有哪些循环控制?
for 循环和while 循环
shell 脚本中if 、for、while语句的基本格式是?
if [ "a" == "b" ]; then echo "a等于b" else echo "a不等于b" fi # for i in 1 2 3 do echo "当前值等于$i" done # int=1 while(( $int<=5 )) do echo $int let "int++" done
shell脚本中的选择语句格式是怎么样的?
case $name in a) echo "我是a" ;; b) echo "我是b" ;; *) echo "我是其它" ;; esac
三剑客篇:
三剑客能用嘴直接说来的案例不多,更适合在电脑上笔试
怎么打印出一个文本的内容的第二列?
# cat test.log |awk '{print $2}'
怎么替换文本中的关键字?
# sed -i 's/source/target/g' test.log
怎么过滤文本中包含关键字的行并排除某些行?
# cat test.log |grep key |grep -v name
awk sed grep 分别适合干什么?
awk适合格式化文本,对文本进行较复杂格式处理
sed适合编辑匹配的文本
grep适合过滤匹配的文本
vim篇:
vim 怎么显示行号?
:set nu
vim 怎么删除一行?
dd
vim 粘贴文本的时候怎么防止自动缩进?
:set paste
vim 怎么进入插入模式?
i或者INS键
vim 怎么复原上一个动作?
u
vim 怎么直接跳到文本的最后一行怎么回到第一行?
G到最后一行gg回到第一行
vim 怎么跳到下一个和上一个搜索关键字?
n下一个N上一个