bash基础特征

O## 1.记录命令历史
环境变量:HISTCONTROL 控制命令历史的记录方式

[root@senlong local]# echo $HISTCONTROL # 查看当前命令历史的记录方式
ignoredups
[root@senlong local]# export HISTCONTROL="ignorespace" # 修改环境变量
[root@senlong local]# echo $HISTCONTROL
ignorespace

命令历史的三种记录方式:

  • ignoredups:忽略重复的命令;连续且相同方为“重复”;
  • ignorespace:忽略所有以空白开头的命令;
  • ignoreboth:ignoredups, ignorespace;

2.命令补全

用户键入一部分命令后,按下Tab键,bash根据PATH环境变量定义的路径,自左而右在每个路径搜寻以给定命令名命名的文件,第一次找到即为要执行的命令。分为两种情况:

  • 用户给定的字符串只有一条惟一对应的命令,直接补全
  • 用户给定的字符串有多条对应的命令,再次按Tab, 将对应的命令列表显示

3.路径补全

把用户给出的字符串当做路径开头,并在其指定上级目录下搜索以指定的字符串开头的文件名, 使用方式与命令补全一致:路径惟一时,按Tab自动补全,不惟一时,再次按Tab,显示路径列表

4.命令行展开

~: 展开为用户的主目录
~USERNAME:展开为指定用户的主目录
{}:可承载一个以逗号分隔的列表,并将其展开为多个路径
/tmp/{a,b} = /tmp/a, /tmp/b
/tmp/{tom,jerry}/hi = /tmp/tom/hi, /tmp/jerry/hi

[root@senlong ~]# cd /
[root@senlong /]# cd ~
[root@senlong ~]# pwd
/root
[root@senlong ~]# ls /tmp/{a,b}
/tmp/a:
a.txt

/tmp/b:
b.txt

5.命令的执行结果状态

bash使用特殊变量$?保存最近一条命令的执行状态结果:

  • 0:成功
  • 1-255:失败
[root@senlong ~]# ls /
bin   dev   lib         media  proc  selinux  tmp
boot  etc   lib64       mnt    root  srv      usr
data  home  lost+found  opt    sbin  sys      var
[root@senlong ~]# echo $? # 显示上一条指令的执行结果
0
[root@senlong ~]# ls test
ls: cannot access test: No such file or directory
[root@senlong ~]# echo $? # 显示上一条指令的执行结果
2

bash的快捷键

  • Ctrl+l: 清屏,相当于clear命令;
  • Ctrl+a:跳转至命令开始处;
  • Ctrl+e:跳转至命令结尾处;
  • Ctrl+c:取消命令的执行;
  • Ctrl+u: 删除命令行首至光标所在处的所有内容;
  • Ctrl+k: 删除光标所在处至命令行尾部的所有内容;
    原文作者:塞亚猫
    原文地址: https://www.jianshu.com/p/e7f447b8e313
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞