微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

shell基础知识-1

  1. shell是什么?

    1)shell是一个命令解释器,用于用户和计算机linux系统之间的交互

    2)shell是一种编程语言,由若干bash命令组成,并支持特定语法,比如逻辑判断、循环等结构,函数

    3)每个用户都可以有自己的shell,如zsh,ksh等,centos7认shell是bash 

  2. 命令历史

     命令历史命令:history

     命令历史文件:~/.bash_history,历史命令保存在该文件

     永久保存历史命令:chattr  +a   ~/.bash_history

   1)显示执行过的历史命令

        # history        或

        # cat  ~/.bash_history

   2)命令历史的环境变量

        HISTSIZE                         认值1000,内存中命令缓存的数量;一般在/etc/profile环境变量配置文件中配置才能永久生效

        HISTFILE                   指定记录历史命令的文件

        HISTTIMEFORMAT          定义历史命令的格式

   3)执行命令历史中的命令       

          # !n(中间没空格)            执行命令历史中的第n条命令

          # !-n                                  执行倒数第n条命令

          # !!                                  执行上一条命令

         #  !str                                 执行以str开头的命令   

  3. 命令补全和命令别名

   1)命令补全:tab键敲一下 ,敲两下显示所有相关的命令

        参数补全:必须安装bash-completion包

   2)命令别名:alias命令,给命令重新起一个简洁容易记的名字

                         unalias命令,取消命令别名

   3)命令别名存放的配置文件

        alias命令是临时生效的,要是alias命令永久生效,必须存放到对应的环境变量配置文件

        某个用户的命令别名配置文件:~/.bashrc

        所有用户的命令别名配置文件:/etc/profile.d目录下的文件

  4. 通配

     *        任意长度的任意字符

     ?      任意单个字符

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

              如:[abc]         表示abc中的任意一个字符

                  [0-9]         表示0到9中的任意一个字符

    { }       指定范围内的任意单个字符

              如:{1,2,3}    表示1 2  3中的任意一个字符

    注意:[a-z]    表示所有英文字符,不区分大小写

  5. 输入输出重定向

     >             输出重定向

     >>          追加输出重定向

     2>           错误输出重定向

     2>>        错误追加输出重定向

     <            标准输入重定向

     举例:正确和错误输出到a.txt    即&>>a.txt

               正确输出到1.txt   错误输出到a.txt     即 >1.txt  2>a.txt

           

image.png

   6. 管道符和作业控制

      管道符| : 把前面命令的输出结果作为后面命令的标准输入

      作业控制:

         ctrl+z                把当前作业放在后台,并暂停

         jobs                  列出当前后台的作业及作业状态

         fg                     把后台作业调到前台,并运行

         bg                    把后台的作业调到后台,并运行

         &                     把当前作业放在后台,并运行

   7. shell变量和环境变量

      环境变量:系统的,如PATH,HOME,PWD,LOGNAME等

      shell变量:用户自定义的        如:a=1

    1)env    查看环境变量

         set     查看环境变量和shell变量

    2)变量名规则:

         字母、数字和下划线,首位不能为数字

    3)变量值

         当变量值有特殊符号时,必须用单引号括起来

    4)定义shell局部变量,只在当前shell中生效

         a=1

    5)定义shell全局变量,在当前shell和子shell中都生效

         export  a=1

    6)取消定义的shell变量

         unset   a

   8. 环境变量配置文件

       /etc/profile             所有用户用户登陆时执行

      /etc/bashrc              所有用户用户不用登陆,执行shell时就生效

      ~/.bash_profile        当前用户的环境变量配置文件

      ~/.bashrc                 当前用户的环境变量配置文件,~/.bash_profile会调用配置文件

      ~/.bash_history        命令历史的配置文件

      ~/.bash_logout        当前用户退出时生效

      环境变量PS1

         \u        表示当前用户

         \h        表示主机名

         \W       表示当前目录的最后一层目录

         \w        表示当前目录的全路径

         $          命令提示

         

image.png

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐