Linux文件名基本知识

Linux中,大小写字母是严格区分开的。例如,my-filE、my-file、my-FILE是三个不同的文件(口令也是要严格区分大小写的。同样,UNIX和C开发语言也都要严格区分大小写字母)。
  
  文件名长度最大可以为256个字符,它通常是由字母、数字、“.”(点号)、“_”(下划线)和“-”(减号)组成的。另外还有一些字母是合法的,但是,我们并不推荐使用它们。例如,“*”(星号)、“?”(问号)、“ ”(空格)、“$”(美元符号)、“&”和任何括号。这些字母对于Linux shell有特定的含义。
  
  文件名中一定不能含有“/ ”,因为“/ ”在Linux的目录树中表示根目录或是路径中的分隔符(如同DOS中的“\”)。
  
  在对一个含有特殊字符的文件操作时,应当用一对单引号将其括起来,这样shell就不会对它们进行处理了。例如,要删去一个名为my file*的文件(文件名中有空格和星号),应当写为:
  
  $ rm ´my file*´
  
  这里要注意的是我们使用单引号而非双引号进行引用。对某些特殊字符即使用双引号进行引用,shell还是会对其进行解释,因此双引号的功能比单引号要弱一些。
  
  下面是对一些特殊字符的说明:
  
  星号(*):匹配零个或多个字符;
  
  ?:匹配任何一个字符;
  
  [abc1]:匹配任何一个在枚举集合中的字符。在该例中,该集合是a、b、c或1;
  
  [a-z]:匹配任何一个小写字符;
  
  [A-F]:匹配任何一个从A到F的大写字符;
  
  [0-9]:匹配任何一个单个数字;
  
  [a-z A-Z 0-9]:匹配任何字符(小写或大小)或任何数字。
  
  例如,下面的命令将列出当前目录下的所有文件的文件名(除了以点号开头的文件)。
  
  $ ls *
  
  以点号开头的文件类似于DOS中的隐藏文件。用ls -a或ls .*命令才可以显示这些文件。这些以点号开头的文件常在用户主目录中,用做用户的配置文件。
  
  下面的命令显示了含有点号的文件。
  
  $ ls *.*
  
  下面的命令显示了含有两个点号的文件。
  
  $ ls *.*.*
  
  Linux不具备文件扩展名的概念或者任何其它DOS文件名特性(如,Micro~1.doc)。
  
  例如,下面的命令将显示当前目录下所有以“a”、“b”或任何大写字母开头的文件的文件名。
  
  $ ls [abA-Z]*
  
  3.1.2

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/4e35747ca177b366df6a3b02a19c3c91.html