ITPub博客

首页 > Linux操作系统 > Linux操作系统 > bash's history(2)

bash's history(2)

原创 Linux操作系统 作者:myyu 时间:2008-04-12 21:47:48 0 删除 编辑

或许现在还不能马上使用bash。你的系统管理员或许把你帐户的shell设置为他认为是系统的标准shell。或许你还没有意识到系统中有不止一个shell可以使用。
事实上,你可以非常简单的判断你正在使用的shell是那个shell。登陆你的system,敲入echo $SHELL,那么就可以观察到。如果你并没有使用bash,但是却非常想使用。那么首先需要确定bash是否存在于系统中。从键盘中敲入bash,如果能够得到一个新的提示符follewed by a dollar sign。ok,你的系统中已经安装有bash了。如果你得到"not found"的消息,那么可能你没有安装,那么请问一下你的系统管理员或者经验丰富的其他人,或许能够得到好的答案。
一旦你确认了系统中已经安装了bash,那么不论你当前使用的是哪个shell,你都可以通过以上的方式来调用bash。然而,你还是最好把它安装为你的默认shell最好了---当你登陆时自动调用的shell。你可以自己完成安装,下面是使用最广泛的unix的一些安装指令信息。如果一些安装无法进行,那么你需要忽略它并且请教你的系统管理员。
首先,确认你系统中的bash的位置信息,也就是你的bash安装在那个具体的目录下。可以通过使用whereis bash来得到;如果不起作用的话,可以试一试whence bash, which bash;或者这个复杂一点的命令:
grep bash /etc/passwd|awk -F: '{print $7}'|sort -u
你得到的回复信息可能是这样的: /bin/bash or /usr/local/bin/bash.
其次,安装你的bash为登陆shell,敲入chsh “bash-name”,其中“bash-name”为你通过whereis bash得到的回应信息。例如:
%chsh /usr/local/bin/bash
或许你将得到一个报错信息,或者提示你需要输入密码,敲入你的密码信息,重新登陆,那么就可以使用bash了

交互式的shell
当你使用交互式的shell时,你操作一个登陆的会话---这个会话从你登陆unix系统开始,一直到你使用exit或者ctrl+d或者logout退出该系统。当你使用此会话时,你以命令行的方式输入shell---它是以在你的终端或者工作站中的return为结束标志的。
shell的命令行由一个或者多个word组成,这些单词是由空格或者tab键来分隔的。命令行的第一个单词是command,其余的是变量---一系列这个command将要操作的对象的名称。
尽管command的对象并不经常是文件,但是文件的确是unix系统中非常重要的“thing”。一个文件可以包含不同类新的信息,事实上也如此,存在不同类型的文件。以下类型的文件是众多文件类型中最重要的三种:
一、regular files---也叫文本文件,这些文件包含可读的字符。
二、executable files---又被称为程序,能够像调用command一样被调用。其中一些是不能够被人们读取的;而另外一些是可读得(例如shell脚本)
三、directories---目录,实际上目录的这种目录可以包含子目录的结构被称为分层结构,又被称为tree,是unix系统最重要的组成部分。
tree的最顶层是一个称为root的目录,在系统上没有任何的name。所有靠通过指定它们的位置(目录)来命名的文件都是相对于root的。这些名字是这样建立的:列举出目录的名字,用'/'分割,最后列举出文件的名字。这种命名文件的方式叫做绝对路径命名(全路径命名)。
工作目录
当你指定一个文件的时候,你需要使用全路径名称(绝对路径名称)是非常讨厌的。所以这里有一个叫做工作目录的概念(有时候也叫做当前目录)---也就是你当前所处的目录。如果你指明了一个pathname,而没有任何的'/'前缀,那么认为这个pathname是相对于当前目录的。这类的pathname又叫做相对路径(relative pathname)。你使用相对路径的时候会比使用绝对路径的时候要多得多。
当你登陆系统的时候,你的工作目录被初始化一个叫做home directory的特殊的目录。为了方便,系统管理员通常会把你的home directory初始化为同你的longin name相同。
波浪号~
正如你所想象的一样,home directory 通常是以路径名的方式来显示的。尽管在一些系统中,home directory有一个common的parent, 你不需要去关心它们,然后你还是需要去了解一个具体的home directory的绝对路径。因此,bash有了一个home directory的缩写---'~',例如,你可以指定alice的home directory的一个story的file,~alice/story。为了更简便起见,'~'本身就指定了你自己的home directory,例如你需要指定你的home directory下面的一个notes的文件,那么~/notes(尤其需要注意的是与~notes的区别,~notes的意思是指出用户notes的home directory)
改变你的工作目录
如果你想改变你的工作目录,那么可以使用'cd'命令。如果你忘记了你的working directory,可以使用pwd来确认。
cd包含了一个你想把某一个目录作为改变后的working directory的名称变量,它可以是相对于当前目录的,可以是包含'~'的,也可以是绝对路径的(以'/'开头)。如果你忽略了所有的变量,那么cd会把home directory作为你修改后的working directory。
bash的cd命令的另外一特性是'cd -',它会返回到你的上一个working directory。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/13710953/viewspace-235576/,如需转载,请注明出处,否则将追究法律责任。

上一篇: bash's history(1)
下一篇: bash's history(3)
请登录后发表评论 登录
全部评论

注册时间:2008-04-02

  • 博文量
    4
  • 访问量
    4694