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

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>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值