Linux bash基础特性一:补全
系统支持的shell:cat /etc/shells
当前系统默认的shell:echo $SHELL
命令补全
输入命令时可以使用tab键进行补全操作(只有输入的命令提示唯一时才可以全部补充,当输入的命令不唯一时只可以补充到命令与其他相同提示命令出现差异的地方,然后需要手动敲打下一个字符唯一后可进行补充,不可以直接补充的时候可以敲击两次tab键进行列表操作)
路径补充
输入路径时可以使用tab键进行路径的补充,当路径唯一时可以进行补充,不唯一时需要敲击两次tab键给出列表操作
Linux bash 基础特性二:快捷键
Ctrl+c 终止当前的程序
Ctrl+d 退出操作
Ctrl+a 移动光标至字符串首
Ctrl+e 移动光标至字符串末尾
Ctrl+u 删除光标前的字符
Ctrl+k 删除光标后的字符
Ctrl+r 搜索历史命令
Linux bash 基础特性三:历史命令
历史命令:shell进程会自动保存执行过的命令(可以通过history命令查看)
也可以更改进程保存历史命令的条数
格式为:HISTSIZE=num
查看进程保存命令的条数多少命令
格式为:echo $HISTSIZE
HISTFILE:持久保存历史命令的文件
每个用户都有一个.bash_history文件可以使用ls -a 家目录下的.bash_history文件
历史命令文件与进程设置差不多
history n:显示最近使用的n条命令
!n :再次执行历史命令中的第n条
!! :再次执行上一条命令
!string :再次执行历史列表中最近的一条string命令
Linux bash 基础特性四:命令别名
获取所有可用的别名 # alias
定义别名:alias delete=’rm -rf’ 这样就可以使用delete来删除文件或目录了,使用时应小心注意删除的文件是否是系统文件。
使用别名删除mini文件
撤销别名:unalias delete
Linux bash 基础特性五:变量
本地变量:生效范围为当前shell进程中的某代码片段,通常指函数。
局部变量:指生效范围为当前shell进程,对当前shell之外的其他shell进程包括当前shell的子shell进程均无效。
全局变量:生效范围为当前shell进程及其子进程。
Linux bash 基础特性六:重要特殊符号
| 管道:可以实现对数据的过滤
tee管道:可以将数据保存下来使其既可以输出到屏幕也可以保存到文件
‘.’ 点号在linux中代表当前目录
‘..’ 双点号在linux中代表上一级目录
<``>反单引号表示命令替换
<’’>单引号表示强引用不做变量替换
<””>双引号表示弱引用,可以实现变量或命令的替换
{}大括号表示扩展,或构件代码块
*号表示通配作用
输入输出重定向
- 标准输出、标准输入、标准错误
三个文件的标识符(0,1,2)分别与标准输入(stdin),标准输出(stdout),标准错误(stderr)对应。
标准输入:stdin -0默认接受凯子键盘的输入
标准输出:stdout -1 默认输出到终端窗口
标准错误:stderr -2 默认输出到终端窗口
- 输出重定向
格式为:date 1>date.txt 会覆盖原有的内容
date >>date.txt 不会覆盖原有的内容
错误输出 2> ,2>>
正确输出与错误混合输出:&> ;2>&1
#/dev/null 是一个空设备也称为无底洞,一般用来将一些不想看到的输出放到空洞内
#/dev/zero 是一个输入设备,可以用来初始化文件
创建一个200M的文件
dd if=/dev/zero of=/root/file_200M bs=1M count=100
命令行通配符
通配符 | 含义 |
* | 表示任意长度的任意字符 |
? | 表示任意一个字符 |
[] | 匹配指定范围内的任意单个字符 |
[^] | 匹配指定外的任意单个字符 |
[a-z],[A-Z],[0-9],[a-z0-9]