Bash是一种常用shell,离用户最近的一个交互程序:
- 命令行编辑:
Ctrl+a:跳到命令行首
Ctrl+e:跳到命令行尾
Ctrl+u: 删除光标至命令行首的内容
Ctrl+k: 删除光标至命令行尾的内容
Ctrl+d: 删除光标指定字符
Ctrl+l: 清屏
- history:命令历史记录命令
选项:-c:清空命令历史
-d:删除指定位置的命令
-w:保存命令历史至.bash_history文件中
常用技巧:
!n:执行命令历史中的第n条命令;
!-n:执行命令历史中的倒数第n条命令;
!!: 执行上一条命令;
!string:执行命令历史中最近一个以指定字符串开头的命令
!$ / Esc+./ Alt+. :引用前一个命令的最后一个参数;
3.命令和文件路径补全:按Tab键
4.文件名通配相关常用技巧
*: 代表任意长度的任意字符
?: 代表任意单个字符
[]:代表匹配指定范围内的任意单个字符
[abcd]:代表abcd其中一个字符
[a-m]:代表a至m中其中一个字符
[a-z]: 代表所有小写字母,如同[:lower:]
[A-Z]:代表所有大写字母, 如同[:upper:]
[0-9]:代表数字, 如同[:digit:]
[a-zA-Z]:代表大小写字母,如同[:alpha:]
[0-9a-zA-Z]:代表数字和大小写字母,如同[:alnum:]
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母, 如同[a-z]
[:upper:]: 大写字母, 如同[A-Z]
[:alpha:]: 大小写字母, 如同[a-zA-Z]
[:digit:]: 数字,如同[0-9]
[:alnum:]: 数字和大小写字母,如同[0-9a-zA-Z]
[^]: 匹配指定范围之外的任意单个字符
如果英文好的话,可 man 7 glob查看文档
举例说明:文件名通配:
背景创建w888,de3,b1 good,1314,w.llow,x 66,9ay,520,d02i这几个文件
1.显示所有以5或w开头的所有文件
ls [5w]*
2.显示所有包含字母的文件
ls *[a-zA-Z]*
3.显示只包含特特殊字符的文件
ls *[^[:alnum:]]*
ls *[^0-9a-zA-Z]*