bash shell的基础特性之一

bash shell的基础特性之一

一、命令历史

bash会记录此前用户在shell会话中执行的命令于缓冲区中;正常退出时,会被记录于当前用户家目录下隐藏文件.bash_history中;

环境变量:

HISTSIZE:命令历史记录的条数;

HISTFILE:命令历史文件路径;

HISTFILESIZE:

history命令:

-c:清空命令历史;

-d #: 删除历史中指定的命令;

-a: 当缓冲区中的历史手动追加文件;

     history #: 显示最近的多少条命令;

   调用过去执行过的命令:

!#:调用历史中的第#条命令;

!!: 重复执行上一条命令

!string:调用历史中最近一个以string开头的命令;

         调用过去执行过的命令的最后一个参数:

!$:

ESC, .

Alt+.


二、命令补全

   命令搜索机制:

PATH环境变量:由冒号分隔的路径

   hash:把此前搜索到路径缓存到内存中;

kv: key-value

  ls --> /bin/ls

         命令补全:TAB


三、路径补全

  把用户给出的路径字符串当前路径起始,并在其指定的上级目录下搜索以指定的字符串开头的文件名;

  如果惟一:直接补全;

  否则:两次Tab,可列出;


四、 命令行展开的功能

~: 展开为当前用户的主目录;

~USERNAME:展开为指定用户的家目录;

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

/var/{log,cache,run} = /var/log /var/cache /var/run


五、命令的执行结果状态,由bash追踪和保存

成功:0

失败:1-255

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

程序的执行结果有两种:

程序的返回值;

程序的状态结果;


六、命令别名

命令的另一个引用符号,由bash程序维护;

alias/unalias

alias: 查看所有已经定义别名;

alias NAME=COMMAND:定义别名;

                   如果别名同原命令名,想直接执行原命令,则需使用\COMMAND

unalias NAME: 撤消别名;


你可能感兴趣的:(命令,历史,补全,别名)