1.Bash Shell到底是什么?
要明白什么是Bash Shell,就要先知道什么是shell?shell,根据书面解释,是这样的“Shell就是一个命令行解释器,它的作用就是遵循一定的语法将输入的命令加以解释并传给系统。它为用户提供了一个向Linux发送请求以便运行程序的接口系统级程序,用户可以用Shell来启动、挂起、停止甚至是编写一些程序。我认为,shell就好比人的神经系统,将大脑与四肢连接起来。有的人四肢发达而头脑简单;有的人头脑发达而四肢简单,这都是由于shell的不协调性导致的。而植物人,那就是一个没有shell的肉体罢了。可见,shell的重要性,没有shell,就没有操作系统的今天。
在Linux世界中,可用的shell有很多很多,而Bash Shell就是众多shell中比较杰出的一种(个人认为bash非常好),全称是:GNU Bourne-Again SHell (BASH),它吸取了csh和ksh的优势,并且遵循POSTIX 2规范 ,为*nix系统提供一个CLI的交互接口,是大部分Linux的默认shell。
2.Bash的配置文件
Bash主要有三个配置文件,你可以在你的主目录下面发现:
.bash_profile:这个文件当你在登录系统的时候会被执行,该文件也可叫做: .bash_login或.profile
.bashrc:当你在执行一个子shell的时候将被执行
.bash_logout:顾名思义,退出时候执行
需要说明的是,在登录时没有发现.bash_profile,就会依此查找.bash_login和.profile,如果都没有,那就会读取/etc/profile的内容,如果连/etc/profile都没有,那你就应该反省反省了,呵呵。对了,可以使用source命令来同步.bash_profile和.bashrc的内容,当你需要的时候。
3.set命令
使用set命令可以来设置Bash的工作模式,有两种:一个是vi,一个是emacs。
set -o vi 设置成vi模式
set -o emacs 设置成emacs模式
具体的大家可以根据自己的需要来设定,我比较熟悉vi,所以就用vi模式了。
4,常用命令
这里提到的命令没有vi和emacs两种模式的限制,都可以用,嘿嘿
ctrl+t:当你输错命令的时候,ctrl+t可以翻转最后两个字母的顺序,比如:emasc,ctrl+t以后就成了emacs,有时间还是比较实用的,但是我用的不多,我输错了命令一般都重输,哈哈
查询历史命令:历史命令都保存在.bash_history里面,使用上下箭头就可以查询了,这是最常用的一种方式;还有一种就是使用ctrl+r,直接查询,这个实际情况中可能用的不多。
空格的处理:使用反斜扛,如:mkdir foo\ bar 就创建一个foo bar的目录
使用引号(单双都可以),如:rm "foo bar",至于使用单双引号的区别,这也是一个老生常谈的问题了。我是这样理解的:
单引号,该输出啥就是啥,一点都不含糊;双引号,意志不坚定,发现有变量的就把变量内容给输出来了,你说怪不怪!
{}的作用:一个例子说明最好,言语很难说清,
touch {a,b,c,d} 就创建除了 a,b,c,d四个文件,明白了吧,哈哈
多命令:使用“;”隔开,如:mkdir abc;rmdir abc
使用“&&”,如:mkdir abc && rmdir abc 使用&&,前面的命令必须成功执行才能执行后面的
管道输出:管道这个东西,功能太强大了,详细的可以查看shell编程的相关文章。我对管道的认识就是:管道就好比举行接力赛的场地,命令必需一个一个的传递其结果,一个环节出问题,就有可能全盘皆负。
5,命令别名alias
有些命令比较长,有些命令带参数使用的情况最多,这时候,alias就有作为了。下面是我常用的部分alias:
alias cp='cp -i'
alias rm='rm -i'
alias rd='rm -rf'
alias ls='ls --color=tty'
alias la='ls -al'
6,修改命令提示符
命令提示符有两个:PS1和PS2,PS1是最常见的,PS2当处理多行命令的时候会出现。我一般都是修改Bash配置文件来得到自己需要的提示符,至于提示符常用的参数,可以参考原文列出来的,我的提示符号如下:
PS1:[\u@\h \W]\$
PS2:PS2
7,关于Tab补全
以下内容都可以使用Tab补全:
文件名
目录名
可执行程序名
用户名(以~开头)
主机名(以@开头)
变量名(以$开头)
以上就是对Bash Shell的最最最简单的一些基础知识,预知详细的关于Bash的资料,请查看:
http://www.faqs.org/docs/bashman/bashref_toc.html
欢迎转载本文,请注明来自:http://www.linuxsense.org
TAG: bash shell linux
发布: 2007-9-27 22:18 作者: webmaster 来源: 本站原创 查看: 134次
