gbless 发表于 2018-8-27 08:09:09

linux基础入门shell基础特性

  Linux补全
  命令怎么补全,外部命令,bash是根据PATH环境变量的定义路径,自左而右在每个路径
  搜寻以给定命令名命名的文件,第一次找到即为要执行的命令
  路径怎么补全,把用户给出的字符串当做路径的开头,并在其指定的位置就是上级目录
  下搜寻以指定的字符串开头文件名
  按住tab键
  1.对文件补全
  2.路径补全
  如果给以的字符是唯一那么直接补全
  如果给以的字符不唯一那么再按一次tab,即为显示列表
  命令行展开
  命令行展开

[*]  ~展开为用户的主目录
[*]  ~USERNAME展开为指定用户的主目录
[*]  {} 可承载一个以逗号分隔的列表,并将其展开为多个路径
  例如/tmp/{a,b} 表示为 /tmp/a和 /tmp/b
  命令执行状态与结果
  命令执行结果状态只有两种(要么成功要么失败)
  成功只有一种,0
  失败就是 1-255

  bash使用特殊变量$?保持最近一条命令的执行状态
#echo $?
  程序执行有两类结果
  程序的返回值
  程序执行的状态结果
  alias命令别名
  通过alias命令实现
1).alias
  显示当前shell进场所有可用的命令别名
  2).alias NAME='VALUE'表示别名=命令或者路径
  定义别名NAME,其相当于执行命令VALUE
  注意通过alias定义命令别名只对当前shell进程生效,当重新启动shell进程或重新登录在失效,并且只对当前用户生效
  当前用户生效定义命令别名: ~/.bashrc文件中,如果没有这文件可创建
  如果需要永久生效,并长期有效必须写在 /etc/bashrc文件中如果没有则创建
  需要重读配置文件.bashrc    使用命令source /path/to/config_file
#source.bashrc
  或者写成
#. /path/to/config_file

  撤销别名 unalias
  unalias NAME 表示撤销NAME的别名
  Note:如果别名与原命令的名称相同例如 cp='cp -i'如果需要使用原命令而不是cp -i这个命令,则
#\cp

通配符
glob(globbing)
  bash中实现文件名“通配”机制

[*]  *
  表示任意长度的任意字符
[*]  ?
  表示?后的字符前面必须有一个字符,表示比配单个字符
[*]  []
  表示比配指定范围内的单个字符
  ,不区分字符大小写, 只匹配大写字母
[*]  [^]取反
  匹配取反不匹配范围之内的
  [^0-9]表示不匹配0-9的数字
[*]  专用字符集
  [:alnum:]任意数字或字母
  [:alpha:]任意大小写字母
  [:blank:]
  [:cntrl:]
  [:digit:]任意数字
  [:graph:]
  [:lower:]任意小写字母
  [:print:]可打印字符
  [:punct:]标点符号
  [:space:]任意空格
  [:upper:]任意大写字母
  [:xdigit:]
  用法
  #ls a[[:alnum:]]b 表示中间匹配任意数字或字母
  bash快捷键
  Crtl+l 清屏 相当于clear

  Crtl+a回到命令开始处
  Crtl+e 回到命令尾部处
  Crtl+C 换行
  Crtl+u 删除光标所在处的前部分
  Crtl+k 删除光标所在处的后部分

页: [1]
查看完整版本: linux基础入门shell基础特性