扩展:
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
8.6 管道符和作业控制
管道符
管道符作用:前面命令输出结果 管道符传给 后面命令执行
1. ls命令(列出当前目录下所有文件目录),管道符(传给后面命令) wc -l命令(统计出有多少数量)
[[email protected] ~]# ls |wc -l
作业控制
1. 停止 任务: Ctrl + z
正在编辑1.txt,用Ctrl + z,把编辑器vim命令暂停了(不是结束掉)
[[email protected] ~]# vim 1.txt
键盘快捷键操作: Ctrl + z
运行了vmstat,每1秒,执行刷新一次;用Ctrl + z,把这个命令暂停(不是结束掉)
[[email protected] ~]# vmstat 1
键盘快捷键操作: Ctrl + z
2. 列出 所有暂停任务 :
[[email protected] ~]# jobs
3. 恢复 暂停任务(恢复到前台):
[[email protected] ~]# fg
4. 恢复 多个停止任务(恢复到前台):
fg 停止任务ID号
[[email protected] ~]# fg 2
5. 运行睡眠命令,设定1000秒:
[[email protected] ~]# sleep 1000
键盘快捷键操作: Ctrl + z
6. 把暂停任务,丢到后台并运行 :
bg 任务ID号
[[email protected] ~]# bg 3
7. 一次把任务(执行的命令),丢到后台并运行 :
任务执行命令 &
[[email protected] ~]# sleep 200 &
8.7 shell变量(上)
本地变量:
中文显示(语言)变量:LANG=zh_CN.UTF-8
英文显示(语言)变量:LANG=en
查看系统内置常用环境变量 : env
查看系统和自定义所有的变量 :set
1. 自定义环境变量:
自定义环境变量名规则:字母、数字、下划线 (首位,不能为数字)
自定义变量名=自定义值
[[email protected] ~]# a=111
[[email protected] ~]# echo $a
2. 自定义环境变量,定义值特殊,要用''单引号括起来:
自定义环境变量名规则:字母、数字、下划线 (变量名首位,不能为数字)
自定义变量名='特殊的定义值'
[[email protected] ~]# b='1 2'
[[email protected] ~]# echo $b
3. 变量叠加变量值,变量名,要用""双引号括起来:
自定义环境变量名规则:字母、数字、下划线 (首位,不能为数字)
自定义变量名="$变量名a"附加值"$变量名b"
[[email protected] ~]# c="$a"D"$b"
4. 查看变量名,对应的值: echo $ 变量名
[[email protected] ~]# echo $c
8.8 shell变量(下)
全局变量:向下子shell生效
本地变量,向下的子shell不会同步生效!
1. 安装pstree命令:
[[email protected] ~]# yum install -y psmisc
2. 进去子shell:
[[email protected] ~]# bash
3. 查看当前在哪个shell下:pstree
[[email protected] ~]# pstree
4.
自定义本地变量:
[[email protected] ~]# hao=linux
查看hao变量名,所对应的值:
[[email protected] ~]# echo $hao
进入下一个子shell:
[[email protected] ~]# bash
再次查看hao变量名,所对应的值:
[[email protected] ~]# echo $hao
结果:进入下一个子shell,再查看hao变量值,没有同步!!!
全局变量,向下的子shell会同步生效!
1. 查看当前在哪个shell下:pstree
[[email protected] ~]# pstree
2.
自定义全局变量:
[[email protected] ~]# export hao=linux
查看hao变量名,所对应的值:
[[email protected] ~]# echo $hao
进入下一个子shell:
[[email protected] ~]# bash
再次查看hao变量名,所对应的值:
[[email protected] ~]# echo $hao
结果:进入下一个子shell,再查看hao变量值,已同步!!!
8.9 环境变量配置文件
系统环境变量配置文件分两个维度:系统层次和用户层次
系统层次:etc下面的文件(一般不编辑)
/etc/profile (用户登录的时候会加载到,)
/etc/bashrc (用户或系统执行shell脚本时候,会用调用这个文件里的一些配置)
用户层次:用户夹目录下的文件(可编辑)
~/.bashrc
~/.bash_profile
~/.bash_history
~/.bash_logout (用户退出时候做的一些操作。例:每次退出,删除命令历史,把删除命令历史命令,放到这个文件里即可!!!)
Linux环境变量之“PS1"
http://ask.apelearn.com/question/5364
1. 查看PS1环境变量值:
[[email protected] ~]# echo $PS1
2. 更改PS1变量值(大写W,改为小写w),显示绝对路径 :
[[email protected] ~]# cd /etc
[[email protected] ~]# PS1='[\[email protected]\h \w]\$'
[[email protected] /etc]#
3. 更改PS1变量值,变颜色:
[[email protected] ~]# PS1='\[\033[01;32m\]\[email protected]\h\[\033[00m\]:\[\033[01;36m\]\w\[\033[00m\]\$'
4. 更改PS1变量值,取消方括号,换成花括号(也可换成其他符号):
[[email protected] ~]# PS1='{\[email protected]\h \W}\$'
[[email protected] ~]# PS1='<\[email protected]\h \W>\$'
进入另外的终端下,就是PS2模式下了:
1. 查看PS2环境变量值:echo $PS2
[[email protected] ~]#echo $PS2
2. PS2的显示格式:
[[email protected] ~]#for i in `seq 1 10`