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

全部博文(526)

文章存档

2011年(1)

2008年(525)

我的朋友

分类: LINUX

2008-08-29 18:08:01

 
转:Linux控制台具有强大而灵活的功能。如果过了相当一段时间您还要用很多时间去查看命令的提示,那么您应该花费一些时间复习一下那些您将不断用到的常见命令,来更好地熟悉这个环境。
本部分将介绍各种不同的shell和一些最基本的Linux命令。Linux中的所有管理任务都可以在控制台中完成。许多情况下,使用控制台比使用图形化的程序更快捷,而且还可能实现额外的功能。不仅如此,所有的控制台任务都可以写到脚本中,这样就可以自动执行。为了真正地驾驭您的Linux环境,您将希望掌握如何在控制台中工作。如果您曾经使用过DOS/Windows,本文将引导您开始使用Linux控制台。
进入控制台

如果您的系统引导进入文本模式(为了降低服务开销,服务器通常是这样配置的),那么您在以文本形式登录后就已经在控制台中了。在典型的Linux系统中,通过组合键Ctrl Alt (F1-F6)您可以切换到另外的控制台。每一个控制台是系统中一个完全独立的会话,不同的用户可以同时使用。

这一多控制台的特点与Windows中的多桌面不同。在Linux中,每一个控制台可以分别由完全不同的用户来控制。例如,您可能在控制台1中以root身份登录,而在控制台2中以joeuser身份登录。两个控制台在各自的用户空间中运行不同的程序。与此类似,不同的用户可以远程登录到同一个Windows系统中。就这一点来说,Linux更像是主机而不是简单的服务器或工作站。

如果您是在图形模式下,那么您可以打开一个终端(terminal)以进入控制台窗口。通常在桌面的任务条上会有终端的按钮。您也可以从上下文菜单(在桌面上单击右键)打开终端。

命令在控制台中可以使用的命令很多。其中有一些实际上只在编写脚本时才会用到。这里介绍一些您最可能用到的命令。不要忘记,所有的命令和选项都区分大小写。-R与-r不同,会去执行不同的操作。控制台命令几乎全都是小写的。

cd使用我们所熟悉的cd命令可以在目录间切换。一定注意的是在Linux中用的是正斜杠(/),而不是您所熟悉的反斜杠(\)。反斜杠也用到了,但只是用来说明命令需要换行继续,这样可以提高比较长的命令的可读性。

ls命令用于列出一个目录下的所有文件。可以使用许多不同的开关更改列表的表示形式:

列出文件

cp使用cp命令来复制文件。这个命令与DOS下的copy命令基本一样。基本的开关如下:

复制文件

使用复制命令创建链接

用cp命令可以创建指向一个文件或者整个文件结构的硬链接。使用-l开关来指明操作是链接复制。所有的目录仍作为目录创建,但所有的文件会被设置为硬链接。

cp-lR/data/accounting/payroll/data/management/hr



上面的命令将把整个目录结构及其下面的文件从/data/accounting/payroll复制到/data/management/hr/payroll。目录结构下的所有文件将被设置为硬链接。这样使一个文件在同一个文件系统中可以具备不同的视图。这也是有用的安全技术,使得在不同的目录下对同一文件有不同的访问权限。

mv使用mv命令来移动和重命名文件。这个命令的工作方式基本上与DOS中的move命令一样,不过它可以移动整个目录结构及所有文件。

cat使用cat命令来查看文件的内容。它相当于DOS中的type命令。它将把文件的内容转储到另一个文件、屏幕或者其他命令。cat是concatenate的简写,还可以将一系列的文件合并为一个大文件。

more使用命令more可以以分页的方式查看文件。它基本上与DOS中的more命令相同。

less命令也是用来查看文件,但是它支持上下滚屏以及在文档中进行文本搜索。

vi有一些人可能会说vi表示“virtuallyimpossible”。它是Unix中的一个历史悠久的文本编辑器。vi并不真正直观,但是现在几乎所有的类Unix环境中都有vi。对于Linux中安装的版本有一个内置的教程,一旦您熟悉了vi,只需几次击键就可以完成不可思议的任务。说实话,没有任何编辑器能够取代vi来编辑密码和配置文件。

man使用man命令来查看命令的文档。man是manual的缩写。几乎每一个命令都有相应的文档。要深入了解man,请输入以下命令:

manman



infoinfo命令与man命令类似,不过它提供了超链接文本,可以更方便地浏览文档。

哪个shell?

DOS/Windows与Linux的最重要的区别之一是Linux的命令shell是与操作系统相分离的一层。不同的shell环境影响您具备不同的功能,比如可编辑的命令行和历史命令回查等。shell还决定了脚本中函数的语法。在DOS/Windows中,编写脚本程序只有一种情况,那就是使用效率低下的.BAT文件。它的确可以完成很多功能,但除了完成那些基本的任务,复杂些的任务就需要脚本编写者具有极强的创造性。在Linux中,脚本中可以有循环,不仅可以执行基本的条件语句,很多在编程语言中才有的功能它都具备。如果您擅长编写.BAT文件,那么shell脚本更会使您大展才华。

默认的shell是每个用户帐号的一个参数。Linux中典型的默认shell是/bin/bash,不过也可以用其他的shell。每个shell的man文档实际上都非常好,都对各种shell及其使用进行了详细的说明。仅仅阅读下面的解释是不够的,应该从下面列出的shell中选择一个,去查看它的man文档。

bashbashshell是Bourneshell的一个免费版本,它是最早的Unixshell,包括许多附加的特点。Bash有可编辑的命令行,可以回查历史命令,支持tab键补齐以使用户避免输入长的文件名。

cshCshell使用的是“类C”语法,借鉴了Bourneshell的许多特点,只是内部shell命令集有所不同。

kshKornshell的语法与Bourneshell相同,同时具备了Cshell的易用特点。许多安装脚本都使用ksh,即使您不把它作为您的主shell,您也应该在系统中安装它。

tcshTCshell是Cshell的一个增强版本,与Cshell完全兼容。

zshZshell是Kornshell的一个增强版本,具备bashshell的许多特色。

Shell规则

您只需在控制台中执行相应的命令就可以随时切换shell。只要在文件顶部放置一个井号(#!)指向需要的shell,脚本就可以指定想要运行的shell。当脚本运行的时候,不管用户所处的shell环境是什么,它都会在正确的shell环境中运行。下面例子中的这行代码指出脚本需要在Cshell下运行:

#!/bin/csh



给我做链接,这样就更安全!

Linux文件系统最重要的特点之一是它的文件链接。链接是对文件的引用,这样您可以让文件在文件系统中多处被看到。不过,在Linux中,链接可以如同原始文件一样来对待。链接可以与普通的文件一样被执行、编辑和访问。对系统中的其他应用程序而言,链接就是它所对应的原始文件。当您通过链接对文件进行编辑时,您编辑的实际上是原始文件。链接不是副本。有两种类型的链接:硬链接和符号链接。

硬链接只能引用同一文件系统中的文件。它引用的是文件在文件系统中的物理索引(也称为inode)。当您移动或删除原始文件时,硬链接不会被破坏,因为它所引用的是文件的物理数据而不是文件在文件结构中的位置。硬链接的文件不需要用户有访问原始文件的权限,也不会显示原始文件的位置,这样有助于文件的安全。如果您删除的文件有相应的硬链接,那么这个文件依然会保留,直到所有对它的引用都被删除。

符号链接是一个指针,指向文件在文件系统中的位置。符号链接可以跨文件系统,甚至可以指向远程文件系统中的文件。符号链接只是指明了原始文件的位置,用户需要对原始文件的位置有访问权限才可以使用链接。如果原始文件被删除,所有指向它的符号链接也就都被破坏了。它们会指向文件系统中并不存在的一个位置。两种链接都可以通过命令ln来创建。ln默认创建的是硬链接。使用-s开关可以创建符号链接。

#CreateahardlinkfromMyFileinthecurrent
#directoryto/YourDir/MyFile
lnMyFile/YourDir

#Createasymbolic(soft)linkfromMyFilein
#thecurrentdirectoryto/YourDir/YourFile
ln-sMyFile/YourDir/Yourfile



在上面的例子中,MyFile、/YourDir/MyFile和/YourDir/Yourfile会被看成是同一个文件。

走出您的shell

对Linux管理来说,必须学习在控制台环境下工作。虽然有一些工具可以让您避免使用控制台,但是您会受到那些工具的很多限制。进入控制台很简单,使用man和info命令访问命令文档也很方便。

Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究 Linux备份策略研究
阅读(321) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~