lsattr:可以列出当前文件的权限
-d:可以查看当前目录的权限
-R:可以把子目录的权限也给显示出来
chattr:修改文件的特殊属性
+i:表示文件不能被删除,重命名,设定链接、写入以及新增数据
+a:表示只能追加不能删除,不能重命名,非root用户不能设定改属性
使用umask的时候默认是022但是显示的是0022第一个0的意思是:
文件的特殊权限:
set_uid:可以临时拥有所有者的权限
chmodu+s 文件 给文件加一个s权限
如果本身有x权限,则是s(小写)
如果本身没有x权限,则是S(大写)
必须是二进制可执行文件才能有这个权限
set_gid:可以零时拥有组用户的权限
chmod g+s 文件/目录 给文件或者是目录加一个s权限
sticky_bit:防删除位
chmod o+t 目录 让这个文件下的所有文件是谁创建,谁删除(root除外)
这三个权限可以通过数字的方式加,分别代表第一位的,4,2,1
比如4777代表的是:rws-rwx-rwx
6777代表的是:rws-rws-rwx
另外:
当在一个目录或文件上加入suid特殊权限时,如过原来目录或文件的属主具有x(执行)权限,就会用小写的s来替代x;如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替x。
同样,sgid和suid相同,如过原来目录或文件的属组具有x(执行)权限,就会用小写的s来替代x;如果原来文件或目录不具有x(执行)权限,就会用大写的S来代替X。
同样,如果在一个文件或目录上加入sticky权限时,若原文件或目录的其他用户有x(可执行)权限时,就用小写t代替x;如果原文件或目录没有x权限时,就用大写T替代x权限。
搜索:
which 命令:可以找到命令的位置
为什么which cd搜不出来?
因为cd是内置的命令
type 命令:可以看命令
builtin:表示内置命令
whereis 命令:通过预先生成的一个文件列表库去查找与给出的文件名相关的文件
只能局限于某些目录里
locate:安装用到的库是mlocate yum install mlocate -y
在生成数据库 updatedb 更新时间是每天的凌晨四点 找文件也有一定的局限性。
不能把/tmp下面的文件搜索出来
要通过updatedb更新之后才能搜索出来(时间比较短的文件)
find 路径 –类型 条件:搜索需要的文件
-atime+n/-n:访问或执行时间大于/小于n天的文件
-ctime +n/-n:写入、更改inode属性(如更改所有者、权限或者链接)时间大于或小于n天的文件
-mtime:+n/-n:写入时间大于/小于n天的文件(用的比较多)
ls看见的是
可以通过stat 文件:来查看三个时间
取反查询:在-type前面加一个 !
eg:find /etc/init.d/! –type d:查看/etc/init.d/文件下的非目录
链接:
建立软连接:ln –s 源文件目的文件(建议使用绝对路径)
pwd–P:可以看真实路径
pwd–L:可以看逻辑路径
创建硬链接:去掉–s
不能为目录创建硬链接
目录无法做硬链接,做硬链接会引起混乱,硬链接只是做一个备份而已,注意硬链接不能跨的分区。因为inode的生成是在分区格式化划分好的。一个分区的inode是各不相同的。每个分区都有inode 2.有相当的inode会引起文件的混乱。
硬链接与源文件必须在同一分区
硬链接=复制+同步+删除源文件无碍+不能跨分区+不能作用于目录
软链接=快捷方式+同步+删除源文件废废+能跨分区+也能作用于目录
2015年3月18日
by:champly