`
hain
  • 浏览: 455434 次
  • 来自: ...
社区版块
存档分类
最新评论

Linux 文件命令精通指南(一)

阅读更多

虽然 GUI 桌面(如 KDE 和 GNOME)能够帮助用户利用 Linux 特性,而无需关于命令行接口的功能知识,但还是经常会需要更多的功能和灵活性。而且,基本熟悉这些命令对于在 shell 脚本中正确地使某些功能自动化仍然是必需的。

这篇文章是关于 Linux 文件命令的一个“速成教程”,它是为那些刚接触这个操作系统或者只是需要补充这方面知识的用户提供的。它包含了对一些更有用的命令的一个简明的概述以及关 于它们的最强大的应用的指导。下面包含的信息 — 结合一些实验 — 将使您能够容易地掌握这些基本的命令。(注意:当涉及到一个与 Oracle 集群文件系统 (OCFS) 结合的内核时,这些命令中的某些命令的行为可能会稍微有所不同。在此情况下,Oracle 提供了一个 OCFS 工具集,该工具集可以为文件命令应用提供一个更好的选择。)

注意,这里包含的所有示例都在 SUSE Linux 8.0 Professional 上进行了测试。虽然没有理由相信它们在其它的系统上将不能工作,但如果出现问题,您应当查看您的文档,以了解可能的变化。

背景概念

在深入研究规范之前,让我们回顾一些基础知识。

文件和命令

在 Linux/UNIX 操作系统中,所有事物都被当作文件来处理:硬件设备(包括键盘和终端)、目录、命令本身,当然还有文件。这个奇怪的惯例实际上是 Linux/UNIX 的能力和灵活性的基础。

大多数(几乎是全部)的命令形式如下:

command [option] [source file(s)] [target file]

获取帮助

最有用的命令之一是那些提供帮助的命令(特别是对那些学习 Linux 的人而言)。Linux 中的两个重要的信息来源是联机参考手册,或 man 页面和 whatis 工具。您可以用 whatis 命令来访问一个不熟悉的命令的 man 页面。

$ whatis echo

要了解关于这个命令的更多信息,可以使用:

$ man echo

如果您不知道某个特殊任务所需的命令,您可以用 man -k (也称为 apropos)和一个主题来生成可能的命令。例如:

$ man -k files

一个很有用但常常被忽视的命令可以提供关于使用 man 本身的信息:

$ man man

您可以用 SPACEBAR 来浏览任意的 man 页面;UP ARROW 将向上翻滚文件。.要退出,则输入 q,!,或 CTRL-Z。

用户类别

记得那句名言“所有动物一例平等但有些动物比其他动物更加平等”吗?在 Linux 世界中,根用户掌管一切。

根用户可以以另一个用户名 su (源自 "superuser")登录。要执行诸如添加一个新用户、打印机或文件系统之类的任务,必须作为根用户登录或者用 su 命令和根用户密码切换到超级用户。系统文件(包括控制初始化过程的系统文件)归根用户所有。虽然可能允许普通用户对它们进行读操作,但出于系统安全性的原 因,编辑的权利将留给根用户。

BASH shell

虽然提供了其它的 shell,但 BASH (Bourne Again Shell) 是 Linux 的默认 shell。它结合了与它同名的 Bourne shell 的特性和 Korn、C 和 TCSH shell 的特性。

BASH 内置的命令 history 默认记录最后输入的 500 条命令。可以通过在命令提示符下输入 history 来查看它们。要检索某个特定的命令,可以在命令提示符下按 UP ARROW 或 DOWN ARROW,或在历史列表中输入它的编号,并在编号前面加上 "!",例如:

$ !49

您还可以通过一条命令在历史列表中离位置最靠前的项目的距离来执行该命令:如果在历史列表中有 53 个事件,$ !-3 将执行事件号 51。

像 UNIX/Linux 世界的其它 shell 一样,BASH 使用了特殊的环境变量来方便系统管理。例如:

  • HOME,用户主目录
  • PATH,Linux 用来搜索您输入的命令的可执行镜像的搜索路径
  • HISTSIZE,系统保存的历史事件的数量

    除了这些保留的关键字之外,您还可以定义您自己的环境变量。例如,Oracle 使用 ORACLE_HOME (还有其它一些变量),要使 Oracle 安装成功完成,必须在您的环境中设置这些变量。

    可以在提示符下临时设置变量:

    $HISTSIZE=100

    或者,在 /etc/profile (需要根用户权限)中进行系统范围的永久设置,或在 .profile 中进行局部永久设置。

    可以通过 echo 命令,并用一个 $ 符号来访问一个环境变量的值,进而查看该值。

    $ echo $HOME
    /home/bluher

    可以用 env 命令来查看当前所有的环境变量。

    正则表达式和通配符

    许多 Linux 命令使用通配符 * 和 ? 来匹配任意数量的字符或分别匹配任意的单个字符;正则模式匹配表达式利用一个句点 (.) 来匹配除“换行符”之外的任意单个字符。这两种情况下都使用方括号 ([ ]) 来匹配除“*”号之外的字符组。不过,* 号在各种情况下有类似但不同的意义:虽然它在 shell 中将匹配一个或更多的字符,但在正则表达式中,它匹配上述字符的零个或更多的实例。一些命令(如 egrep 和 awk)使用了一组更广泛的特殊字符来进行模式匹配。

  • 分享到:
    评论

    相关推荐

      Linux文件命令精通指南.doc

      《Linux文件命令精通指南》是一本专为Linux初学者打造的详实教程,旨在帮助读者深入理解并熟练掌握Linux下的文件操作命令。本书涵盖了Linux文件系统的基础知识、常用文件命令的详细解析、以及如何利用这些命令高效...

      Linux 系统命令精通指南

      在《Linux 系统命令精通指南》中,我们深入了解了如何掌握Linux系统的各种命令,这些命令对于日常管理和维护至关重要。Linux系统,作为一个强大的开源操作系统,其核心理念之一就是一切皆文件,包括系统管理工具。在...

      Linux.文件系统精通指南

      本精通指南将深入探讨Linux文件系统的结构、类型、挂载、权限和用户管理,以及如何有效地利用这些知识进行系统管理和优化。 首先,让我们了解Linux文件系统的层次结构。在Linux中,一切皆为文件,包括硬件设备。根...

      Linux系统文件命令精通指南(下)

      【Linux系统文件命令精通指南(下)】 在深入探讨Linux系统命令之前,让我们先回顾一下在"Linux 文件命令精通指南(上)"中所学的基础知识。Linux系统中,一切皆为文件,包括硬件设备、网络接口等。这使得通过命令行...

      高级 Linux 命令精通指南

      在Sheryl Calish的"Linux文件命令精通指南"中,读者学习了基本的文件操作,如`chown`和`chgrp`命令,用于改变文件的所有者和所属组。然而,当需要批量处理文件权限或者在不知道具体权限的情况下进行设置时,我们可以...

      Linux 文件命令精通指南(初级)

      关于 Linux 文件命令的一个“速成教程”,它是为那些刚接触这个操作系统或者只是需要补充这方面知识的用户提供的。它包含了对一些更有用的命令的一个简明的概述以及关于它们的最强大的应用的指导。下面包含的信息 —...

      Linux文件系统概念解释和Linux文件系统精通指南

      Linux文件系统是Linux操作系统的核心组成部分,它负责组织和管理存储设备上的数据,为用户提供有序、高效的...阅读提供的"Linux文件系统概念解释.pdf"和"Linux文件系统精通指南.pdf",将是提升Linux技能的重要步骤。

      LinuxFind命令精通指南.pdf

      Linux的`find`命令是系统管理员和开发人员的得力工具,用于在文件系统中查找满足特定条件的文件。这个命令以其灵活性和功能强大而著称,但也因为其复杂的语法而闻名。本指南将深入探讨`find`命令的使用方法,帮助你...

      Linux文件系统精通指南

      我们将围绕“Linux文件系统精通指南”这一主题,结合"嵌入式开发资料"的背景,详细解析相关知识点。 首先,Linux文件系统是操作系统的核心部分,它负责管理存储设备上的数据,提供用户和应用程序访问文件的接口。在...

      Linux 系统命令精通指南.doc

      对于文件命令,我们在此处详尽讨论了某些相当简单和直观的管理命令。而只描述了其他较复杂命令的功能,以便在您需要使用时,知道存在这些命令及其用途。本文不涉及对每个命令使用背后的基本原理的详细讨论,但是我们...

      Linux系统文件命令精通指南

      介绍了和Linu系统文件有关的知识、技巧、经验,和一些linux源码等

      Linux 系统命令精通指南(初级)

      对 Linux 系统命令作完整论述.本文不涉及对每个命令使用背后的基本原理的详细讨论,但是我们将讨论最基本和最有用的命令,这些命令用于监视和管理打印机服务、文件系统、磁盘和进程。

    Global site tag (gtag.js) - Google Analytics