8.6 管道符和作业控制
| 表示把一个文件输出的内容传递给后面命令
ctrl+z 暂停一个命令的运行
fg 使暂停的命令恢复
jobs 可以查看目前在暂停的命令
fg n n为数字,可以针对查看到的暂停命令选择打开(如果不加ID 就会默认运行最后一次执行的命令)
bg n n为数字,可以针对查看到的暂停命令选择丢到后台运行,在后台运行,也会在前台显示,但不影响前台的输出命令(如果不加ID 就会默认运行最后一次执行的命令)
运行命令的时候 加上 & 符号,可以直接把命令丢到后台运行
sleep 100 &
jobs 命令例的任务,只能在当前终端看到,新打开的终端是看不到
8.7/8.8 shell变量
环境变量 PATH 是系统内置的变量
可以通过env 用于查看系统的常用变量
set 也可以查看环境变量,不止会查看系统的环境变量,也会查看用户自定义的变量
变量的名字通常都是全大写的英文字母\
定义变量
[root@aminglinux-01 ~]# a=111[root@aminglinux-01 ~]# echo $a111
变量名的规则 字母、数字下划线,首位不能为数字
变量值有特殊符号时需要用 ‘ 单引号括起来,比如空格,之类的特殊符号; 因为单引号,带有脱义;变量的累加
[root@aminglinux-01 ~]# a='a$bc'[root@aminglinux-01 ~]# b=' $bc'[root@aminglinux-01 ~]# echo $a$ba$bc $bc
全局变量
使用w 可以查看当前系统登录情况
[root@aminglinux-01 ~]# w 02:13:18 up 3:06, 3 users, load average: 0.00, 0.01, 0.04USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.133.1 23:07 30.00s 0.06s 0.06s -bash root pts/1 192.168.133.1 02:13 4.00s 0.04s 0.01s w root pts/2 192.168.133.1 02:13 3.00s 0.01s 0.01s -bash
因为登录的用户多,如果你想查看当前使用的变量,可以使用SSH_TTY 这个变量查看
[root@aminglinux-01 ~]# echo $SSH_TTY/dev/pts/1
可以用pstree查看shell树状图,可以从中查看到bash之间的父子级关键\
yum install psmisc 安装pstree命令
[root@aminglinux-01 ~]# pstree systemd─┬─NetworkManager───2*[{NetworkManager}] ├─agetty ├─auditd───{auditd} ├─chronyd ├─crond ├─dbus-daemon ├─firewalld───{firewalld} ├─master─┬─pickup │ └─qmgr ├─polkitd───5*[{polkitd}] ├─rsyslogd───2*[{rsyslogd}] ├─sshd─┬─sshd───bash───bash───pstree │ ├─sshd───bash───bash───bash───bash │ └─sshd───bash───bash───bash ├─systemd-journal ├─systemd-logind ├─systemd-udevd ├─tuned───4*[{tuned}] └─vmtoolsd───{vmtoolsd}
在pts/1下 自定义一个变量,在pst/2下是看不到的
export a=111
这个变量,只会在他当前的 shell 及子 shell 下生效 直接运行bash 就可以打开子shell
全局变量仅仅是在他的子shell下生效
unset a 可以取消变量
8.9 环境变量配置文件
/etc/profile 用户环境变量,交互,登录才执行 /etc/bashrc 用户不用登录,执行shell就生效 ~/.bashrc~/.bash_profile~/.bash_history~/.bash_logout
PS1='[\u@\h \W]$' 这个文件是在/etc/bashrc里面定义的, PS1 变量就是 命令行提示符
[root@aminglinux-01 ~]# echo $PS1[\u@\h \W]\$ [root@aminglinux-01 network-scripts]# PS1='[\u@\h \w]\$ '[root@aminglinux-01 /etc/sysconfig/network-scripts]#
PS1 里面的 W表示相对路径,w表示绝对路径 [\u@\h \W]$ 字母对应的 u = 用户 h = 主机名 W = 当前所在的绝对路径
第一个维度 系统层次
/etc/profile/etc/bashrc
第二个维度 用户层次
~/.bashrc~/.bash_profile~/.bash_history~/.bash_logout 用户退出时的一些操作
每个用户的家目录下,都会有.bashrc和.bash_profile
. 点在shell里面等同于source , 加载配置文件下的一些配置
source .bash_profile = . .bash_profile
bash_profile会自动调用bashrc
bashrc又会自动调用/etc/bashrc
转载于:https://blog.51cto.com/279592339/1944243