shell基础知识

什么是shell?

  • 用户直接面对的不是计算机硬件而是shell,用户把指令告诉shell,然后shell再传输给系统内核,接着内核再去支配计算机硬件去执行各种操作。
  • Centos默认安装的是(Bourne Again Shell),它是sh(Bourne Shell)的增强版。

shell的特性:

  • 1)记录命令历史
  • 2)命令和文件名补全
  • 3)别名
  • 4)通配符
  • 5)输入输出重定向
  • 6)管道符
  • 7)作业控制

变量:

  • shell预设的变量都是大写的,有了PATH这个变量,我们运行某个命令时,就不在需要输入全局路径,直接输入命令即可。
  • # echo $PATH
  • /usr/local/sbin:/usr/local/bin:usr/sbin:root/bin
  • # echo $HOME
  • /root
  • # echo $PWD
  • /root
  • #echo $PS1
  • [u@h W]

命令env、set:

  • 列出系统预设的全部系统变量、set还可以显示用户自定义的变量。

系统环境变量与个人环境变量的配置文件

  • /etc/profile  这个文件预设了几个重要的变量,例如PATH,USER,LOGNAME,MAIL,INPUTRC,HOSTNAME,HISTSIZE,umsk
  • /etc/bashrc   这个文件预设umask以及PS1
  • .bash_profile   该文件定义了用户的个人化路径与环境与变量的文件名称。每个用户都可使用该文件输入属于专属于自己的shell信息。当用户登录时,该文件仅仅执行一次。
  • .bashrc       该文件包含专属于自己的shell的bash信息,当登录或每次打开新的shell时,该文件会被读取。例如:你可以将用户自定义的别名或者定义变量写到这个文件中。
  • .bash_history   该文件用于记录命令历史
  • .bash_logout    当退出shell时,会执行该文件。你可以将一些清理的工作放到这个文件中。

Linux Shell中的特殊符号

  • *代表零个或多个任意字符
  • ?只代表一个任意的字符
  • #注释符号
  • 脱义字符  将后面的特殊字符还原为普通字符
  • |管道字符  将前面命令的输出作为后面命令的输入
  • $特殊符号   用作变量前面的标识符
  • ;特殊符号  一行中运行两个或两个以上的命令,需要在命令之间加符号;
  • ~特殊符号  表示用户的家目录
  • &特殊符号  把一条命令放到后台执行,需要加上符号&
  • > >>重定向符号
  • []中括号   中括号内字符组合,代表字符组合中的任意一个
  • && ||特殊符号  
  •   command1 ; command2    不管command1是否执行成功,都会执行command2
  •   command1 && command2   只有command1执行成功后,才会执行command2
  •   command || command2      command1执行成功后则command2不执行,否则执行command2
原文地址:https://www.cnblogs.com/hkping18/p/11585291.html