Linux系统管理之bash基础特性
1、补全
系统支持的shell: # cat /etc/shells
当前系统默认shell:# echo $SHELL
命令补全:
给定的打头的字符串如果在系统中能够唯一的标识某一个命令程序文件,按一下tab键,直接补全
如果不能够唯一标识,则需要再次敲击tab键,会给出命令列表
路径补全:和命令补全机制不同
在给定的起始路径下:以对应路径下打头的字符串来逐一匹配起始路径下的每一个文件
补全键:tab
作用: 如果能够唯一标识,则直接补全
否则,再一次敲击tab键,给出列表文件系统机制
2、快捷键
快捷键 | 功能 |
---|
Ctrl+d | 退出,exit logout |
Ctrl+c | 终止前台运行的程序 |
Ctrl+l | 清屏 |
Ctrl+a | 光标移动到命令行的最前端 |
Ctrl+e | 光标移动到命令行的最后端 |
Ctrl+u | 删除光标前所有的字符 |
Ctrl+k | 删除光标后所有的字符 |
Ctrl+r | 搜索命令历史 |
3、历史命令-history
history
用于显示指定数目的指令命令,读取历史命令文件中的目录到历史命令缓
冲区和将历史命令缓冲区中的目录写入命令文件。
关于history的变量
变量名称 | 功能 |
---|
HISTSIZE | shell进程中可以保留的命令历史的条数 |
HISTFILE | 持久保持命令历史的文件 |
HISTFILESIZE | 命令历史文件大小 |
选项
选项名称 | 功能 |
---|
-C | 清空命令历史 |
-d+数字 | 删除指定的命令历史 |
-r | 从文件中读取命令历史到命令历史列表中 |
-w | 把命令历史列表中的命令追加到命令历史文件中 |
参数
n:打印最近n条历史命令
历史命令的快捷方式
快捷键 | 功能 |
---|
!# | 执行命令历史列表中第#条命令 |
!! | 执行上一条命令 |
!string | 再一次执行命令历史列表中最近一个以STRING开头的命令 |
ESC键+点号 或者 !$ | 调用上条命令的最后一个参数 |
4、命令的别名
定义别名:# alias name='common’
撤销别名: # unalias name
永久保存别名:
# vi /etc/bashrc
alias name='commond'
5、变量
本地变量:当前shell环境生效当前shell进程中某一个代码段,通常指某一个函数
局部变量:当前的shell进程生效,其他shell包括子shell均不生效
环境变量:当前shell进程以及子进程
格式:echo $NAME
6、特殊的符号
符号 | 功能 |
---|
| 一个 管道 p 将前一个命令的执行结果当作后一个命令的输入 进程管道:当前程序运行中执行 |
. | 当前目录 |
… | 上一级目录 |
; | 分割命令 linux在执行多条命令时。可以用分号分开,顺序的去独立执行各条命令,每条命令不关心是否失败,所有命令都执行 |
`` | 反单引号,命令替换 |
‘’ | 双引号,弱引用,可以实现变量和命令的替换 |
{} | 做扩展,或者在shell脚本中构建代码块 |
* | 表示通配 |
7、输入输出重定向:
linux系统三种IO设备
标准输入 STDIN-----0 默认来自于键盘的输入
标准输出 STDOUT----1 默认输出到终端窗口
标准错误 STDERR----2 默认输出到终端窗口
重定向:
输出重定向:使用户将一个命令的执行结果输出重定向到一个文件中,而不是显示到屏幕上
正确重定向(1可以省略):
1>:覆盖
1>>:追加
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/24e2a3199d226199f9b6eb5c21d2109e.png)
错误重定向:
2>
2>>
注意:正确和错误都重定向到同一个位置:2>&1 &>
例: ls /tmp/file /tmp/file1 > test 2>&1
特殊的两个文件:
/dev/null:数据黑洞
/dev/zero:吐0机
8、命令行通配符:
通配符 | 功能 |
---|
* | 匹配任意长度的任意字符 |
? | 匹配任意单个字符 |
[] | 匹配指定范围内的任意单个字符 |
[^] | 匹配指定范围外的任意单个字符 |
[[:upper:]] | 所有的大写字母 |
[[:lower:]] | 所有的小写字母 |
[[:alpha:]] | 匹配所有的字母 |
[[:digit:]] | 所有的数字 |
[[:alnum:]] | 字母和数字 |
[[:space:]] | 空白字符 |
例:列出 /etc下,所有的以n、l开头的,并且以非数字结尾的文件
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/abe3f6ad8f2d379b1a589621e206ccec.png)