Linux之shell详解
Shell是什么
Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言。Shell 是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。Ken Thompson 的 sh 是第一种 Unix Shell,Windows Explorer 是一个典型的图形界面 Shell。
查看Linux支持的Shell:vi /etc/shells
echo输出命令
echo [选项] [输出内容]
第一个脚本:
vi hellol.sh
输入以下命令:
#!/bin/bash
#wuwuyong
echo "hello world"
脚本执行:
chmod 755 hello.sh(赋予权限) ./hello.sh
或Bash hello.sh
历史命令
history [选项] [历史命令保存文件]
选项:-c(清空历史命令) -w(把缓存中的历史命令写入历史命令保存文件)
别名和快捷键
别名:alias 别名=‘原命令’ (设定命令别名)
alias(查询命令别名)
让别名永久生效:vi /root/.bashrc 加上alias 别名=‘原命令’
删除别名:unalias 别名
输入输出重定向
输入重定向:wc [选项] [文件名]
选项:-c 统计字节数;-w 统计单词数;-l统计行数
把文件作为命令的输入:命令<文件
多命令顺序执行与管道符
管道符:命令1 | 命令2(命令1的正确输出作为命令2的操作对象)
grep [选项] “搜索内容” 文件名 : 显示文件中包含搜索内容的行
选项:-i(忽略大小写) ;-n(输出行号);-v(方向查找)
通配符和其他特殊符号
用户自定义变量
变量的定义:变量名=变量
变量调用:echo $name
变量查看:set
变量删除:unset name
环境变量
设置环境变量:export 变量名=变量值
查询变量:env
删除变量:unset 变量名
位置参数变量
比如一个sh文件中有如下命令:
echo $0
echo $1
echo $2
执行.sh 11 22的结果是.sh 11 22
预定义变量
接收键盘输入
数值运算与运算符
declare声明变量类型
运算符:
变量测试与内容替换
环境变量配置文件
正则表达式
正则表达式与通配符:
基础正则表达式:
字符截取命令
printf命令
awk命令
sed命令
字符处理命令
条件判断
按照文件类型进行判断
流程控制 if语句
case语句