先用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,就是查找目录文档。