文件目录中的路径名

先决条件—— 文件系统

null

分级目录系统-

目录以树的形式维护。每个用户可以拥有所需的任意多个目录,以便以自然的方式将文件分组在一起。

这种结构的优点:

  • 搜索是高效的
  • 文件搜索能力增强

当文件系统被组织为目录树时,需要某种方法来指定文件名。

通常使用两种不同的方法:

  1. 绝对路径名– 在这种方法中,每个文件都有一个 绝对路径 由根目录到文件的路径组成的名称。例如,路径 /usr/ast/邮箱 表示根目录包含一个子目录usr,而usr又包含一个子目录ast,ast包含文件邮箱。

    绝对路径名始终从根目录开始,并且是唯一的。

    在UNIX中,路径的组件由“/”分隔。在Windows中,分隔符为“”。 窗户 usrastmailbox UNIX /usr/ast/邮箱

  2. 相对路径名– 这一点与 工作目录 (也称为 当前目录 ).用户可以指定一个目录作为当前工作目录,在这种情况下,所有不以根目录开头的路径名都是相对于工作目录的。

    对于 实例 ,如果当前工作目录为/usr/ast,则绝对路径为/usr/ast/mailbox的文件可以简单地引用为mailbox。 换句话说,UNIX 命令: cp/usr/ast/mailbox/usr/ast/mailbox。贝克 还有命令: cp邮箱。贝克 如果工作目录是/usr/ast,则执行完全相同的操作。

什么时候使用哪种方法? 有些程序需要访问特定的文件,而不考虑工作目录是什么。在这种情况下,它们应该始终使用绝对路径名。例如,拼写检查器可能需要读取/usr/lib/dictionary来完成其工作。在这种情况下,它应该使用完整的绝对路径名,因为它不知道调用时工作目录是什么。无论工作目录是什么,绝对路径名始终有效。

当然,如果拼写检查器需要/usr/lib中的大量文件,另一种方法是它发出一个系统调用,将其工作目录更改为/usr/lib,然后只使用dictionary作为第一个打开的参数。通过显式更改工作目录,它可以确定它在目录树中的位置,因此可以使用相对路径。

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享