您的位置:首页 > 运维架构 > Linux

【Linux】文件和目录属性及其修改——chgrp、chown、chmod、touch...

2017-07-21 09:27 477 查看

Linux的文件和目录属性

从使用者角度看有:用户(user)、群组(group)、其他人(others)

从权限角度讲有:读(read对应数字4)、写(write对应数字2)、执行(execute对应数字1)

从文件类型讲有:目录(d)、文件(-)、链接(l)、接口设备(b)、串行接口设备(c)

其中文件类型每个文件都有,使用者角度和权限角度采用笛卡尔积的方式进行聚合,形成9种属性,也就是用户是否可读、用户是否可写、用户是否可执行、群组是否可读……

ls -al命令

当运行ls -al命令时,将出现:

dr-xr-x—. 10 root root 4096 Jul 21 14:02 .

dr-xr-xr-x. 18 root root 4096 Jul 21 12:13 ..

drwxr-xr-x. 3 root root 21 Jun 6 14:54 .cmake

第一列就是文件或目录权限说明,一共10位,第1位表示文件类型(d表示目录,-表示文件,l表示链接,b和c表示接口或端口硬件),第2到第10 分别表示用户,群组,其他人的文件权限。

第二列指与该文件或目录相关的链接数。

第三列表示文件或目录的拥有者。

第四列表示文件或目录所属群组。

第五列表示文件或目录大小。

第六~八列表示文件或目录最后修改时间。

最后一列表示文件或目录名。

修改文件所有者和权限

chgrp——修改文件或目录所属群组

命令格式:

chgrp 【群组名】 【参数】【文件或目录名】

群组名记录在:/etc/group文件中。

参数:

R:表示连同子目录一起修改。

例子:

修改前–》

[root@localhost dir]# ls -al
total 8
drwxr-xr-x  2 root root   17 Jul 21 17:23 .
drwxrwxr-x. 6 lx   lx   4096 Jul 21 17:23 ..
-rw-r--r--  1 root root   23 Jul 21 17:23 test


修改–》

[root@localhost dir]# chgrp -R lx test


修改后–》

[root@localhost dir]# ls -al
total 8
drwxr-xr-x  2 root root   17 Jul 21 17:23 .
drwxrwxr-x. 6 lx   lx   4096 Jul 21 17:23 ..
-rw-r--r--  1 root lx     23 Jul 21 17:23 test


chown——修改文件或目录所属用户

命令格式:

chown 【用户名】 【参数】【文件或目录名】

用户名记录在:/etc/passwd文件中。

参数:

R:表示连同子目录一起修改。

chmod——修改文件或目录权限

Linux中文件读写属性可以用数字表示,read对应4,write对应2,execute对应1,使用者(表示user,group,others)所拥有的权限等于各个他所拥有的的读写属性这和,4、2、1这三个数字不是随便乱选的哦,他们的和可以表示任意读写权限组合而不产生冲突。

命令格式:

chmod 【参数】 【数字】 文件名

参数:

R:表示子目录也一起修改。

例如:

修改test文件权限为用户和群组可以随意读取和执行,其他人不能对其进行任何操作,那么:

owner = rwx = 4+2+1 = 7

group = rwx = 4+2+1 = 7

others= — = 0+0+0 = 0

组合起来也就是770

命令如下:

[root@localhost dir]# chmod 770 test
[root@localhost dir]# ls -al
total 8
drwxr-xr-x  2 root root   17 Jul 21 17:23 .
drwxrwxr-x. 6 lx   lx   4096 Jul 21 17:23 ..
-rwxrwx---  1 lx   lx     23 Jul 21 17:23 test


修改文件时间、创建新文件——touch

文件时间包括:

modification time (mtime):文件内容修改时间。

status time (ctime):文件权限和属性修改时间。

access time (atime):文件读取时间。

可以使用touch命令来修改这三个时间:

[root@linux ~]# touch [-acdmt] 文件路径


参数:

默认情况下,不加参数时touch命令将文件的mtime和ctime同时修改为当前时间,如果文件不存在则创建一个新文件。

-a :仅修订 access time;

-c :仅修改时间,而不建立档案;

-d :后面可以接日期,也可以使用 –date=”日期或时间”

-m :仅修改 mtime ;

-t :后面可以接时间,格式为[YYMMDDhhmm],如1707251421表示2017年7月25日14:21,仅使用该参数是将mtime和atime修改为该时间,而ctime修改为当前时间。

这是鸟哥的私房菜上的,但是我实验的时候好像有些地方不太一样,我的系统是centos7.0估计是变化了一些,具体用到再查资料吧,不过最常用的创建新文件和修改时间为当前是一样的,即不加参数就行。

修改和查看其他属性——chattr、lsattr

文件常用的属性列表:

chattr命令格式:

# chattr <options> <attributes> <file or Directory >


参数:

-R 递归地修改文件夹和子文件夹的属性

-V chattr命令会输出带有版本信息的冗余信息

属性操作方式:

‘+’ 符号用来为文件和文件夹设置属性,

‘-’ 符号用来移除或者取消属性

‘=’ 使它们成为文件有的唯一属性。

lsattr命令格式:

# lsattr <File or Directory>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐