225025 发表于 2018-8-29 07:14:58

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: 撤消别名;

页: [1]
查看完整版本: bash shell的基础特性之一