排第四偶家 发表于 2018-8-21 11:57:29

shell的特性

  shell的特性
  ~/.bash_history命令历史存放文件,登出后保存。
  $HISTSIZE命令历史条数,允许~/.bash_history文件存储的命令条数,默认1000.
  !!:上一条命令
  !$:上一条命令的最后一个参数
  !命令标号:执行history输出中的对应的命令
  *:通配符,任意个任意字符;?:通配符,一个任意字符
  在当前shell定义的alias只在当前shell生效
  >输出重定向    >>追加重定向    错误重定向    2>>错误追加重定向
  输入重定向是使用符号后文件的内容作为输入
  错误重定向只记录错误信息
  

  shell变量
  变量分为系统预设变量和用户自定义变量
  变量规则:

[*]  变量名=变量内容
[*]  =号两边不得有空格
[*]  变量名只能由字母、数字、下划线组成,并且不能以数字开头
[*]  当变量内容中含有特殊字符时,应使用单引号''
[*]  当变量内容中需要引用命令的运行结果,应使用反单引号``
[*]  当变量内容中需要引用其它变量值时,应使用双引号""
[*]  当变量内容中含有单引号时,可使用双引号""
  总结:单引号会将特殊字符作为普通字符,双引号不会消除特殊字符的意义。(上列最后一条除外)
  env:显示系统预设的环境变量
  set:显示所有的变量,系统预设和用户自定义
  export:在子shell中声明变量
  unset 变量名:取消声明变量
  交互式模式就是shell等待你的输入,并且执行你提交的命令。非交互式模式,在这种模式下,shell不与你进行交互,而是读取存放在文件中的命令,并且执行它们。
  当第一个用户登录时(login交互式shell),执行/etc/profile和~/.bash_profile;当运行bash shell时(nologin交互式shell),执行~/.bashrc。/etc/profile调用/etc/profile.d目录下的配置文件;~/.bash_profile会调用~/.bashrc;~/.bashrc会调用/etc/bashrc。
  ~/.bash_logout登出时执行一些清理任务
  在当前shell定义的alias只在当前shell生效
  所以如果要全局声明别名或者变量的话:变量写在/etc/profile.d/目录下,别名写在/etc/bashrc下
  ssh user@hostname command:只向系统发送一条指令并不登陆系统
  shell中的特殊符号
  #:注释符,忽略后面的内容    \:脱意字符,消除特殊字符的作用,使其成为普通字符
  ~:用户的家目录    &:将命令放到后台运行    [ ]:字符组合,匹配中括号内任意一个字符
  


页: [1]
查看完整版本: shell的特性