#Linux文件系统#

文件系统(File System)是指数据在计算机的硬盘中存放的格式,针对不同的操作系统,文件存储格式和存取的方式各不相同,所以文件系统也不尽相同。


目录相当于 Windows 中的文件夹,目录中存放的既可以是文件,也可以是其他的子目录,而文件中存储的是真正的信息。




Linux系统的文件目录结构为一棵倒置的树,具体如下图所示:


Linux之文件系统介绍_Linux




Linuxwindows


Linux:

  • 存储设备在文件系统层次结构中,以目录表示;

  • 用正斜杠/分割目录;

  • 文件名不需要后缀;

  • 每个文件/目录都有与之相关的权限和所有权 ;

Windows:

  • 驱动器以字母表示;

  • 用反斜杠\分割目录;

  • 文件名的后缀有特殊含义;

  • 安全特性各不相同;





Linux目录和文件类型


在查看文件的基本属性的时候,每一行的第一位,也就是权限位之前的那一位表示文件的类型。

- 代表普通文件

d 代表目录文件

l 代表链接文件

p 代表管道文件

b 代表块设备

c 代表字符设备

s 代表套接字文件socket





Linux目录与文件权限类型


r 读权限 数值表示 4

w 写权限 数值表示 2

x 执行权限 数值表示 1


口诀:

1 代表执行,2 代表写,4 代表读

3 代表 1执行+2写

5 代表 1执行+4读

6 代表 2写+4读

7 代表 1执行+2写+4读





Linux更改目录和文件权限值:chmod


表示方法 :chmod 数值 文件名/目录名



#将目录coco的权限更改为4+2+1 4+2 4+2
chmod 766 coco

#将文件vivi的权限更改为 4+2+1 4+2+1 4+2+1
chmod 777 vivi




Linux目录与文件权限位


u 属主,前三位,文件的主人(文件的所有者); 

g 属组 ,中间三位 ,文件主人所在的组(文件所有者所在的组);

o 其他用户,后三位,除了 u 和 g 以外的用户;


表示方法:属主(或属组或其他人或所有的)=(或者+或者-)权限 文件名/目录名



#给文件ITester的属组赋予读取权限
chmod u=r ITester

#给文件ITester的属组赋予写和执行权限
chmod u=wx ITester

#给文件ITester的属组增加读写权限
chmod g+rw ITester

#给文件ITester的属组去掉读写权限
chmod g-rw ITester

#给文件ITester的其他用户的权限改为读写
chmod o=rw ITester

#给所有用户增加读写和执行权限
chmod a+rwx ITester




Linux更改文件或目录的属组或属主:chown


chown命令用于更改目录或文件的属主和属组,注意必须由文件或目录的属主或超级用户才能修改。

R 递归式改变指定目录及目录下所有文件和子目录 ;

-v 显示 chown 命令所做的工作;



#将当前目录下的coco目录的属主改为usr
chown usr coco

#将当前目录下的vivi目录的属主改为usr,属组改为gur
chown usr.gur vivi




Linux更改文件或目录所属的组:chgrp


chgrp命令用于更改文件或目录所属的组,以空格分开,支持同时更改多个目录。

-R 递归式改变指定目录及目录下所有文件和子目录



#将文件coco的属组更改为g2
chgrp g2 coco




Linux3种时间状态属性


Linux系统中,存在3种时间状态属性。

atime:Access Time ,最后一次访问文件(读取或执行)或目录的时间;

mtime:Modofy Time ,最后一次修改文件内容(数据)或目录内容(目录内文件列表)的时间;

ctime:Change Time ,最后一次改变文件属性(元数据)或目录属性(元数据)的时间;



#通过stat命令查看3个时间
stat coco.txt

#查看atime
ls -lu coco.txt 

#查看mcime
ls -l coco.txt 

#查看ctime
ls -lc coco.txt