linux中bash的特点,Linux之bash特性

什么是shell?

字面意思:壳,充当人机交互的翻译官,当用户输入一条命令,shell就会解析。shell位于操作系统外层,负责与用户交互。

c1f84d1e83d6aba91346b5c1243c652e.png

shell类型:可以查看/etc/shells文件,bash shell作为系统的默认shell,比较流行,bash有众多特性。

查看系统当前shell:#echo $SHELL

命令历史记录

命令/目录补全功能

命令行展开

命令的执行结果

快捷键

glob通配符

多命令执行

命令历史记录

shell进程会将保存此前用户提交执行过的命令,保存在用户家目录:~/.bash_history

查看:#history

可以通过修改环境变量实现history的配置:

HISTSIZE:shell进程保存的历史条数,默认1000

HISTFILE:保存数据的文件

用法:

history [-c] [-d offset] [n] or history -anrw [filename] or history -ps arg [arg...]

-c:清空历史

-d offset:删除指定命令历史

-r:从文件读取命令历史至历史列表中;

-w:把历史列表中的命令追加至历史文件中

n:显示历史的第几条命令

调用命令历史列表中的命令:

!#:再一次执行历史列表中的第#条命令;

!!:再一次执行上一条命令;

!STRING:再一次执行命令历史列表中最近一个以STRING开头的命令;

调用上一条命令的最后一个参数

快捷键:esc,. #先按ESC键再按.号键

特殊字符: !$

命令/目录补全功能

在mini系统安装,参数不能补齐,需要安装一个包:bash-completion

命令补齐:Tab键补齐

命令查找机制: 查找内部命令--> 根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名;

路径补齐:

在给定的起始路径下,以对应路径下的打头字串来逐一匹配起始路径下的每个文件:

tab:如果是唯一标识,则直接补全,否则,再按一次tab会给出列表供选择

命令行展开

~:自动展开为用户的家目录,或指定的用户的家目录;

{}:可承载一个以逗号分隔的路径列表,并能够将其展开为多个路径;

bd876cd4e023ebcf8fa05da074803c34.png

命令的执行结果

判断命令的结果是否执行成功,通过返回状态码判断,命令执行完后,状态码保存在bash的特殊变量中:$?

0:表示成功

1~255:表示失败

6689878a24d289a3985f8a82e114cb00.png

快捷键

Ctrl+a:跳转至命令行行首 ==home键

Ctrl+e:跳转至命令行行尾 ==end键

Ctrl+u:删除行首至光标所在处之间的所有字符;

Ctrl+k:删除光标所在处至行尾的所有字符;

Ctrl+l:清屏,相当于clear

Ctrl+w:在光标处起往前删除一个单词

Ctrl+:Ctrl加左右键快速往前完后移动光标

glob通配符

匹配模式:元字符

*:匹配任意长度的任意字符

pa*, *pa*, *pa, *p*a*

pa, paa, passwd

?:匹配任意单个字符

pa?, ??pa, p?a, p?a?

pa, paa, passwd

[]:匹配指定范围内的任意单个字符

有几种特殊格式:

[a-z], [A-Z], [0-9], [a-z0-9]

[[:upper:]]:所有大写字母

[[:lower:]]:所有小写字母

[[:alpha:]]:所有字母

[[:digit:]]:所有数字

[[:alnum:]]:所有的字母和数字

[[:space:]]:所有空白字符

[[:punct:]]:所有标点符号

例如:匹配pa##的文件,2开头的三位数

pa[0-9][0-9], 2[0-9][0-9]

[^]:匹配指定范围外的任意单个字符

[^[:upper:]]

[^0-9]

[^[:alnum:]]

多命令执行

COMMAND1; COMMAND2; COMMAND3; ...

逻辑关系:

与: &&

或: ||

非: !

COMMAND1 && COMMAND2

COMMAND1为“假”,则COMMAND2不会再执行;

否则,COMMAND1为“真”,则COMMAND2必须执行;

COMMAND1 || COMMAND2

COMMAND1为“真”,则COMMAND2不会再执行;

否则,COMMAND1为“假”,则COMMAND2必须执行;

! COMMAND:COMMAND为真则为假,反之亦然。

988994d6605ee104da7b206b8fdd4284.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值