荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: datao.bbs@bjsing.net (大涛), 信区: Linux
标  题: 文件与目录操作
发信站: DQPI (Thu Apr 17 09:16:07 2003)
转信站: SZU!news.tiaozhan.com!news.bjsing.net!DQPI

 用户的数据和程序大多以文件的形式保存。用户使用Linux系统的过程中,需要经常对
文件和目录进行操作。本章讲述了文件与目录的基本概念,有关文件和目录操作的命令
以及如何在Linux环境下运行DOS命令。
  文件与目录的基本概念
  文件与文件名
  在多数操作系统中都有文件的概念。文件是Linux用来存储信息的基本结构,它是被
命名(称为文件名)的存储在某种介质(如磁盘、光盘和磁带等)上的一组信息的集合
。Linux文件均为无结构的字符流形式。文件名是文件的标识,它由字母、数字、下划线
和圆点组成的字符串来构成。用户应该选择有意义的文件名。Linux要求文件名的长度限
制在255个字符以内.为了便于管理和识别,用户可以把扩展名作为文件名的一部分。圆
点用于区分文件名和扩展名。扩展名对于将文件分类是十分有用的。用户可能对某些大
众已接纳的标准扩展名比较熟悉,例如,C语言编写的源代码文件总是具有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,这是一个广泛应用于所有U
NIX系统的编辑器。它的使用有些特别:
首先,可以使用命令“vi 文件名”打开一个文件。
刚启动的时候,vi处于命令状态,不能够输入任何字符。在这个状态下,可以使用方向
键进行移动,而需要输入内容时,你需要输入“i”或“a”命令进入编辑状态。编辑完
成后,你需要按下“ESC”键回到命令状态。
在命令状态下,你可以输入“:q!”不存盘退出,输入“:wq”存盘退出。

   目录
   树型目录结构
   在计算机系统中存有大量的文件,如何有效的组织与管理它们,并为用户提供一个
使用方便的接口是文件系统的一大任务。Linux系统以文件目录的方式来组织和管理系统
中的所有文件。所谓文件目录就是将所有文件的说明信息采用树型结构组织起来--即我
们常说的目录。也就是说,整个文件系统有一个"根"(root),然后在根上分"杈"(dir
ectory),任何一个分杈上都可以再分杈,杈上也可以长出"叶子"。"根"和"杈"在Linux
中被称为是"目录"或"文件夹"。而"叶子"则是一个个的文件。实践证明,此种结构的文
件系统效率比较高。
  如前所述,目录也是一种类型的文件。Linux系统通过目录将系统中所有的文件分级
、分层组织在一起,形成了Linux文件系统的树型层次结构。以根目录为起点,所有其他
的目录都由根目录派生而来。一个典型的Linux系统的树型目录结构如图3.1所示。用户
可以浏览整个系统,可以进入任何一个已授权进入的目录,访问那里的文件。
  实际上,各个目录结点"之下"都会有一些文件和子目录。并且,系统在建立每一个
目录时,都会自动为它设定两个目录文件,一个是".",代表该目录自己,另一个是".."
,代表该目录的父目录,对于根目录,"."和".."都代表其自己。
  Linux目录提供了管理文件的一个方便途径。每个目录里面都包含文件。用户可以为
自己的文件创建自己的目录,也可以把一个目录下的文件移动或复制到另一目录下,而
且能移动整个目录,并且和系统中的其他用户共享目录和文件。也就是说。我们能够方
便地从一个目录切换到另一个目录,而且可以设置目录和文件的管理权限,以便允许或
拒绝其他人对其进行访问。同时文件目录结构的相互关联性使分享数据变得十分容易,
几个用户可以访问同一个文件。因此允许用户设置文件的共享程度。
  需要说明的是,根目录是Linux系统中的特殊目录。Linux是一个多用户系统,操作
系统本身的驻留程序存放在以根目录开始的专用目录中,有时被指定为系统目录。

  安装完Linux后,有许许多多的目录,下面我们就说明一些重要的目录:

  /bin:存放着一百多个Linux下常用的命令、工具
  /dev:存放着Linux下所有的设备文件!
  /home:用户主目录,每建一个用户,就会在这里新建一个与用户同名的目录,给该
用户一个自己的空间
  /lost+found:顾名思义,一些丢失的文件可能可以在这里找到
  /mnt:外部设备的挂接点,通常用cdrom与floppy两个子目录!它的存在简化了光盘
与软盘的使用。你只需在塞入光盘后,运行:mount /mnt/cdrom,就可以将光盘上的内
容Mount到/mnt/cdrom上,你就可以访问了。不过你使用完成后,应该离开该目录,并执
行umount /mnt/cdrom。同样的,软盘就是  mount /mnt/floppy和umount
/mnt/floppy了。
  /proc:这其实是一个假的目录,通过这里你可以访问到内存里的内容。
  /sbin:这里存放着系统级的命令与工具
  /usr:通常用来安装各种软件的地方
  /usr/X11R6 X Window目录
  /usr/bin与/usr/sbin 一些后安装的命令与工具
  /usr/include、/usr/lib及/usr/share 则是存放一些共享链接库
  /usr/local 常用来安装新软件
  /usr/src Linux源程序
  /boot:Linux就是从这里启动的
  /etc:这里存放在Linux大部分的配置文件
  /lib:静态链接库
  /root:root用户的主目录,这就是特权之一!
  /var:通常用来存放一些变化中的东西!
  /var/log:存放系统日志
  /var/spool:存放一些邮件、新闻、打印队列等
  另外,要说明的是,在Linux下“当前目录”、“路径”等概念与Windows下是一样
的。

  工作目录、用户主目录与路径
   为使用户更好地使用目录,我们介绍有关目录的一些基本概念。
   I. 工作目录与用户主目录
  从逻辑上讲,用户在登录到Linux系统中之后,每时每刻都"处在"某个目录之中,此
目录被称作工作目录或当前目录(Working Directory)。工作目录是可以随时改变的。
用户初始登录到系统中时,其主目录(Home Directory)就成为其工作目录。工作目录
用"."表示,其父目录用".."表示。
  用户主目录是系统管理员增加用户时建立起来的(以后也可以改变),每个用户都
有自己的主目录,不同用户的主目录一般互不相同。
  用户刚登录到系统中时,其工作目录便是该用户主目录,通常与用户的登录名相同

  用户可以通过一个"~"字符来引用自己的主目录。
  例如命令
  /home/WANG$ cat ~/class/software_1
  和下面的命令
  /home/WANG$ cat /home/WANG/class/software_1 意义相同。shell将用用户主目录
名来替换"~"字符。 目录层次建立好之后,用户就可以把有关的文件放到相应的目录中
,从而实现对文件的组织。
  对文件进行访问时,需要用到 "路径"(Path)的概念。
  II. 路径
  顾名思义,路径是指从树型目录中的某个目录层次到某个文件的一条道路。此路径
的主要构成是目录名称,中间用"/"分开。任一文件在文件系统中的位置都是由相应的路
径决定的。
  用户在对文件进行访问时,要给出文件所在的路径。 路径又分相对路径和绝对路径
。 绝对路径是指从"根"开始的路径,也称为完全路径;相对路径是从用户工作目录开始
的路径。
  应该注意到,在树型目录结构中到某一确定文件的绝对路径和相对路径均只有一条
。绝对路径是确定不变的,而相对路径则随着用户工作目录的变化而不断变化。这一点
对于我们以后使用某些命令如cp和tar等大有好处。
  用户要访问一个文件时,可以通过路径名来引用。并且可以根据要访问的文件与用
户工作目录的相对位置来引用它,而不需要列出这个文件的完整的路径名。例如,用户W
ANG有一个名为class的目录,该目录中有两个文件:software_1和hardware_1。若用户W
ANG想显示出其class目录中的名为software_1的文件,可以使用下列命令:
   /home/WANG$ cat /home/WANG/class/software_1
  用户也可以根据文件software_1与当前工作目录的相对位置来引用该文件。这时命
令为:
  /home/WANG$ cat class/software_1



--
--
※ 来源:·北极星BBS站 bjsing.net·[FROM: 疏梅细雨轩]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店