Bash shell 相关特性

bash 基础特性之:命令历史

命令历史:shell进程会在会话中保存此前用户提交执行过的命令;

  • 查看历史命令:
    • ~]# history
    • 定制history的功能,可通过环境变量来实现
    • HISISIZE:shell进程可保留的命令历史条数
    • HISIFILE:持久保存命令历史的文件 (.bash_history)
    • HISIFILESIZE:命令历史文件的大小
  • 用法:
-c:清空当前历史命令; 
-a:将历史命令缓冲区中命令写入历史命令文件中; 
-r:将历史命令文件中的命令读入当前历史命令缓冲区; 
-w:将当前历史命令缓冲区命令写入历史命令文件中。
-d:删除指定命令历史条目
  • 显示最近#条历史命令 (history #)
  • 调用历史列表中的命令 ( ! number)
  • 再次执行上一条命令 (!!)
  • 再一次执行历史列表中最近一个以STRING开头的命令 (!STRING)
  • 调用上一条命令的最后一个参数 (ESC+.、file !$、file alt+.
  • 控制命令历史的方法
    • 环境变量:HISICONTROL
    • 参数:
      ignorespace:忽略以空白字符开头的命令
      ignoredups:忽略以空白字符开头的命令
      ignoreboth:以上两者同时生效
      echo $HISTCONTROL
    • 修改变量值
      HISICONTROL=Ignorespace

bash 基础特性之:命令补全

  • 命令补全:
    • shell程序在接收到用户执行命令的请求,分析完成后,最左侧的字符串会被当作命令;
    • 命令查找机制:
    • 根据PATH环境变量中设定的目录,自左而右逐个搜索目录下的文件名\
    • 给定的打头字符串如果能唯一标识某命令程序文件,则直接补全\
    • 不能惟一标识某命令程序文件,再击打一次tab键,会给出列表;
  • 路径补全:
    • 在给定的起始路径下,以对应路径下的打头字符串来逐一匹配起始路径下的每个文件 (tab)
    • 如果能惟一标识,则直接补全。否则,再一次tab给出列表;

猜你喜欢

转载自blog.51cto.com/51eat/2409637