bash's history(2)
上一篇 /
下一篇 2008-04-12 21:47:48
/ 个人分类:bash
或许现在还不能马上使用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。
导入论坛
引用链接
收藏
分享给好友
推荐到圈子
管理
举报
TAG: