热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Unix文件名与Windows文件名的差异

文章标题:Unix文件名与Windows文件名的差异。Linux是中国IT实验室的一个技术频道。包含桌面应用,Linux系统管理,内核研究,嵌入式系统和开源等一些基本分类

    Unix操作系统中文件的命名规则并没有像Windows操作系统那么严格。或者说,很多Windows操作系统中文件名字里不能够包含的字符,在Unix操作系统中都是可以的。所以有些从Windows操作系统上转移过来的管理员会觉得特别的不习惯。笔者今天就对两个操作系统的命名规则上的差异做一下总结,帮助Windows系统管理员更加顺利的转型到Unix操作系统的阵地上来。

  一、 隐藏文件的表示方法不同。

  在Windows操作系统中,如果要将某个文件的属性设置为隐藏,那么必须要点击这个文件,然后右键选择“隐藏”。然后才能够将这个文件设置为隐藏。即在一般的情况下是看不到用户隐藏的文件。但是Unix操作系统下则不同。在Unix操作系统中,同Windows操作系统一样,可以将某个文件夹或者文件隐藏。但是两者的方式不同。在Unix操作系统中,是根据文件或者文件夹(目录文件)的名字来控制的。即如果要把某个文件设置为隐藏,那么只需要在某个文件名字的开头加上一个英文状态下的点号即可。如果要将某个目录文件设置为隐藏,通力也只需要在目录文件的名字前面即上一个英文状态下的点号即可。如.Unix等等。这就表示这个文件夹是一个隐藏文件或者隐藏的文件夹。

  那么该如何查看这个隐藏的文件或者隐藏的文件夹呢?这跟Windows操作系统又不同。在Unix操作系统中,如果要进入某个隐藏的文件夹,不需要像Windows操作系统那样特殊的设置。只需要把文件名或者目录文件名输全即可。也即是说,要把那个.号也带上。如要进入到上面设置的那个UNIX隐藏文件夹中,则只需要执行cd .UNIX命令即可。所以在Unix操作系统中,无论是设置隐藏文件或者隐藏目录文件,还是查看这些文件,都是由一个英文状态下的点号所控制的。为此在Unix操作系统中要充分认识到这个点号的重要性。

  二、 大小写敏感程度不同。

  在Windows操作系统中,无论是文件还是文件夹,对于大小写都是不敏感的。也就是说,Unix与UNIX是同一个文件或者文件夹。所以在Windows操作系统中,给文件夹或者目录去名字的时候,不需要考虑大小写的问题。这给操作带来很大的方便。如在定义环境变量的时候,也不需要考虑大小写的问题。把路径全部小写或者大写都没有问题。但是在Unix操作系统中则不同。在Unix操作系统中,无论是普通文件还是目录文件,对于大小写都是敏感的。即Unix与UNIX是两个不同的文件或者目录。虽然这个差异不是很大,但是影响却很深远。如在Unix中定义环境变量的时候,在输入路径时,大小写就一个都不能够错误。如果某个字符大小写输入有问题的话,那么这个环境变量就不会起作用,因为其指向了一个错误的位置。

  为此在Unix操作系统中定义文件或者文件名字的时候,就需要特别的注意。通常情况下,除非有特殊的必要,笔者都建立对于普通的文件,最好都采用小写的字符。对于系统文件或者目录,采用大小的字符。无论是哪一种文件,有一个禁忌就是不要采用大小写混合的方式来命名文件或者目录。因为一方面要输入大小写混合的目录或者文件时,会很麻烦。其次在引用路径时也容易出错。为此对于任何一种文件(普通文件、目录文件、设备文件)名字,都最好采用全部大写或者小写的形式。另外在定义环境变量的时候,最好通过复制、粘贴的方式来为环境变量指定路径,以防止因为大小写输入错误而导致环境变量不其作用。

  说到这个大小写,最好有顺便提醒一下。在定义环境变量的时候,这个变量名字的大小写也是敏感的。在Windows操作系统中环境变量的大小写不敏感,用户将环境变量的名字输入为大小或者小写都是同一个。但是在Unix操作系统中这个环境变量的大小写也是敏感的。根据习惯,Unix操作系统中的环境变量一般都定义为大写。而普通的变量设为小写。这虽然是一个不成文的规则,但是系统工程师最好还是遵守。以减少大小写敏感所带来的烦恼。

  三、 扩展名的要求不同。

  在Windows操作系统中,一般要求文件都必须有扩展名。操作系统是根据这个扩展名来关联应用程序的。如text.txt,最后,.txt就是文件的扩展名。特别是对于一些脚本批处理程序,都要求以bat扩展名结尾。只有如此,操作系统才会当作批处理程序来执行。不过在Unix操作系统中却没有这么严格的要求。即使是普通文件,扩展名也是可有可无的。如默认情况下,sh是Unix操作系统下的可执行文件。但是如果工程师编写的可执行文件不带上这个扩展名,其也可以运行。这主要是两个操作系统调用脚本程序的方法不同。在Windows操作系统的命令行窗口下,只要输入脚本程序的全名(带上扩展名),即可以运行这个脚本程序。但是在Unix操作系统的shell中,调用某个脚本程序的话,需要在这个脚本程序前面加上./等符号,表示让系统执行这个程序。也即是说,他不是以扩展名来区分这是否是一个可执行的脚本程序。而是根据命令行的前缀来判断。为此在Unix操作系统中,对于扩展名没有任何的规定。

  虽然Unix操作系统中对于扩展名没有硬性的规定。但是在通常情况下笔者仍然建议用户在建立普通文件的时候,最好还是加上扩张名。只有如此,看扩展名、而不用看文件的具体内容,就可以了解文件的类型。如一看到sh扩展名,就知道这是一个脚本文件。而不用再去看其里面的内容。类似的,对于C语言源文件、文本文件等等最好都能够加上一个扩展名,以示区别。

[1] [2] 下一页


推荐阅读
  • 31.项目部署
    目录1一些概念1.1项目部署1.2WSGI1.3uWSGI1.4Nginx2安装环境与迁移项目2.1项目内容2.2项目配置2.2.1DEBUG2.2.2STAT ... [详细]
  • 本文介绍了在Windows系统上使用C语言命令行参数启动程序并传递参数的方法,包括接收参数程序的代码和bat文件的编写方法,同时给出了程序运行的结果。 ... [详细]
  • 本文介绍了使用Python解析C语言结构体的方法,包括定义基本类型和结构体类型的字典,并提供了一个示例代码,展示了如何解析C语言结构体。 ... [详细]
  • 恶意软件分析的最佳编程语言及其应用
    本文介绍了学习恶意软件分析和逆向工程领域时最适合的编程语言,并重点讨论了Python的优点。Python是一种解释型、多用途的语言,具有可读性高、可快速开发、易于学习的特点。作者分享了在本地恶意软件分析中使用Python的经验,包括快速复制恶意软件组件以更好地理解其工作。此外,作者还提到了Python的跨平台优势,使得在不同操作系统上运行代码变得更加方便。 ... [详细]
  • 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
    本文旨在全面介绍Windows内存管理机制及C++内存分配实例中的内存映射文件。通过对内存映射文件的使用场合和与虚拟内存的区别进行解析,帮助读者更好地理解操作系统的内存管理机制。同时,本文还提供了相关章节的链接,方便读者深入学习Windows内存管理及C++内存分配实例的其他内容。 ... [详细]
  • 本文介绍了200个经典c语言源代码,包括函数的使用,如sqrt函数、clanguagefunct等。这些源代码可以帮助读者更好地理解c语言的编程方法,并提供了实际应用的示例。 ... [详细]
  • 说到C语言的语句块,真是一堆血泪史。第一大坑就是优先级。刚工作那会儿,C的书没看几本,自信满满的认为C语言都会了,拿出搞ACM培养的豪情壮志,代码倒是写得爽,却到处留 ... [详细]
  • C语言的经典程序有哪些
    本篇内容介绍了“C语言的经典程序有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何 ... [详细]
  • 这篇文章主要介绍了Python拼接字符串的七种方式,包括使用%、format()、join()、f-string等方法。每种方法都有其特点和限制,通过本文的介绍可以帮助读者更好地理解和运用字符串拼接的技巧。 ... [详细]
  • 树莓派语音控制的配置方法和步骤
    本文介绍了在树莓派上实现语音控制的配置方法和步骤。首先感谢博主Eoman的帮助,文章参考了他的内容。树莓派的配置需要通过sudo raspi-config进行,然后使用Eoman的控制方法,即安装wiringPi库并编写控制引脚的脚本。具体的安装步骤和脚本编写方法在文章中详细介绍。 ... [详细]
  • C语言判断正整数能否被整除的程序
    本文介绍了使用C语言编写的判断正整数能否被整除的程序,包括输入一个三位正整数,判断是否能被3整除且至少包含数字3的方法。同时还介绍了使用qsort函数进行快速排序的算法。 ... [详细]
  • C语言常量与变量的深入理解及其影响
    本文深入讲解了C语言中常量与变量的概念及其深入实质,强调了对常量和变量的理解对于学习指针等后续内容的重要性。详细介绍了常量的分类和特点,以及变量的定义和分类。同时指出了常量和变量在程序中的作用及其对内存空间的影响,类似于const关键字的只读属性。此外,还提及了常量和变量在实际应用中可能出现的问题,如段错误和野指针。 ... [详细]
  • 本文介绍了GTK+中的GObject对象系统,该系统是基于GLib和C语言完成的面向对象的框架,提供了灵活、可扩展且易于映射到其他语言的特性。其中最重要的是GType,它是GLib运行时类型认证和管理系统的基础,通过注册和管理基本数据类型、用户定义对象和界面类型来实现对象的继承。文章详细解释了GObject系统中对象的三个部分:唯一的ID标识、类结构和实例结构。 ... [详细]
  • ejava,刘聪dejava
    本文目录一览:1、什么是Java?2、java ... [详细]
  • 初探PLC 的ST 语言转换成C++ 的方法
    自动控制软件绕不开ST(StructureText)语言。它是IEC61131-3标准中唯一的一个高级语言。目前,大多数PLC产品支持ST ... [详细]
author-avatar
手机用户2502869023
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有