我们上一节讲的文件权限里面,用ls -l命令查看的第一栏第一个字符,除了我们前面讲的那些文件类型外,还有哪些类型的文件呢?我们也知道,在微软的win系统中,文件的后缀名是一个重要的概念,但在linux系统中,这个后缀名就不那么重要,虽然不重要,但为了管理和识别方便,还是存在这个后缀名的。这就是我们今天讲要讲的两个内容:文件类型和后缀名。
Linux常见的文件类型
一般的文件
这个就是我们通过ls -l列出来,第一栏第一个字符是“-”的文件,根据文件的内容也可以分几类:
纯文本文件(ASCII):这个就相当于记事本一样,称为纯文本文件,我们可以直接读取文件里面的内容。这种文件在Linux系统中占很多。
二进制文件(binary):Linux系统中的可执行文件(scripts)就是一个二进制的文件,而且这个文件要有x权限才能被执行。我们系统中的一些命令就是这类型的文件。
数据格式文件(data): 在Linux系统中,有些程序在运行的时候会读取某些特定的数据库,这些文件就是数据文件。如我们前面讲的last命令,调用的就是/var/log/wtmp,如果我们用cat命令来查看/var/log/wtmp这个文件,你发现全是乱码。
关于一些其他的文件类型,如连接文件、设备文件、数据接口文件(sockets)、管道文件(pipe)等等,这些也是一些特殊的文件类型,我们只需要了解就OK了,在后面的学习中,见到的时候,你要知道他是什么东西就可以了。如果想更深入的学习,那就找相关的资料,慢慢研究,如,如何查看一个数据文件等。
Linux文件的后缀名
我们在刚开始的时候也说过,在Linux系统上,对这个后缀名要求并不像微软的win系统一样严格,只是为了方便确认文件是什么样的文件,才在后面加上了相应的后缀。如果一个文件能用cat命令读取里面的内容,我们改了后缀后,同样还是能用cat读取出来。
我们也知道,在微软的win系统上,常用的可执行文件一般就是以.com、.bat、.exe来结尾。而在我们的Linux系统上就不一样了,什么样的文件我都可以给他加上X(可执行)权限,但能不能执行成功,就要看文件本身的内容了。这里面有重要的一点,就是“可以被执行和可以执行成功是不一样的”。例如,我们在root用户的家目录里面有个install.log文件,我们给他加上X权限,虽然是可以执行的文件,但执行后,没有什么结果,因为这个文件里面内容不是我们系统所能执行的,当然他是执行不成功啦!
所以说,为了方便我们认识系统中的文件是干吗的。Linux系统还是会以相应的后缀名来表示文件的种类的。下面我们就看看一些常见的后缀
.sh : 这个通常是我们自己写的一些脚本(scripts)文件,一般都是通过shell写的,所以以.sh来表示。
.z,.tar,.tar,.gz,.zip,.tgz :这一类的文件就是压缩文件,只是采用的压缩方式不同而已。
.log : 这一类文件,就是一些日志文件。
.conf : 这类文件就是一些配置文件,这个在Linux系统上见到的最多。
.rpm : 这是红帽的软件包,当然,不同的Linux发行版本,他们使用的软件包的后缀是不一样的。
.php,.jsp,.html,.css : 这一类,都是网站类型的文件。
当然还有一些其它的后缀,没有什么太大的意义,只是为了我们方便识别,我们简单的了解一下。
文件名长度和文件的命名规则
RHEL6中,ext4系统上的文件名长度
想知道某个系统上的文件名的最大长度,我们可以写一个shell脚本来测试,
[root@yufei ~]# cd /tmp/
[root@yufei tmp]# vim testfile
写入如下内容
#!/bin/bash
LENTH=`for i in {1..255};do for x in a;do echo -n $x;done;done`
touch $LENTH
保存退出
[root@yufei tmp]# chmod +x testfile
[root@yufei tmp]# ./testfile
这时候可以正常输出一个文件名为a……a(255个)的文件,如果你把上面的脚本的255改成256,再执行一次,就会出现“File name too long”这个错误提示。这就充分说明:
在RHEL6的EXT4系统上,最多的文件名长度为255个字符。
这个长度已经很长了,足够我们用了。在后面的学习中,你会发现,Linux系统上,很多软件的名字都很长,如果一个字一个字的打会很浪费时间,而且有时还会打错,这是不是太不方便了?当然不是啦,长文件名,有利于我们知道这个文件是干吗的(我是这么认为的),其实是在方便我们。为了不让我们打那么多的字,在Linux系统上,有一个重要的功能键,那就是TAB,这个有补全作用,只要打前几个字,再按TAB,就补全了,如果按两次的话,会显示和这几个字相关的内容。哈哈,使用Linux的朋友不知道这个功能,或不用会这个的话,那就太失败了!
Linux系统中文件的命名规则
我们知道,在Linux系统上,基本上都是用命令来操作的,我们所用的shell,自身就有很多的特殊字符,如果我们的文件名和这个shell里面的特殊字符一样的话,那就不好办了,所以我们在给文件起名的时候,在方便识别的同时,也要避免一些特殊字符,下面我们列举出来,代大家参考(并非不能命令这些字符,只是建议避免)。
- + * ? > < ; & ! [ ] | \ ‘ " ` ( ) { }
联系客服