美文网首页
Linux shell基础知识(二)

Linux shell基础知识(二)

作者: mixuyulv | 来源:发表于2018-01-12 01:30 被阅读0次

    摘要:8.6 管道符和作业控制

              8.7/8.8 shell变量

              8.9 环境变量配置文件

    扩展

    bashrc和bash_profile的区别 http://ask.apelearn.com/question/7719

    简易审计系统: http://www.68idc.cn/help/server/linux/2014042190951.html

    关于PROMPT_COMMAND环境变量的含义 http://www.linuxnote.org/prompt_command-environment-variables.html

    一 管道符和作业控制

    1.管道符 |

            其作用是将前面命令输出的内容交给后面的命令作为输入

    2.暂停任务

            使用ctrl+z暂停任务,任务被丢到后台,

            暂停后恢复使用命令# fg 即可,任务则被恢复到前台

    3.查看后台任务    

        # jobs

    4.恢复后台任务

            如果后台任务只有一个,使用命令# fg  //不加id表示恢复最后一个

            如果后台任务有多个,使用命令 # fg [任务id号]

    5.将任务调到后台

        # bg [任务id]   //将任务调到后台后,任务会继续在后台执行,前台也可以继续操作

    6.  将任务调到后台并执行        

            # 命令 &

    二 shell变量

    1.查看系统变量

        # env  

        系统的变量,其变量名是大写的英文字母

    2.set命令

                # set 不仅可以查看系统的变量,还可以查看到用户自定义的变量

    3.自定义变量

       如 # a=1 其中a就是自定义的变量

        自定义的变量a使用set查看

    4.变量名规则

        系统变量名一般不会改

        自定义变量名规则:由字母、数字、下划线组成,首位不能为数字

    5.变量值

        变量值有特殊符号时用单引号括起来

    6.变量的叠加

       例 # echo $a$b

        当叠加时需要将$b用双引号括起来

    7.全局变量

        本地变量:仅在当前终端有效的变量

        全局变量:使用# export 变量名=变量值  命令在定义变量的时候设置为全局变量,全局变量在子shell中依然有效,在父shell无效

    小技巧:使用# pstree命令查看当前所处的shell位置

    在子shell设置的全局变量,对父shell无效

    8.取消变量

        # unset 变量名    

    三 环境变量配置文件

        /etc/下面的配置文件属于系统层面的配置文件,~/下面的配置文件属于用户层面的

        profile类配置文件是需要登录才能执行的,bashrc类配置文件,用户不用登录,执行shell就生效

        一般建议/etc/下的配置文件不做修改,如有需要,可以修改用户家目录下的配置文件

      1.  ~/.bash_profile

            用户登录输入IP PORT NAME等内容时自动加载此配置文件,这个配置文件又会调用~/.bashrc文件

       2.~/.bashrc

            此文件是用户执行shell脚本,用户不用登录

       3.~/.bash_logout

            此文件用于定义用户登出时需要进行的一些操作,比如需要退出时删除命令历史,就可以将删除命令历史的命令写到这个配置文件中去

        4.变量PS1

              这个变量写在/etc/bashrc文件中的

        上图中的PS1设置的是#号前面的部分的格式,u表示username,h表示hostname,W表示当前所在路径的最后一层

        下面我们来将PS1的值做一些修改

        上图中是将大写的W改为了小写的w表示显示当前所在路径的绝对路径

        我们也可以将其用颜色标识使用以下命令:

        PS1='\[\033[01;32m\]\u@\h[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$ '

    相关文章

      网友评论

          本文标题:Linux shell基础知识(二)

          本文链接:https://www.haomeiwen.com/subject/inhxoxtx.html