2022-04-28_Linux:_bash特性详解

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:]]:字母开头,字母结尾;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容