Linux shell基础知识(二)

摘要: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基础知识(二))