bash及其特性:
shell:外壳
GUI:Gnocme、KDE、Xfce
CLI:sh,csh, ksh(商业化)
bash:
1.命令历史
2.管道、重定向
3.命令别名
4.命令行编辑
5.命令行展开
6.文件名通配
7.支持变量
8.支持编程
命令行编辑:
光标跳转:
ctrl+a:跳到命令行首
ctrl+e:跳到命令行尾
ctrl+u:删除光标至命令行首的内容
ctrl+k:删除光标至命令行尾的内容
模拟终端:ctrl+前后箭头
ctrl+l:清屏
Ctrl+w:删除光标前面的单词的字符
Alt – d :由光标位置开始,往右删除单词。往行尾删
Ctrl – b :往回(左)移动一个字符
Ctrl – f :往后(右)移动一个字符
Alt – b :往回(左)移动一个单词
Alt – f :往后(右)移动一个单词
Ctrl – xx :在命令行尾和光标之间移动
M-b :往回(左)移动一个单词
M-f :往后(右)移动一个单词
命令历史
1.上下箭头
2.history
-c:清空命令历史
-d OFFSEET [n]:指定偏移量删除几个
history -d 1006 3
-w:保存命令历史至历史文件中
环境变量:
PATH:命令搜索路径
HISTSIZE:命令历史缓冲区大小——>echo $HISTSIZE:1000
命令历史的使用技巧:
!n :执行history的中的第n条命令 [!10]
!-n :执行history的中"倒数“的第n条命令[ !-10]
!! :执行上一次执行的命令
!string :执行命令历史中最近以指定string开头的命令
!$ :引用上一个命令的最后一个参数 nano !$
ESC. ——>先安Esc,再按点:引用上一个命令的最后一个参数
Alt+. ——>引用上一个命令的最后一个参数
命令补全:
tab
2次tab
路径补全:
2次tab
命令别名:alias [只在当前shell使用的生命周期有效]
alias string='COMAND [option] [argument]'
alias cls='clear'
撤销命令别名:unalias cls
命令替换:'$(string)'、反引号
' ' :命令替换;
" ":弱引用,可以实现变量替换;
' ':强引用,不完成变量替换
echo "The curretn dirctoty is$(pwd)."
>[root@ip-10-18-6-152 ~]# echo "The curretn dirctoty is$(pwd)."
The curretn dirctoty is/root.
touch ./file-$(date +%F-%H-%M-%s).txt
>[root@ip-10-18-6-152 seven]# ls
file-2022-04-28-06-26-1651127202.txt file-2022-04-28-06-26-1651127213.txt qian
[root@ip-10-18-6-152 seven]#
文件名通配:globbing
- :任意长度的任意字符;
?:匹配任意单个字符
[] :匹配指定范围内的任意单个字符
[^]:匹配指定范围之外的任意单个字符
[:space:]:空白字符
[:punct:]:标点符号
[:lower:]:小写字母
[:upper:]:大写字母
[:alpha:]:大小写字母
[:digit:]:数字
[:alnum:]:数字和大小写字符
ls a*==显示以a开头的任意长度的任意字符;
ls ??y*==y前2个字符
ls [a-zA-Z]*[0-9] ==以任意字符开头,数字结尾的
ls [^0-9]* ==不是数字开头的文件
ls [0-9a-zA-z]::字母数字开头;
ls [[:alpha:]]*[[:alpha:]]:字母开头,字母结尾;