1、管道符和作业控制
|管道符,表示把前面一个命令输出的结果传给后面的命令
ls | wc -l 查看当前目录文件交给wc -l 查看有多少个文件
find ./ -type f |wc -l 列出当前目录下所有文件交给wc -l查看有多少个文件
ctrl z 暂停一个任务
jobs 查看后台的任务
fg 把任务调到前台
bg 把任务调到后台
vmstat 1 持续输出系统信息
sleep 1000 暂停1000秒
sleep 100 & 直接把命令丢到后台执行(再开一个终端看不到后台任务,可以用ps aux |grep sleep查看进程)
2、shell变量(上)
PATH 系统内置变量
HOME,PWD,LOGNAME 等都是变量
env 获取变量,等于号左边是变量名,变量值:数字、字符串等
PWD 当前目录
LANG 语言
set 获取系统、用户自定义变量
a=111 自定义变量为111
echo $a 查看变量a
set |grep 111 显示环境变量筛选出带有111的内容
a=‘a b c’ 定义a变量为a b c,有特殊符号时用单引号,单引号褪意
变量名规则
变量名可以是字母、数字和下划线,首位不能为数字
变量值有特殊符号时需要用单引号(脱义)括起来
变量的累加
全局变量
当打开多个终端时,使用命令echo $SSH_TTY,可以查看当前所在终端
在终端1定义一个变量,在终端2中是查看不到的
进入子shell
然后用pstree查看
父shell中设定的变量在子shell中不生效,需要设置全局变量export
在子shell中设置全局变量export,在其父shell中也不生效,所以全局变量只能往下生效。
取消变量
3、环境变量配置文件
环境变量配置文件可分为:系统层次配置文件和用户层次配置文件
系统层次配置文件(/etc下的文件):
/etc/profile 用户环境变量,交互,登录才执行
/etc/bashrc 用户不用登录,执行shell就生效
用户层次配置文件(用户家目录下的文件):
~/.bashrc
~/.bash_profile
一般我们不要编辑系统层次的配置文件,在有需要时,可以编辑用户层次的配置文件.bash_profile
source .bash_profile和. .bash_profile作用一样,加载配置文件里的配置
~/.bash_history,用来记录命令历史
~/.bash_logout ,用来定义用户退出的时候需要做的一些操作
ps1是在/etc/bashrc里面定义的,用于定义命令左边的字符串显示,如下图
修改W为w,发现变成绝对路径
修改方括号,这里的
普
通
用
户
显
示
普通用户显示
普通用户显示,root用户显示#