一、bash简介
ash 是一个为GNU计划编写的Unix shell。它的名字是一系列缩写:Bourne-Again SHell — 这是关于Bourne shell(sh)的一个双关语(Bourne again / born again)。Bourne shell是一个早期的重要shell,由史蒂夫·伯恩在1978年前后编写,并同Version 7 Unix一起发布。bash则在1987年由布莱恩·福克斯创造。
二、bash功能
一)、命令历史记录;
~/.bash_history 会记录前一次登录所有的命令(默认1000个),本次登入的命令会先记录在内存里,只有登出后才写在.bash_history里。
二)、自动补全;
按一下 tab 能自动补全命令、目录或文件名;按两下 tab 能提示命令、目录或文件名;平时应该多按tab,以保证输入的正确率。
三)、命令别名;
用简短字符取代一个具体命令;例如 alias ll=‘ls -l‘ 。
四)、操作控制、前景背景控制;
自由切换操作,不用等待一个命令结束才执行下一个。
五)、shell脚本;
六)、通配符;
note:换行输入时用 \ ;
三、shell变量
一)、bash执行命令的搜索顺序:
1、以相对/绝对路径执行;
2、以alias执行;
3、bash内置命令执行;
4、以$PATH中变量的顺序执行;
二)、环境变量的查看、设置、删除
1、env:所有的环境变量,
2、export:登入变量,e.g.:export varname;
3、source:导入~/bashrc里的变量,并生效;
4、删除变量:echo ${path#/del_varname:};
三)、read varname,从标准输入设置varname的值;
四、bash配置文件
一)、欢迎信息
/etc/issue:配置系统信息输出;
/etc/motd:配置自定义信息输出;
二)、环境变量配置文件
/etc/profile:全局配置文件,login shell会读取,
~/.bash_profile、~/.bash_login、~/.profile:用户配置文件,按顺序读取一个后不再读取
五、信息重定向
一)、输出重定向
直接覆盖file:cmd > file ; 追加到file:cmd >> file
二)、输入重定向
直接覆盖file:cmd < file ; 追加到file:cmd << file
三)、命令执行判断
cmd1;cmd2;...以 ;隔开依次执行;
cmd1;&& cmd2 以 $$ 结合前面执行成功则执行后面;
cmd1 || cmd2 以 || 结合依次执行,只要有一个成功则不再执行;
六、管道
命令后接 | 对标准输出再处理;
常用的有:截取cut,grep;排序sort,统计wc,分割 split等。
原文:http://fengzh09.blog.51cto.com/9992951/1739398