Linux文件名小写的好处(转)
说明:来自老阮的《为什么文件名要小写》的文章,其实我觉得应该说是《Linux文件名为什么要小写》会更合适些。
一、可移植性
Linux 系统是大小写敏感的,而 Windows 系统和 Mac 系统正好相反,大小写不敏感。一般来说,这不是大问题。
但是,如果两个文件名只有大小写不同,其他都相同,跨平台就会出问题。
foobarFoobarFOOBARfOObAr
上面四个文件名,Windows 系统会把它们都当作foobar。如果它们同时存在,你可能没办法打开后面三个文件。
另一方面,在 Mac 系统上开发时,有时会疏忽,写错大小写。
// 正确文件名是 MyModule.js
const module = require('./myModule');
上面的代码在 Mac 上面可以运行,因为 Mac 认为MyModule.js和myModule.js是同一个文件。但是,一旦代码到服务器运行就会报错,因为 Linux 系统找不到myModule.js。
如果所有的文件名都采用小写,就不会出现上面的问题,可以保证项目有良好的可移植性。
二、易读性
小写文件名通常比大写文件名更易读,比如accessibility.txt就比ACCESSIBILITY.TXT易读。
有人习惯使用驼峰命名法,单词的第一个字母大写,其他字母小写。这种方法的问题是,如果遇到全部是大写的缩略词,就会不适用。
比如,一个姓李的纽约特警,无论写成NYPoliceSWATLee还是NyPoliceSwatlee,都怪怪的,还是写成ny-police-swat-lee比较容易接受。
三、易用性
某些系统会生成一些预置的用户目录,采用首字母大写的目录名。比如,Ubuntu 在用户主目录会默认生成Downloads、 Pictures、Documents等目录。
Mac 系统更过分,一部分系统目录也是大写的,比如/Library/Audio/Apple Loops/。
另外,某些常见的配置文件或说明文件,也采用大写的文件名,比如Makefile、INSTALL、CHANGELOG、.Xclients和.Xauthority等等。
所以,用户的文件都采用小写文件名,就很方便与上面这些目录或文件相区分。
如果你打破砂锅问到底,为什么操作系统会采用这样的大写文件名?原因也很简单,因为早期 Unix 系统上,ls命令先列出大写字母,再列出小写字母,大写的路径会排在前面。因此,如果目录名或文件名是大写的,就比较容易被用户首先看到。
四、便捷性
文件名全部小写,还有利于命令行操作。比如,某些命令可以不使用-i参数了。
# 大小写敏感的搜索
$ find . -name abc
$ locate "*.htmL" # 大小写不敏感的搜索
$ find . -iname abc
$ locate -i "*.HtmL"
另外,大写字母需要按下 Shift 键,多多少少有些麻烦。如果文件名小写,就不用碰这个键了,不仅省事,还可以提高打字速度。
程序员长时间使用键盘,每分钟少按几次 Shift,一天下来就可以省掉很多手指动作。长年累月,也是对自己身体的一种保护。
综上所述,文件名全部使用小写字母和连词线(all-lowercase-with-dashes),是一种值得推广的正确做法。
参考:
http://www.ruanyifeng.com/blog/2017/02/filename-should-be-lowercase.html(以上内容转自此篇文章)
Linux文件名小写的好处(转)的更多相关文章
- linux文件名乱码时删除或改名的方式(转载)
转自:http://www.linuxsa.cn/when-linux-file-name-topsy-turvy-deleted-or-renamed.html linux文件名乱码时删除或改名的方 ...
- iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置
1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x ...
- Linux文件名命名规范
注意:在Linux下全部文件和文件夹命名都是小写的! Linux系统区分英文字符的大小写.命名目录和命名文件的规则是相同的.除非有特别的原因,否则用户创建的文件和目录名要使用小写字符.大多数的Linu ...
- linux文件名乱码解决办法
1.linux解压压缩文件乱码 unzip -O CP936 xxx.zip 2.一般文件用convmv sudo convmv -f gbk -t utf-8 -r --notest /your_d ...
- linux文件名匹配——通配符使用
背景:在linux使用过程中,经常需要查找文件,对命令中的通配符pattern和正则表达式的区分不是很清楚.有必要好好研究一下. 1 扫盲 1.1 通配符和正则表达式 当在使用命令行时,有很多时间都用 ...
- Linux 文件名匹配
As the shell reads each line, it "handles" any special characters. This includes variable ...
- Linux文件名匹配和输出重定向--2019-4-24
1.文件名匹配 例:rm *.bak; 删除结尾是.bak的文件 rm *4*.bak; 删除名称中有“4”的.bak文件 ls *.????; 查找结尾是“.”后有四个字母的文件 2.管道 先进 ...
- linux文件名乱码解决
问题描述:公司的FTP服务器早就搭建好,windows客户端可以上传文件到FTP服务器,但是上传去的文件在LINUX目录下文件是乱码. 解决方法:首先编辑/etc/sysconfig/i18n这个文件 ...
- Linux 文件名中包含特殊字符
文件和文件夹的名称中有特殊字符,操作有两种方式( - 在文件名称最前面除外). 例如:文件名为 a&b.c 1.通过转移符 "\" $ touch a\&b.c ...
随机推荐
- Elasticsearch查询优化总结
查询优化 1 从提高查询精确度进行优化: 本部分主要针对全文搜索进行探究. 1.1 倒排索引 1.1.1 什么是倒排索引: 一个倒排索引由文档中所有不重复词的列表构成,对于其中每个词,有一个包含它的文 ...
- Android动态添加和移除布局
package com.hyang.administrator.studentproject; import android.os.Bundle; import android.support.v7. ...
- Android记事本05
昨天: intentFilter 今天: URL和logcat 问题: ADK更新后无法打开布局文件.xml
- Android事件分发机制详解(1)----探究View的事件分发
探究View的事件分发 在Activity中,只有一个按钮,注册一个点击事件 [java] view plaincopy button.setOnClickListener(new OnClickLi ...
- ocrosoft Contest1316 - 信奥编程之路~~~~~第三关 问题 M: 当总统
http://acm.ocrosoft.com/problem.php?cid=1316&pid=12 题目描述 小明想当丑国的总统,丑国大选是按各州的投票结果来确定最终的结果的,如果得到超过 ...
- 获取任意网站的图标,标题栏logo,网站logo
https://www.hao123.com/favicon.ico 网站换成你想要的 大多数都可以
- docker搭建jira-7.11.1 + 破解
几行命令教你搭建一个jira最新版.所有步骤必不可少.破解补丁需要的请在下面留言. pull docker 镜像: jira:7.11.1(目前的最新版本) mysql:5.7 docker ...
- IPv6的一些特殊地址
IPv6的一些特殊地址 2008年7月3日第二次修正! 昨天是修正了地址部分,本想发上来的,没来得及.今天修正了NDP协议,接下来会是路由和转换部分. 总结一下各协议的精华:OSPF在于LSA,B ...
- BZOJ 2453 维护队列 | 分块
题目: http://www.lydsy.com/JudgeOnline/problem.php?id=2453 题解: 考虑维护每个位置的颜色上一次出现在哪里,计为pre[i],在询问l到r的时候, ...
- P4397 [JLOI2014]聪明的燕姿
P4397 [JLOI2014]聪明的燕姿 题目背景 阴天傍晚车窗外 未来有一个人在等待 向左向右向前看 爱要拐几个弯才来 我遇见谁会有怎样的对白 我等的人他在多远的未来 我听见风来自地铁和人海 我排 ...