Chinaunix首页 | 论坛 | 博客
  • 博客访问: 533692
  • 博文数量: 526
  • 博客积分: 10000
  • 博客等级: 上将
  • 技术积分: 3235
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-29 17:52
文章分类

全部博文(526)

文章存档

2011年(1)

2008年(525)

我的朋友

分类: LINUX

2008-08-29 18:07:51

 
对于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) |
0

上一篇:LINUX常见问题详细解答

下一篇:X-Window概述

给主人留下些什么吧!~~