8.6 管道符和作业控制
管道符是把前一个命令输出作为下一个命令的输入的一个符号
#history |grep yum
作业控制
CTRL+z:暂停当前的程序
fg:恢复最近暂停的命令
jobs:查看任务列表
bg:把一个程序在后台运行
注意:此时CTRL+c结束不了这个后台命令的,虽然该命令是有输出的,但是不影响输入新的命令,可以先把它恢复到前台运行,再按CTRL+z就可以暂停了
另外可以直接把一个命令丢到后台执行,在命令后加一个&符号
#sleep 1000 &
注意:在新打开的终端是看不到另一个终端的的jobs的,不过可以查看进程
8.7/8.8 shell变量
我们常见的变量有:PAHT , HOME ,PWD ,LOGNAMEe
env命令来查看系统环境变量
#env
set命令可以查看系统变量和用户自定义的变量(shell脚本)
#set
一般不会改动系统变量,但我们可以自定义一些用户变量
变量名规则:字母数字下划线,首位不能为数字
比如a1, _1a,
变量里有特殊符号的要用‘’扩起来
“”括起来可能会被系统识别,而不作为字符串
“”可以用在多个变量累加的时候
全局变量
查看用户登录情况
#w
目前两个用户登陆分配了两个TTY
查看当前用户在哪个TTY下
#echo $SSH_TTY
新打开一个bash
查看所在位置
#pstree
没用安装,先找下命令所在的包
# yum provides pstree
yum安装
# yum install psmisc-22.20-15.el7.x86_64
#pstree
退出当前bash
#exit
上面的例子可以看到,自定义的变量只在当bash下端生效,所以又叫本地变量或者非全局变量
那怎么变为全局变量呢,这就需要用命令: export
#export xm=linux
注意:全局变量在当前终端生效,但在新打开的终端中是不生效的
另外设置在子basn中的全局变量在父bash中也是不生效的
也就是说全局变量是向后生效的,在当前bash,子bash,孙bash....生效
取消设置的变量unset
#unset xm
8.9 环境变量配置文件
系统层次:/etc/profile 用户环境变量,交互,登录才执行
/etc/bashrc 用户不用登录,执行shell就生效
用户层次:~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout 定义用户退出时需要进行的操作
PS1是在/etc/bashrc下定义的
#vim /etc/bashrc
PS1="[\u@\h:\l \W]\\$ "
PS2是用在另外一种环境中的