首页 » 建站技术 » DreamHost » 浏览内容

[DreamHost] Bash Shell基础


2006-08-13 14:01:53 5,500 0 发表评论 字体: 作者:C.K.

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://rtdt.blogchina.com/2467506.html
                                     
如果你对Bash Shell非常熟悉了,就根本用不着看了,呵呵

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

    网站统计 Statistics

    • 创建时间: 2005年1月3日 距今4855 天
    • 日志总数: 2461
    • 评论总数: 630
    • 标签总数: 654
    • 链接总数: 273
    • 最后更新: 2017-7-1 18:16:33
    • 您是本站第 13459685 位访客

    广告区 Guǎng Gào