目录和常规文件一样使用相同的权限位进行标识,但是它们的翻译不同。
目录的读权限允许用户使用该权限列出目录内容。
写权限意味着用户使用该权限能够在目录 中创建或者删除文件。
执行权限允许用户输入目录并访问任意子目录。没有执行权限,目录下的文件系统对象就是不可访问的。
没有读权限,目录下的文件系统对象 在目录清单下就是不可见的,但是如果知道磁盘上对象的完整路径,这些对象仍是可访问的。
目录与普通文件的权限意义并不相同,这是因为目录与文件所记录的数据内容不相同导致。x(execute): 允许执行权限,通常指可以运行的二进制程序文件或者脚本文件。
Linux上不是通过文件后缀名来区分文件的类型。 在Linux中,文件能够被执行是由"x"这个权限来决定的,而跟文件的扩展名(主要依靠file命令判断)没有半毛钱关系。不过拥有可以执行的能力, 与能否执行成功,是两码子事儿。
但是对于目录的权限位则很容易混淆,这里要注意区分:
对于目录的权限:
w (modify contents of directory):编辑目录里面的内容。
拥有更改该目录结构列表的权限:
主要包括 :4、移动目录里面的文件与目录的位置
x (access directory):代表的是用户能否进入该目录成为工作目录(cd 命令)。要编辑目录内容,那么必须对该目录拥有 wx 权限。
LINUX判断文件类型:(好像底层是依靠magic number检测法)
Linux的file命令用来通过探测文件内容判断文件类型,使用权限的所有的用户。file命令可以知道某个文件是二进制可执行文件还是Shell Script脚本文件,或者是其他格式, file能识别的文件包括目录, shell脚本, 英文文本,二进制可执行文件, C语言源文件, 文本文件, DOS可知性文件等等。
file命令的格式是 file 【option】 文件名
options的主要参数有
-v 在标准输出后显示版本信息,并且推出
-z 探测压缩过的文件类型
-L 允许符合连接
-f name 从文件namefile中读取要分析的文件名列表