Bash基本功能
历史命令与补全
history [选项] [历史命令保存文件]
-c 清空历史命令 -w把缓存中的历史命令写入历史命令保存文件 ~/.bash.history
默认保存1000条历史命令, 也可以修改/etc/profile 这个文件
历史命令的调用
上下箭头 !n 直接跳到第多少条历史命令 !!重复执行上一条命令 !字符串 重复执行最后一条以字符串开头的命令
命令与文件补全
Tab键可以补全,前提是只能匹配一个命令,否则按两下会显示所有以当前字串开头的命令。
命令别名
alias 别名='原命令' alias 直接查看所有别名 unalias删除别名
定义别名注意不要跟原始的命令一样
命令执行时顺序
1,用绝对路径或者相对路径执行的命令
2,第二顺位 执行别名
3,执行Bash的内部命令
4,执行按照$PATH环境变量定义的目录查找顺序找到的第一个命令
这样定义的 重启就失效了。 让别名永久生效 修改 /root/.bashrc 文件
Bash常用快捷键
红色是常用的,看起来是大写字母,其实只要ctrl 加字母就行
ctrl + A 把光标移动到命令行开头
ctrl + E 把光标移动到命令行尾部
ctrl + C 强制终止当前命令
ctrl + L 清屏
ctrl + U 删除或者剪切光标之前的命令,比如一个很长的命令,不想使用退格键一个一个的删
ctrl + K 产出或剪切光标之后的内容
ctrl + Y 粘贴ctrl + U 或 ctrl + K 的内容
ctrl + R 在历史命令中搜索命令
ctrl + D 退出当前终端
ctrl + Z 暂停,并放入后台
ctrl + D 暂停屏幕输出
ctrl + Q 恢复屏幕输出
输入输出重定向
1.标准输入输出
键盘 /dev/stdin 0 标准输入
显示器 /dev/sdtout 1 标准输出
显示器 /dev/sdterr 2 标准错误输出
2.输出重定向
把输出重新定义输出方向, 比如本来输出到屏幕的,然后重定向为输出到文件里。
应用:比如深夜需要服务器做一些负载大的事。是自动执行的。则需要把输出存到文件中 供管理员白天来看。
标准输出重定向 命令>文件 以覆盖的方式,把命令的正确输出输出到指定的文件或者设备中
命令>>文件 以追加的方式,。。。。
标准错误输出重定向 错误命令 2>文件 以覆盖的方式。。。
错误命令 2>>文件 (不能有空格!!) 以追加的方式。。。
正确输出和错误输出同时保存
命令 > 文件 2>&1 以覆盖方式,把正确错误的输出都保存到同一个文件
命令 >> 文件 2>>&1 以追加方式,把正确错误的输出都保存到同一个文件
命令 &>文件(没有空格!) 以覆盖方式,把正确错误的输出都保存到同一个文件
命令 &>>文件(没有空格!) 以追加方式,把正确错误的输出都保存到同一个文件
命令>>文件1 2>>文件2 把正确的输出追加到文件1 错误输出追加到文件2ls &>/dev/null 把命令输出丢进黑洞,不让它有输出显示
3.输入重定向
就是不用常用输入作为输入源,而是把输入源改为文件里的内容 之类的23
统计命令 wc [选项] [文件名]
-c 统计字节数 -w 统计单词数 -l统计行数
命令格式: 命令 < 文件
多命令顺序执行
; 号 命令1; 命令2 多个命令顺序执行,相互之间没有关系
&& 命令1&&命令2 只有当命令1正确执行了 命令2才会执行
|| 命令1||命令2 只有命令1不正确,命令2才会执行
dd 命令 复制特殊命令,
dd if=输入文件 of=输出文件 bs=字节数 count=个数
源文件 目标文件 一个数据块大小 指定输出输入多少个数据块
管道符
命令1 | 命令2
命令1 的正确输出 作为命令2的输入
grep [选项] "搜索内容" 文件
-n 显示行号
-i 忽略大小写
-v 反向查找
--color=auto 搜出的关键词用颜色显示
通配符
? 匹配一个任意字符
* 匹配0个或任意多个任意字符
[] 匹配括号中的任意一个字符
[-] 匹配括号中任意一个字符,-代表一个范围。
[^] 逻辑非,表示匹配不是括号内的一个字符 例如[^0-9] 匹配一个不是数字的字符
特殊符号
'' 单引号,单引号中所有特殊符号都没有特殊含义了
"" 双引号,在双引号中特殊符号没含义,但是$ 、 ` 和 \ 是例外,拥有调用变量的值、引用命令和转义父的特殊含义
`` 反引号,反引号括起来的内容是系统命令,在Bash中会先执行它。
和$()作用狗一样,不过建议用$(),因为反引号很容易看错
$() 和反引号作用一样 用来引用系统命令
# 在shell脚本中,#开头的行代表注释
$ 用于调用变量的值,入需要调用变量name的值,需要用$name
\ 转义符号,在\之后的符号会实区其本身意思