Linux 基础教程 02

您所在的位置:网站首页 unix文件名最大长度 Linux 基础教程 02

Linux 基础教程 02

2024-01-19 01:06| 来源: 网络整理| 查看: 265

一切都是文件

在Linux系统中,一切都是文件。如文本文档、OpenOffice文档、图片、MP3和视频等都是文件,这点和Windows是一样的。   但是目录呢?它也是一种文件,只不过是一种特殊的文件,其中包含其他文件的信息。磁盘算是真正的大文件。网络连接也是文件,甚至运行中的进程也是文件,这些都是属于文件范畴。   对于Linux来说,文件只是bit和字节流。Linux并不关心这些二进制和字节最终组成了什么格式,相反,在Linux上运行的程序才关心它们组成的格式。对于Linux而言,文本文档和网络连接都是文件,而文本编辑器知道如何使用文本文档,Internet应用程序则可以识别网络连接,所以在Linux,需要我们根据上下文将“文件”理解为“文件、目录、子目录以及系统中其他所有东西”。

文件名最大长度

Linux和Unix文件名允许的最大长度为255个字符。在实际应用中,建议将文件名的长度控制在80以内比较好,因为大部分的终端都是这个宽度,文件名能在一行显示完,不用换行。

文件名区分大小写

与Windows和Mac OS不一样的是在Linux中,文件名是区分大小写的。对Linux而言,同一目录可以允许同时存在以下的3个文件:

foldertest FolderTest folderTest

对于Linux文件系统而言,它们是3个完全不同的文件(这一点与Windows区别还是很明显的)。区分大小写也就意味着必须准确输入命令和文件名。例如:如果要使用命令rm删除文件,就不能使用RM/rM/Rm。

文件命名的限制

在各个不同的系统中,对于文件或目录的命令都会存在一些限制和禁止使用的字符。如在Mac OS中不允许使用:,在Windows中不能使用**等等。在Linux中可以安全使用的字符如下所示:

数字、字母、圆点、下划线

其他的字符虽然也可以使用,但却代表一些特定的含义,因为Shell对它们的解释方法可能各不相同,而有一些则根本不能使用。   /字符就禁止使用,因为在Linux中它是用来分隔目录和文件的特殊字符。如果文件名包含/为folder/Test,则代表在目录folder中存在文件Test,而实际上并不存在这个目录和文件。 空格虽然不禁止使用,但建议不要在文件名包含空格。因为在Shell中,通常将空格做为参数之间的分隔符,使用空格会让Shell解释时产生误解。如使用命令删除folder Test:

rm folder Test

Shell会理解为先删除文件folder再删除文件Test。那么如何处理文件名的中空格,甚至?、*、'、"呢?虽然在Shell命令可以使用转义符**、""和'',但还是建议避免使用。下面就列举一些在文件名中如何使用特殊字符:

字符 建议 / 禁止使用,也不能被转义 \ 必须转义,避免使用 - 不能做为文件名或目录名的开始 [] 必须转义,避免使用 {} 必须转义,避免使用 * 必须转义,避免使用 ? 必须转义,避免使用 ' 必须转义,避免使用 " 必须转义,避免使用 通配符及其含义

在Linux中常见的通配符有三个*、?、[ ],含义分别如下:

参数 含义 * 匹配0个或多个任意字符 ? 匹配单个字符 [ ] 匹配一组单个字符

假设计算机中某一目录下面有如下所示的文件 file1.jpg file2.jpg file3.jpg file4.jpb file5.jpg file.log 现在想使用rm命令删除文件,使用通配符的示例如下:

命令 匹配 rm file*.jpg 删除所有file1-5.jpg文件,但不包含log文件 rm *log 删除file.log,但不会删除jpg文件 rm * 删除目录中所有文件 rm fil?1.jpg 删除file1.jpg文件 rm file?.jpg 删除所有file1-5.jpg文件,但不包含log文件 rm file[12].jpg 删除file1.jpg和file2.jpg rm file[1-4].jpg 删除file1/fiel2/file3/file4.jpg文件


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3