bod*_*ydo 6 terminology filenames files basename
我刚刚意识到我不知道如何file
调用file.ext
。
整体file.ext
称为文件或文件名,ext
称为扩展名,但您如何称呼file
部分本身file.ext
?
例如happy-dog.png
。所有的文件/文件名都是happy-dog.png
,扩展名是,png
但你怎么称呼happy-dog
?
这不是基名。和title一样吗?还是文件部分?有任何想法吗?
我怀疑这里有一个稳定的术语。一个小的谷歌搜索暴露了人们base name
对此的使用,但这种用法与“没有路径的完整文件名”相同的术语相冲突。例如,https: //stackoverflow.com/questions/2183486/ 公开了“filename”是“basename”加“extension”的情况。
OTOH,您使用的“扩展”一词很奇怪。它起源于 CP-M/Dos/Windows 世界(扭曲模仿 RSX-11/RT-11 方法),其中文件名可以(在 Windows 95 之前)在点之后有一个部分。在 Unix 世界中,它从一开始就被命名为“后缀”,我强烈建议您使用这个术语。不同之处在于可以存在多个后缀 - 例如,a.o.d
is 的依赖项列表a.o
。反过来,如果这是后缀,则后缀之前的部分是 a filename root
。在我看来,它与作为 Unix 超级用户的“root”发生冲突的可能性太小。
UPD:语言学经常在广义上使用“词干”“结尾之前的部分,有时在后缀之前”。但是我看到邻居回复中提到了“root”,因此,在您需要进一步区分之前,“root”似乎很好。
csh
、tcsh
和vim
其中zsh
有一个运算符来提取文件名的该部分 ( $file:r
) 将其称为根名称或文件名的根(好吧,$file:r
应用于/foo/bar.baz
is /foo/bar
,所以bar
宁愿是基本名称的根或根的基本名称)。Erlang
还有一个rootname()
运算符,python
文档也将不带扩展名的文件路径称为root。
这可能不是很常见的做法(我长期以来认为自己的r是文件名的其余部分,并且网络搜索引擎不会提供大量参考),但这是一个长期存在的做法,因为该功能已经存在并记录在案csh
1979 年第一个公开发布的版本也是如此。