1、管道符和作业控制
管道符:将一个文件的输出传递给后面的命令
作业控制
ctrl+z:暂停一个任务,执行fg可以恢复暂停的任务
执行jobs命令可以查看暂停的任务,执行fg n恢复指定的任务
执行bg n可以将指定的任务放到后台执行:
新打开的终端无法通过jobs查看在后台执行的命令
2、shell变量
变量包括:PATH、HOME、PWD、LOGNAME
通过env可以查看系统的变量,系统变量通常为大写的英文字母,变量的值可以是数字、字母或字符串。
set命令也可以查看变量,不同于env的是,set不仅可以查看系统内置的变量,还可以查看用户自定义的变量。
除了系统内置的变量,用户也可以自定义变量,如
可以通过set命令查看上述自定义的变量:
变量名规则:字母、数字、下划线,首位不能为数字
变量值有特殊符号时,需要用单引号括起来:
可以同时查看多个变量:
export全局变量
使用w命令可以查看当前有哪些用户登录系统,执行echo $SSH_TTY可以查看自己当前通过哪个口登录:
默认情况下,在一个终端下定义一个变量,在其他bash下不会生效,如果想将定义的变量在其他bash下生效,则需要定义全局变量,全局变量只在向下的子shell生效,自定义的变量不会在其他终端生效。
同时全局变量也无法在上一层bash生效。
执行unset可以取消变量赋值:
3、环境变量配置文件
环境变量分为系统层次和用户层次。
系统层次:etc/profile,用户环境变量,需要交互,登录后才执行;/etc/bashrc,用户不需要登录,执行shell就生效,这两个文件一般不要编辑。
用户层次:配置文件在用户家目录下,~/.bashrc,~./bash_profile,~./bash_history,~./bash_logout
在修改完.bashrc后,使用source .bashrc命令使修改生效
执行shell脚本时,会自动调用bashrc文件
~./bash_logout:定义用户退出时自动进行的操作,如用户退出时自动删除用户执行过的命令。
PS1:将PS1的值中的W修改为w,则用户提示符中的相对路径会变成绝对路径