文件名的定义?

时间:2008-11-11 12:38:54

标签: coding-style filesystems naming-conventions terminology

经过多年的编程,它仍然是一些让我绊倒的简单事情。

是否有一个共同商定的文件名定义?

即使wikipedia article混淆了两种解释。

首先将其定义为“用于唯一标识存储在计算机文件系统上的文件的特殊字符串”。这看起来很清楚,并建议文件名是完全限定的文件名,指定文件的完整路径。

然而,它继续:

  • 谈论基本名称和扩展名(所以basename将包含绝对路径?)
  • 表示DOS中文件名的长度限制为8.3
  • 表示没有路径部分的文件名被认为是当前工作目录中的文件(因此文件名不能唯一标识文件)

所以,简单的问题:

  • 'filename'(包括引用)
  • 的正确定义是什么
  • 我应该如何明确地命名变量:
    • 文件的路径(可以是绝对/完整或相对)
    • 可以是文件/目录/套接字的资源的路径

4 个答案:

答案 0 :(得分:8)

没有参考,只是来自经验的白话。当我具体时,我倾向于使用:

pathfilespec(或文件规范):识别文件系统上的文件所需的所有字符。路径可以是绝对(从 root 或最顶层的目录开始)或 relative (从当前活动目录开始)。

filename:识别当前目录中文件所需的字符。

extension:文件名末尾的字符,通常用于标识文件的类型。按照惯例,扩展名通常以点(“。”)开头,文件名可能包含多个扩展名。

basename:文件名最多(但不包括)开头第一个扩展名的点。

答案 1 :(得分:0)

答案 2 :(得分:0)

  

文件·名称也是文件名
  (fīl'nām')发音键n。一个   给计算机文件的名称   经常将它与其他文件区分开来   包含扩展名   按类型对其进行分类。

@ Dictionary.com

它声明文件名用于命名文件,(就像你命名一个人一样)。并且它用于将其与其他文件区分开来。这并不告诉您它包含路径或其他文件系统强加的属性。 这个定义确实说经常文件名有一个扩展名。但这个定义非常谨慎......(我认为这是一件好事)

所以......在开始考虑路径等之前,你必须设置你的范围。你是一个unix世界吗?你在dos / windows世界吗?

答案 3 :(得分:0)

再次没有引用,但文件名规范取决于操作系统或更准确的文件系统。让我们从早期版本的DOS(磁盘操作系统)开始。文件名是包含数字,字母,短划线和下划线的8个字符名称。它们之后是三个,两个,一个甚至零字符的扩展名,用于标识文件类型。一个点将名称与扩展名分开。该名称必须在目录中是唯一的。

您可以通过添加目录名称或一系列目录名称来扩展名称。斜杠字符将目录名彼此分开,并与文件名分隔开。这通常被称为路径名称。该路径相对于当前目录。

最后在DOS中你可以包含驱动器名称。通常是一个字母后跟一个:和斜杠(一些系统两个斜杠)。将驱动器添加到路径使其成为绝对路径而不是相对路径。

今天我们大多数人都使用不遵循旧的8字符点三字符模式的长文件名。仍有许多文件系统保留名称,并使用长名称作为指向旧样式标识符的指针。