对于Linux新手,或者那些想要重新审视或改进自己对基本Linux概念(比如:复制和移动文件、创建符号和硬链接、设置文件系统对象所有权和权限以及同管道和重定向一起使用Linux的标准文本处理命令)的理解的人来说,本系列连载文章之一是理想的教材。沿着这个方向,我们将一起分享很多心得、技巧和窍门,使该教程甚至对于那些具有丰富经验的Linux老手来说都是“有血有肉”,并且是实用的。
对于初学者而言,本系列文章的许多内容都很新颖,而更有经验的Linux用户可能会发现本教程是使他们基本的Linux技能“炉火纯青”的有效途径。
介绍bash
shell
如果您使用过Linux系统,那么您知道当登录时,将会看到像这样的提示符:
$
您所看到的特殊的提示符可能看起来很不一样。它可能包含系统的主机名、当前的工作目录名,或者两者都有。但是不管这个特殊的提示符看起来像什么,有一件事是肯定的。打印出这个提示符的程序叫“shell”,极有可能您的特殊的shell是一个叫bash的程序。
您在运行bash吗?
您可以通过输入下面的命令来检查您是否正在运行bash:
$echo$SHELL
/bin/bash
如果上面的命令行报错或者不会类似地响应我们的示例,那么您可能正在运行一个不同于bash的shell。
关于bash
Bash是“Bourne-againshell”的首字母缩写,它是大多数Linux系统缺省的shell。shell的任务是执行您的命令,使您能够与Linux系统进行交互。当您输完命令,您可以通知shell执行exit或logout命令,在此您将返回到登录提示符。顺便提一下,您还可以通过在bash提示符下按control-D来注销。
使用“cd”
您可能已经发现,目不转睛地盯着bash提示符可不是世界上最让人感到有劲的事。那么,让我们来开始用bash来浏览我们的文件系统。在提示符下,输入下面的命令(不包括$):
$cd/
我们只告诉bash您想在/(也称为根目录)中工作;系统上的所有目录形成一棵树,/被认为是这棵树的顶部,或者是根。cd设置当前您正在工作的目录,也称为“当前工作目录”。
路径
要看bash的当前工作目录,您可以输入:
$pwd
/
在上面的示例中,cd的/参数叫做路径。它告诉cd我们要转到什么地方。特别是,/参数是一个绝对路径,意味着它指定了相对于文件系统树的根的位置。绝对路径这里有几个其它的绝对路径:
/dev
/usr
/usr/bin
/usr/local/bin
您可以看到,所有绝对路径有一个共同点就是,它们都以/开头。通过路径/usr/local/bin,我们告诉cd进入/目录,接着进入这个目录之下的usr目录,然后再进入local和bin。绝对路径总是通过是否以/开头来判断。
相对路径
另一种路径叫相对路径。在Bash中,cd以及其它命令总是解释那些相对于当前目录的路径。相对路径绝不会以/开头。这样,如果我们在/usr中:
$cd/usr
那么,我们可以使用相对路径来转到/usr/local/bin目录:
$cdlocal/bin
$pwd
/usr/local/bin
使用“..”
相对路径还可以包含一个或多个..目录。..目录是指向父目录的专门目录。那么,继续前面的示例:
$pwd
/usr/local/bin
$cd..
$pwd
/usr/local
您可以看到,现在我们的当前目录是/usr/local。我们能够“后退”到相对于我们所在的当前目录的一个目录。此外,我们还可以将\\\\\"..\\\\\\"添加到一个现有的相对路径中,使我们可以进入与我们已在目录并排的目录,例如:
$pwd
/usr/local
$cd../share
$pwd
/usr/share
相对路径示例
相对路径可以变得相当复杂。这里有几个示例,所有的都没有显示出结果的目标路径。请试着推断一下,输入这些命令后,您最终将会转到什么地方:
$cd/bin
$cd../usr/share/zoneinfo
$cd/usr/X11R6/bin
$cd../lib/X11
$cd/usr/bin
$cd../bin/../bin
现在,试验一次,看看您的推断是否正确。
理解“.”
在我们结束cd的介绍之前,我们还需要讨论一些更多的内容。首先,还有另一个叫.的专门的目录。它表示“当前目录”。然而该目录不为cd命令使用,它通常用来执行一些当前目录中的程序,如下所示:
$./myprog
在上面的示例中,驻留在当前工作目录中的myprog可执行文件将被执行。
cd和主目录
如果我们想要转到主目录,我们可以输入:
$cd
没有参数,cd将转到主目录,对于超级用户来说是/root,对于一般用户来说通常是/home/username。但是,如果我们想要指定一个主目录中的文件,将会怎样呢?可能我们想要将一个文件参数传给myprog命令。如果该文件在主目录中,我们可以输入:
$./myprog/home/drobbins/myfile.txt
但是,使用像这样的绝对路径并不总是很方便。幸好,我们可以使用~(代字符)字符来完成同样的事:
$./myprog~/myfile.txt
其他用户的主目录Bash将把单独的~扩展为指向主目录,然而您还可以用它来指向其他用户的主目录。例如,如果我们想要引用fred的主目录中的名为fredsfile.txt的文件,可以输入:
$./myprog~fred/fredsfile.txt
从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用从零开始:Linux基础教程之命令的使用
阅读(323) | 评论(0) | 转发(0) |