一、表达式
1.1 测试语句
应用场景:判断条件是否成立
表达式:test 表达式 / [ 表达式 ]
1.2 条件表达式
逻辑表达式:命令1 && 命令2 命令1 || 命令2
文件表达式:-f 判断输入内容是否是一个文件
-d 判断输入内容食肉是一个目录
-x 判断输入内容是否可执行
数值表达式:-gt -lt -eq -ne -le -ge
字符串表达式:str1 == str2 str1 != str2
计算表达式:$((计算表达式)) let 计算表达式 注意:let计算表达式不能有空格
数组操作:array_name=(v1 v2... vn)
查看内容 echo ${array_name[index]}
查询下标 echo ${!array_name[index]}
获取长度 单元素长度 echo ${#array_name[index]}
数组元素格式 echo ${#array_name[@|#]}
二、linux常见符号
2.1 重定向
> 以覆盖的方式输入到右侧文件中
>> 以追加的方式输入到右侧文件的末尾行中
2.2 管道符
命令1 | 命令2 从左向右
2.4 其他符号
后台展示 &
信息符号 2>&1
特殊设备 /dev/null
三、流程控制
3.1 if语句 if [ 条件1 ]
then
指令1
elif [ 条件2 ]
then
指令2
else
指令3
fi
3.2 case语句 case 变量名 in
值1)
指令1
;;
...
值n)
指令n
;;
esac
3.3 循环语句
for语句 for 值 in 列表
do
执行语句
done
while语句 while 条件表达式 条件成立
do
执行语句
done
until语句 until 条件表达式 条件不成立
do
执行语句
done
3.4 循环退出
break 跳出整个循环
break n 跳出嵌套循环
continue 跳出当前匹配到的循环,继续执行下一个循环
exit 退出当前程序
四、复杂流程控制
4.1 函数
函数名(){
函数体 $1
}
五、常见命令
5.1 grep
参数 -c 只输出匹配行的计数
-n 显示匹配行及行号
-v 显示不包含匹配文本的所有行
-r 递归查找
-i 忽略大小写敏感
egrep 基于正则符号进行精确过滤 egrep -nr '数字|for' /test/*
5.2 sed
参数 -n 取消静默输出
-i 表示对文件进行编辑
替换 sed -i '行号s#原内容#替换后内容#列号' [文件名] 指定行列替换
sed -i 's#原内容#替换后内容#g' [文件名] 全文替换
行号不写表示所有行,列号不写表示匹配到的第一个
查看 sed -n '行号' 文件名 查看第几行
sed -n '/内容/p' 文件名 查看指定内容
增加 sed '行号a\新内容' 文件名
sed '\内容\a\新内容' 文件名 指定行/内容的下一行增加
sed '行号i\新内容' 文件名
sed '\内容\i\新内容' 文件名 指定当前行/内容增加
删除 sed '行号d' 文件名 指定行删除
sed '/内容/d' 文件名 指定内容删除
5.3 awk
awk [参数] '[动作]' [文件名]
awk '{print $n}' 文件名 $0当前所有内容 $n当前行的第几列内容
'/内容/' 基于内容查看
-F 指定文件的列分隔符
-f 指定内容输出的文件格式
-v 指定awk的一个变量
5.4 find
参数-name -type -mtime -path -prune
动作 -print 打印信息
-ls列出文件详情
-exec 命令 \; 对过滤文件进行下一步操作
{} 相当于过滤出来的文件
操作类似于 | xargs rm -f
linux运维学习笔记二
最新推荐文章于 2024-05-13 13:11:05 发布