Linux系统管理员
Linux文件命令精通指南
作者:Sheryl Calish
为刚接触Linux文件命令的初学者提供的速成教程
虽然GUT桌面(如KDE和GNOME)能够帮助用户利用Linux特性,而无需 关于命令行接口的功能知识,但还是经常会需要更多的功能和灵活性。而且, 基本熟悉这些命令对于在shell脚本中止确地使某些功能自动化仍然是必 需的。
这篇文章是关于Linux文件命令的一个“速成教程”,它是为那些刚接触这 个操作系统或者只是需要补充这方面知识的用户提供的。它包含了对一些更 有用的命令的一个简明的概述以及关于它们的最强大的应用的指导。下而包 含的信息一结合一些实验一将使您能够容易地掌握这些基本的命令。(注 意:当涉及到一个与Oracle集群文件系统(OCFS)结合的内核时,这些命 令中的某些命令的行为可能会稍微有所不同。在此情况下,Oracle提供了一 个OCFS工具集,该工具集可以为文件命令应用提供一个更好的选择。)
注意,这里包含的所有示例都在SUSE Linux 8. 0 Professional上进行了测 试。虽然没有理由相信它们在其它的系统上将不能工作,但如果岀现问题, 您应当查看您的文档,以了解可能的变化。
背景概念
在深入研究规范之前,让我们回顾一些基础知识。
文件和命令
在Linux/UNIX操作系统中,所有事物都被当作文件来处理:硬件设备(包 括键盘和终端)、目录、命令本身,当然还有文件。这个奇怪的惯例实际上 是Linux/UNIX的能力和灵活性的基础。
大多数(几乎是全部)的命令形式如下:
command [option] [source fi Ie (s)] [target file]
获取帮助
最有用的命令之一是那些提供帮助的命令(特别是对那些学习Linux的人而 言)o Linux中的两个重要的信息来源是联机参考手册,或man页面和what i s 工具。您可以用what i s命令来访问一个不熟悉的命令的man页面。
$ whatis echo
要了解关于这个命令的更多信息,可以使用:
$ man echo
如I果您不矢II道某个特殊任务所需的命令,您可以用man -k (也称为apropos) 和一个主题来生成可能的命令。例如:
一个很有用但常常被忽视的命令可以提供关于使用man本身的信息:
$ man man
您可以用SPACEBAR来浏览任意的man页面;UP ARROW将向上翻滚文件。. 要退出,则输入q, !,或CTRL-Zo
用户类别
记得那句名言“所有动物一例平等但有些动物比其他动物更加平等”吗?在 Linux世界中,根用户掌管一切。
根用户可以以另一个用户名su (源自〃superuser〃)登录。要执行诸如添 加一个新用户、打印机或文件系统之类的任务,必须作为根用户登录或者用 su命令和根用户密码切换到超级用户。系统文件(包括控制初始化过程的系 统文件)归根用户所有。虽然可能允许普通用户对它们进行读操作,但出于 系统安全性的原因,编辑的权利将留给根用户。
BASH shell
虽然提供了其它的 shell,但 BASH (Bourne Again Shell)是 Linux 的默 认shello它结合了与它同名的Bourne shell的特性和Korn、C和TCSH shell的特性。
BASH内置的命令history默认记录最后输入的500条命令。可以通过在命 令提示符下输入history来查看它们。要检索某个特定的命令,可以在命令 提示符下按UP ARROW或DOWN ARROW,或在历史列表中输入它的编号,并在 编号前面加上〃!〃,例如:
$ !49
您述可以通过一条命令在历史列表中离位置最靠前的项目的距离来执行该命 令:如果在历史列表中有53个事件,$ !-3将执行事件号510
像UNIX/Linux世界的其它shell 一样,BASH使用了特殊的环境变量來方 便系统管理。例如:
HOME,用户主目录
PATH, Linux用来搜索您输入的命令的可执行镜像的搜索路径
HISTSIZE,系统保存的历史事件的数量
除了这些保留的关键字之外,您还可以定义您自己的环境变量。例如,Oracle 使用ORACLE」IOME (还有其它一些变量),要使Oracle安装成功完成,必 须在您的环境中设置这些变量。
可以在提示符下临时设置变量:
$HISTSIZE=1OO
或者,在/etc/profile (需要根用户权限)中进行系统范围的永久设置, 或在.prof i le中进行局部永久设置。
可以通过echo命令,并用一个$符号来访问一个环境变量的值,进而查看 该值。
$ echo $HOME
/home/bIuher
可以用env命令来查看当前所有的环境变量。
正则表