2018-10-14
10月12日任务
8.6 管道符和作业控制
grep用于过滤
管道符是指
输出前一个命令的内容 然后通过管道符 交给后面的命令
cat 1.txt | wc 行数
awk grep
ls当前目录下 的文件
ls |wc -l 所有文件数
ctrl z 暂停一个任务
正在编辑一个文件
然后想到其他事情要打断。这时候可以暂停Ctrl z
df -h 查看挂载情况
返回刚才得暂停的
fg
多任务暂停任务 可以使用 jobs 可以看到明细
这样的话 可以使用 fg 1 或者 fg 2 这是返回命令
bg 命令是后退命令 后台命令
vmstat 不断展示运行
sleep 1000就是暂停1000s
fg/bg等 不加数字的话 就是最后一个命令
bg的作用就是丢到后台并且运行
fg就是前台
sleep 100 &
在使用jobs的话可以将sleep 这个命令直接丢到后面去运行了
实际是 backgroud foregroud crtl z
8.7/8.8 shell变量
之OME前在学习环境变量path的时候接触到 是系统内置的变量
比如PATH HOME PWD 当前目录 LANG 语言 等
使用 env 获取的系统常用的环境变量 都是大写的字母
除了env之外还有一个set 可以查系统 以及 用户自定义的变量 使用在shell脚本
centos6 会显示一定的环境的变量
a=111
echo $a
set |grep 111 set可以自定义变量 但这个不一定是系统变量
变量的命名规则
可以是字母 数字 下划线,但是首位不是数字
尽量不要使用下划线加数字 虽然可以但是不好看
定义变量的值
a='a b c' 有特殊符号的时候要 单引号隔开
特殊符号 可能被系统当做一个特殊标记
例如$变量的指定符号
如果a=1
b=2
echo $a$b
多变量的时候,对于有特殊符号的使用双引号隔开
全局变量
w 看哪个用户登录
echo $SSH_TTY查看登录情况
仅仅在本地终端商生效就做本地变量
全局变量是指在所有向下的子shell才会生效 无法向上全局生效
记住export的作用
unset aming可以取消掉变量
unset直接接变量的名字
export c=123 只在其子shell生效
使用bash 命令打开子shell
8.9 环境变量配置文件
理解为主
/etc/profile 用户环境变量,交互,登录才使用 系统层次
/etc/bashrc 用户不用登陆 用户家目录下,系统执行shell脚本等
~/.bashrc
~/.bash_profile
上面的.和之前的source的命令一样 隐藏的文件
编辑用户置文件
那就直接登录用户的目录。
PS1
PS2 用在另外一种环境里面的
扩展
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