linux 下的文件创建和进入目录:
1 进入目录的权限要求:
首先从上图大家可以看见我的test目录的文件属性为:
d r w x r w x r - x
这10个字母,我们把第一个单独为一组,剩下九个每三个一组从前到后。第一组代表user,第二组代表group,第三组代表other。其中rwx分别代表的是 执行,可读,可写权限。
那么我们可以从上面test的属性中看到,user的权限其中包含了可执行。
当我们取消该目录的可执行权限时可以看到我们无法打开该目录,故可以知道了一个文件是否能打开与可读无关与能否执行有关。
2 文件创建的权限
当我们恢复 test目录的可执行的权限后,可以从上图看到,我们成功打开该目录test。
当我们取消test目录的写权限时,在进入到test后,我们创建file_1失败,故我们可以知道一个文件能否被创建成功,与它上一层父目录的写权限与可执行这俩个权限有关。
3 文件创建的时间
图 a
图 b
图 c
图 d
我们可以把test权限修复后创建出来了file1。
我们通过stat指令来查看文件的元信息。从图a在元信息中我们可以查看到三个时间。
1.当我们cat file_1时,只读时如图b所时,只有Atime发生改变。2.图C当我们chmod时 只有Ctime改变。3.图d当我们只写入时 echo "hello bit">>file_1 时,只有 Atime没有改变剩下的俩个都改变了。4如图d 当执行 vi file时 三个时间都改变了。
2
.
当我们mv一个文件时,它的Ctime会改变,因为操作系统是先在目标目录下创建一个重命名的文件,这文件指向原先文件的inode节点,然后再把原件文件删除,这样原先文件的inode节点链接数在某一时刻会先加1再减1所以Ctime发生改变。
结论:
Atime(Access):在读取文件或者执行文件时更改,即文件最后一次被读取的时间
Mtime(Modify):在写入文件时随文件内容的更改而更改,是指文件内容最后一次被修改的时间
Ctime(Change):在写入文件、更改所有者、权限或链接设置时会被更改,所以也就是当文件的inode节点中的成员被修改时,文件的Ctime会被修改。即它是文件状态最后一次被改变的时间。
Stat结构