美文网首页
管道符和作业控制、shell变量、环境变量配置文件

管道符和作业控制、shell变量、环境变量配置文件

作者: 强出头 | 来源:发表于2018-01-23 09:31 被阅读0次

    86 管道符和作业控制

    管道符、作业控制

    | 管道符 把前一个命令的结果传递给后一个命令

    [root@localhost ~]# ls
    a1.txt  anaconda-ks.cfg  a.txt  d6z  d6z.tar.gz
    [root@localhost ~]# ls |wc -l(wc -l 统计个数)
    5
    [root@localhost ~]# ls |grep 'a'
    a1.txt
    anaconda-ks.cfg
    a.txt
    d6z.tar.gz
    [root@localhost ~]# vim a.txt (暂停vim)
    
    [1]+  已停止               vim a.txt
    [root@localhost ~]# fg(返回到vim a.txt)
    vim a.txt
    [root@localhost ~]# vim a.txt 
    
    [1]+  已停止               vim a.txt
    [root@localhost ~]# vim anaconda-ks.cfg 
    
    [2]+  已停止               vim anaconda-ks.cfg
    [root@localhost ~]# jobs
    [1]-  已停止               vim a.txt
    [2]+  已停止               vim anaconda-ks.cfg
    [root@localhost ~]# vim a.txt &(后台执行)
    [1] 1546
    [root@localhost ~]# jobs(只能查看当前终端下的)
    [1]+  已停止               vim a.txt
    

    87 shell变量

    变量
    [root@localhost ~]# env(查看系统的环境变量(不包含用户自定义变量))
    [root@localhost ~]# set(set 查看所有环境变量(包含用户自定义变量))
    [root@localhost ~]# lll=321
    [root@localhost ~]# echo $lll
    321
    [root@localhost ~]# lll=123
    [root@localhost ~]# echo $lll
    123
    [root@localhost ~]# a='a$lll'
    [root@localhost ~]# echo $a
    a$lll
    [root@localhost ~]# a="a$lll"
    [root@localhost ~]# echo $a
    a123
    

    变量名规则:由字母数字下划线组成 不能以数字开头
    当变量值有特殊符号时需要使用单引号脱义

    88 shell变量(下)

    [root@localhost ~]# w(查看所有登录用户)
     09:45:58 up  2:09,  2 users,  load average: 0.00, 0.01, 0.05
    USER     TTY      FROM             LOGIN@   IDLE   JCPU   PCPU WHAT
    root     tty1                      09:36    9:42   0.04s  0.04s -bash
    root     pts/0    172.16.79.1      09:36    6.00s  0.12s  0.00s w
    [root@localhost ~]# echo $SSH_TTY(查看登录所在TTY)
    /dev/pts/0
    [root@localhost ~]# pstree(查看所在bash)
    systemd─┬─VGAuthService
            ├─auditd───{auditd}
            ├─chronyd
            ├─crond
            ├─dbus-daemon───{dbus-daemon}
            ├─firewalld───{firewalld}
            ├─irqbalance
            ├─login───bash
            ├─lvmetad
            ├─master─┬─pickup
            │        └─qmgr
            ├─polkitd───5*[{polkitd}]
            ├─rsyslogd───2*[{rsyslogd}]
            ├─sshd───bash
            ├─sshd───bash───pstree(最后一个bash就是当前所在bash)
            ├─sshd
            ├─systemd-journal
            ├─systemd-logind
            ├─systemd-udevd
            ├─tuned───4*[{tuned}]
            └─vmtoolsd───{vmtoolsd}
    [root@localhost ~]# export a=123
    [root@localhost ~]# echo $a
    123
    [root@localhost ~]# bash
    [root@localhost ~]# echo $a
    123
    [root@localhost ~]# exit
    exit
    [root@localhost ~]# bash
    [root@localhost ~]# export b=321
    [root@localhost ~]# echo $b
    321
    [root@localhost ~]# exit
    exit
    [root@localhost ~]# echo $b
    
    [root@localhost ~]# bash
    [root@localhost ~]# echo $b
    
    [root@localhost ~]# exit
    exit
    [root@localhost ~]# echo $a
    123
    [root@localhost ~]# unset $a
    -bash: unset: `123': 不是有效的标识符
    [root@localhost ~]# unset a
    

    当前bash全局变量向下生效
    子bash不能向前生效
    export 变量名=变量值
    bash进入子bash,exit退出当前bash
    unset 变量名 取消变量

    89 环境变量配置文件

    环境变量配置文件

    相当于一些shell脚本

    [root@localhost network-scripts]# echo $PS1
    [\u@\h \W]\$
    [root@localhost network-scripts]# PS1='[\u@\h \w]\$'(更改为小写w,所在路径改为绝对路径)
    [root@localhost /etc/sysconfig/network-scripts]# 
    

    扩展
    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

    相关文章

      网友评论

          本文标题:管道符和作业控制、shell变量、环境变量配置文件

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