1. 命令历史,快捷键

  2. 命令补全,路径补全,使用TAB键

  3. 管道|:第一个命令的输出结果送给第二个命令当做输入,最后一个命令会在当前shell进程的子shell进程中执行;

    [root@node1 ~]# echo $PATH | tr 'a-z' 'A-Z'

    /USR/LOCAL/SBIN:/USR/LOCAL/BIN:/USR/SBIN:/USR/BIN:/ROOT/BIN

  4. 重定向>,>>,<,<<,&>,&>>,2>&1

    set -C 禁止对已经存在的文件使用覆盖重定向

    强制覆盖输出则使用 >|即可

    例如:ls /usr >| /tmp/var.out

    set + C 关闭上述功能

    &>覆盖重定向,等同于2>&1

    &>>追加重定向

    <输入重定向

    <<此处生成文档:

    cat > test.txt << EOF

  5. 命令别名

    bash基本特性_历史

    想要命令别名对当前用户永久生效要把alias语句写入.bashrc中,想要对所有用户永久生效定义在/etc/bashrc中,编辑完成后想立即生效别忘了使用source命令去加载,想撤销别名就是用unalias后面跟别名.虽然定义了别名,但是想使用命令本身可以使用\后面跟命令使用命令原意

    bash基本特性_定向_02

    仅对当前用户:~/.bashrc

    对所有用户有效:/etc/bashrc

  6. 命令行编辑

  7. 命令行展开(例如~展开为用户家目录)

    示例:

    bash基本特性_定向_03

  8. 文件名通配

    glob的使用:

    *匹配任意长度的任意字符

    ? 匹配任意单个字符

    [] 匹配指定范围内的任意单个字符

    例如:[a-zA-Z] [A,B,C] [0-9]

    [:space:]所有空白字符  [:punct:]表示所有标点符号 [lower]表示所有消息字符

    [:digst:]数字 [:alnum:]数字和大小写字母 [:alpha:]大小写字母

    [[:space:]]里边的中括号表示空白字符的集合,外面的表示从这个集合中任意取一个

    使用man 7 glob 可以获得这些

    [^]匹配指定范围之外的单个字符

    Ls [^0-9]显示非数字开头的文件

  9. 命令执行状态结果,使用$?判断

  10. 变量

  11. 编程