您的位置:首页 > 运维架构 > Shell

bash 整理

2016-01-27 23:13 218 查看
一、bash简介

bash 是一个为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等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: