RSS
热门关键字:
当前位置 :| 主页>新手入门>

Linux系统基础知识(二十七)文件与目录操作

来源:水木 作者:水木 时间:2008-09-27 Tag:文件目录操作   点击:

文件与目录操作


  用户的数据和程序大多以文件的形式保存。用户使用Linux系统的过程中,需要经常对文件和目录进行操作。本章讲述了文件与目录的基本概念,有关文件和目录操作的命令以及如何在Linux环境下运行DOS命令。

  文件与目录的基本概念
  文件与文件名
  在多数操作系统中都有文件的概念。文件是Linux用来存储信息的基本结构,它是被命名(称为文件名)的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合。Linux文件均为无结构的字符流形式。文件名是文件的标识,它由字母、数字、下划线和圆点组成的字符串来构成。用户应该选择有意义的文件名。Linux要求文件名的长度限制在255个字符以内.为了便于管理和识别,用户可以把扩展名作为文件名的一部分。圆点用于区分文件名和扩展名。扩展名对于将文件分类是十分有用的。用户可能对某些大众已接纳的标准扩展名比较熟悉,例如,C语言编写的源代胛募?苁蔷哂蠧的扩展名。用户可以根据自己的需要,随意加入自己的文件扩展名。

  以下例子都是有效的Linux文件名。
  preface
  chapter1.txt
  xu.c
  xu.bak

  文件的类型
  Linux系统中有三种基本的文件类型:普通文件、目录文件和设备文件。
  1. 普通文件 普通文件是用户最经常面对的文件。它又分为文本文件和二进制文件。

  1)文本文件:这类文件以文本的ASCII码形式存储在计算机中。它是以\"行\"为基本结构的一种信息组织和存储方式。
  2)二进制文件:这类文件以文本的二进制形式存储在计算机中,用户一般不能直接读懂它们,只有通过相应的软件才能将其显示出来。二进制文件一般是可执行程序、图形、图像、声音等等。

  2. 目录文件 设计目录文件的主要目的是用于管理和组织系统中的大量文件。它存储一组相关文件的位置、大小等与文件有关的信息。目录文件往往简称为目录。

  3. 设备文件 设备文件是Linux系统很重要的一个特色。Linux系统把每一个I/O设备都看成一个文件,与普通文件一样处理,这样可以使文件与设备的操作尽可能统一。从用户的角度来看,对I/O设备的使用和一般文件的使用一样,不必了解I/O设备的细节。设备文件可以细分为块设备文件和字符设备文件。前者的存取是以一个个字符块为单位的,后者则是以单个字符为单位的。

  显示文件内容
  使用过DOS命令的人都应该知道,我们可以使用type命令来查看一个文件的内容。在Linux下有五个相关的命令,功能各有千秋,不过它们都象type命令一样,只能用来查看文本文件。

  1) cat命令
cat命令是最象type命令的,使用的方法很简单:“cat 文件名”。不过比type命令更强大的是,它可以同时查看多个文件:“cat 文件名一
文件名二”。
  2) more命令
如果文本文件比较长,一屏无法显示完,那么使用cat命令就可能无法看清。这里我们可以简单地使用more来代替cat命令即可。其效果与type
文件名/p类似。使用more命令将一次显示一屏文本,显示满后,停下来,并提示出已显示全部内容的百分比,按空格键就可以看到下一屏。
  3) less命令
less命令的功能几乎和more命令一样,也是按页显示文件,不同之处在于less命令在显示文件时允许用户既可以向前又可以向后翻阅文件。
  ? 向前翻:按b键;
  ? 向后翻:按p键;
  ? 指定位置:输入百分比
  ? 退出:q
  我经常使用more和less,几乎不使用cat查看文件。
  4) head命令
  通过head命令可以仅查看某文件的前几行,格式为:
  head 行数 文件名
  如果未指定行数,则使用默认值10。
  5) tail命令
  与head命令相对应的,我们可以使用tail命令来查看文件尾部的内容。通常用来实时监测某个文件是否被修改,通常用来观察日志。如:
  tail -f maillog
   4. 编辑文件
   Linux中有许多文字编辑工具,其中最常用的应该是vi,这是一个广泛应用于所有UNIX系统的编辑器。它的使用有些特别:
首先,可以使用命令“vi 文件名”打开一个文件。
刚启动的时候,vi处于命令状态,不能够输入任何字符。在这个状态下,可以使用方向键进行移动,而需要输入内容时,你需要输入“i”或“a”命令进入编辑状态。编辑完成后,你需要按下“ESC”键回到命令状态。

在命令状态下,你可以输入“:q!”不存盘退出,输入“:wq”存盘退出。

   目录
   树型目录结构
   在计算机系统中存有大量的文件,如何有效的组织与管理它们,并为用户提供一个使用方便的接口是文件系统的一大任务。Linux系统以文件目录的方式来组织和管理系统中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来--即我们常说的目录。也就是说,整个文件系统有一个\"根\"(root),然后在根上分\"杈\"(directory),任何一个分杈上都可以再分杈,杈上也可以长出\"叶子\"。\"根\"和\"杈\"在Linux中被称为是\"目录\"或\"文件夹\"。而\"叶子\"则是一个个的文件。实践证明,此种结构的文件系统效率比较高。

  如前所述,目录也是一种类型的文件。Linux系统通过目录将系统中所有的文件分级、分层组织在一起,形成了Linux文件系统的树型层次结构。以根目录为起点,所有其他的目录都由根目录派生而来。一个典型的Linux系统的树型目录结构如图3.1所示。用户可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。

  实际上,各个目录结点\"之下\"都会有一些文件和子目录。并且,系统在建立每一个目录时,都会自动为它设定两个目录文件,一个是\".\",代表该目录自己,另一个是\"..\",代表该目录的父目录,对于根目录,\".\"和\"..\"都代表其自己。

  Linux目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为自己的文件创建自己的目录,也可以把一个目录下的文件移动或复制到另一目录下,而且能移动整个目录,并且和系统中的其他用户共享目录和文件。也就是说。我们能够方便地从一个目录切换到另一个目录,而且可以设置目录和文件的管理权限,以便允许或拒绝其他人对其进行访问。同时文件目录结构的相互关联性使分享数据变得十分容易,几个用户可以访问同一个文件。因此允许用户设置文件的共享程度。

最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名?
注册

_×
嵌入式linux中文站
QQ群讨论 微博订阅

微信扫一扫关注我们
随时获取最新开源资讯