【Linux】Shell学习笔记之三——文件和目录管理(修改、查找)

本文介绍了如何使用Linux命令如ls、chgrp、chown和chmod来查看和修改文件及目录的属性,包括权限、所有者和组。同时,还介绍了如何使用find命令按不同条件查找文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    在上节学了文件和目录的增、删、复制、移动、查看等。这节主要写对文件、目录属性的修改和文件的查找。

先用ls -l 来查看文件的属性

每一行对应每一个文件、目录的属性,共有9个属性。


第一个:类型+所属主,所属组和其它用户对文件的权限,用'-'分开。

           第一列中的字符含义(即类型):

            'd'是指目录文件;

            '-’指普通文件;

            'l'指链接文件;

            'b'指块设备文件;

            'c'指串行端口设备,例如键盘、鼠标;

            's' 指套接字文件,用于进程间通信。

           

           后面的9个字符代表权限。

           权限分读、写、执行  。‘r’代表读,‘w’代表写,   ‘x’代表执行。所以每三个字符rwx(没有权限的用‘-’代替)对应所属主,所属组,其它用户的权限。   

第二个:连接占用的结点。若是目录,通常与里面的东西有关。 

第三个:所属的主,即用户。

第四个:所属的组。

第五个:文件大小。

第六、七、八个:文件创建或修改的时间。

第九个:文件名。若前面有‘.’代表隐藏文件。


修改所属组:chgrp +组名+文件名

先用groupadd 添加一个组  groupadd testgroup

对test 目录修改所属组:chgrp testgroup test


修改所属主:chown+用户名+文件名

对test 目录修改所属主:chown admin test

-r  只用于目录,更改的目录里的文件和目录属性随着更改,即级联更改。


对它们操作要有足够的权限,所以先获得root 权限比较方便,如图(admin 是另一个已经建好的用户,若没有可用useradd 来添加用户):


修改权限:chmod -R adc 文件名

-R (大写的)是级联更改

abc 代表三个数字,分别对应所属主,所属组,其它用户的权限。

权限的代表值如下:

r:4  w:2 x: 1 -: 0

例如rwx 的和就是7,

如下图可见,test的文件所对应的权限都是rwx的



也可以用u,g,o分别代表主,组,其它用户对权限进行修改。若全部则是a。

可以用加入(+)、减去(-)、设定(=)来修改权,如图:




如果想让文件和目录一创建时就设定好自定义的权限时要怎么做?

用umask 确定了创建文件的缺省模式。

如上图可见,普通用户的缺省值是0002,root的缺省值是0022。

可为什么不是3个数字吗?怎么多了一个。答案是第一是特殊的权限,这里先不管。

其实目录默认的权限是777,文件的权限是666,还需减去umask的值。若是有root 权限,则减去0022 ,目录和文件一创建时的权限是766,644。

若我们想修改默认值可通过修改umask值来实现。


   修改文件的特殊属性: chatrr [-RVF]  [+-=Aaisu] files

其中+,-,= 分别是添加,删除,设定特殊属性。

属性A(大写):添加这个属性后不能修改文档的atime

属性a(小写):添加这个属性之后只能添加,不能修改和删除(只有root可设置)。

属性i:添加这个属性之后不能添加、修改、删除(只有root可设置)。

属性s: 被删除后无法恢复。

属性u:与s相反,补删除后可恢复。


显示特殊属性:lsattr -aR file

-a: 连隐藏属性一起显示。

-R 级联。


如下图,添加特殊属性后显示,再删除特殊属性:




下面要写的是“文件”。

除了之前有提过的which 查看命令的绝对路径。现在要讲的是whereis 

语法: whereis [-sbmu] filename

-s: 只找source 来源文件;

-b:只找binary文件;

-m:只找在说明文件manual路径下的文件;

-u:没有说明档的文件


find:

语法:find 路径 +参数


比如 find test atime/ctime/mtime + n

查找 test中 访问或执行时间/写入、更改inode属性/写入时间 大于n 天的文件


另外是直接查找文件名:find 路径 -name +文件名

如下图,查找当前目录下 名为''yum.sh'的文件


除了通过文件名查找,也可通过文件类型来查找:

find 路径  -type type 。

比如 find ./ -type d,就是查找目录文档。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值