linux文件权限和文件时间戳

时间:2021-09-03 14:33:48

    今天和大家聊聊文件权限和stat的三个文件时间戳,并做简单验证。

    初学linux后,了解到linux系统中一切皆文件的概念,可见对文件充分的了解是很重要的;首先介绍linux中的三种文件权限:R(读),W(写),X(执行);其次是使用文件的三种人物角色:文件拥有者(user),组内成员(group),其他用户(others);最后一点,在linux中文件不是用文件名后缀来表示文件类型的,而是用前缀字母表示文件类型,例-表示普通文件,d表示目录等等。

    例如:在linux的终端上,进入一个子目录,输入ll命令列出目录下文件的详细信息后,可以看到一个文件信息开头是十个字符构成的字符串,除了表示文件类型的首字母外,其他的三个一组,共三组,分别表示文件拥有者,组内成员及其他成员各自的读写执行权限。见下图:

linux文件权限和文件时间戳 

       接下来,我们来分析一下,首先明确一点当使用者拥有相应权限才能进行相应操作,验证略,下面我们就来验证一下,要打开一个目录,并在目录下创建文件需要些什么权限。

 linux文件权限和文件时间戳

没有执行权限用户无法打开目录文件

 linux文件权限和文件时间戳

有执行权限用户能打开目录文件

 linux文件权限和文件时间戳

没有写权限用户无法建立新文件

linux文件权限和文件时间戳 

有写权限用户能建立新文件

由上面可知,执行权限决定用户是否能打开目录,写权限决定用户是否能建立新文件,其他类似问题可以通过上面的方式进行验证。

    接下来说说,stat命令中出现的三个时间戳:Access(atime),Modify(mtime),Change(ctime)。

   简单来说:

atime:访问时间,读取文件或者执行文件时会更改,命令如cat,vi

mtime:修改时间,文件的内容被改变时,就会更改,如vi  

ctime:改变时间,文件的标签如属性、用户、用户组、权限、内容等被改变时,就会更改,如chmod,chown,vi6。

最后我们来验证一下这三个时间戳。

 linux文件权限和文件时间戳

访问目录文件,atime改变

 linux文件权限和文件时间戳

添加文件,mtime改变

 linux文件权限和文件时间戳

修改文件权限,ctime改变

 

    分享到此为止,如有错误,望斧正,共同进步,愿大家快乐学习,在编程的海洋中,游到成功的彼岸。^_^