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
网友评论