24.7.14学习目录
一.命令
1.命令历史记忆功能
# 查看准确使用的所有命令
history
# 显示最近的n个命令
history n
# 删除相应的第n个命令
history -d n
# 指定执行命令历史中的第n条语句
!n
# 执行命令历史中最近一条语句
!!
# 引用上一个命令中最后一个参数
!$
# 删除历史命令
history -c
2.别名
想要别名永久生效,可以将定义别名的命令写入bashrc文件中
# 查看系统当前所有的别名
alias
# 定义新的别名
alias h='head 3'
# 取消别名定义
unalias h
3.前后台作业
- 前台作业:可以由用户参与交互及控制的作业
- 后台作业:在内存可以自运行的作业,用户无法参与交互以及使用[ctrl]+c来终止,只能通过bg或fg来调用该作业
常用指令有:
# 将作业放在后台运行
命令 &
# 将当前作业切换到后台
[ctrl]+z
# 查看后台作业状态
jobs
#让后台运行的作业n切换到前台
fg %n
# 让指定的作业n在后台运行
bg %n
#移除指定的作业n
kill %n
4.输入输出重定向
一个>表示将数据覆盖到文件中,两个>>表示将数据添加到文件中
#用覆盖的方式,把命令的正确结果输出到file文件中
命令 >file
#以追加的方式,把命令结果输入到file文件中
命令 >>file
#将报错的信息添加到文件中
命令 2>>file
#将所有信息都添加到文件中
命令 >>file 2>&1
命令 &>>file
5.管道
- 将管道 | 前面的结果交到后面命令去执行
- 使用 | tee 管道可以将前面的结果输出到屏幕上并将其结果保存到管道后面的文件中
6.通配符
字符 | 含义 |
---|---|
* | 匹配多个任意字符 |
? | 匹配一个任意字符 |
[list] | 匹配list中的任意单个字符 |
[!list] | 匹配除list中的任意单个字符 |
[c1-c2] | 匹配c1-c2间的任意单个字符 |
{string1,string2} | 匹配当中任意一个字符串 |
二.shell脚本规范
1.风格规范
脚本开头使用“#!”,其作用是指明解释器
如:
#! bin/sh
- 使用./文件名来执行脚本
2.命名
- 文件里的变量一般情况下会将重要的环境变量定义在开头
- 变量的命名风格,要用小写字母加下划线
- 文件名的需要以.sh结尾,方便识别
三.脚本调试
用于检测脚本中是否存在错误
sh [参数] 文件名.sh
参数可以有
- -n 不执行脚本,仅检查语法问题
- -v 在执行脚本前,先将脚本中的内容输出到屏幕上
- -x 将脚本内容输出到屏幕上
四.脚本运行方式
# 方法一
bash 文件名.sh
# 需要有执行权限才能使用
./文件名.sh
#使用绝对路径进行执行
/root/文件名.sh
#方法四
sh 文件名.sh