Linux ,CentOS find命令问题??
书上有这样的语句:查找系统中权限为SUID/SGID的文件:第一题:#find/-xdev\(-perm-4000-o-2000\)-print.我学习Linux也有一段...
书上有这样的语句:
查找系统中权限为SUID/SGID的文件:
第一题:#find / -xdev \(-perm -4000 -o -2000\)-print. 我学习Linux也有一段时间了。find基本命令都会,也不是什么都不懂,但是还是有不明白的地方,希望能得到高手指教。一、xdev是什么意思?我查过有解释是局限在目前先行的文件系统中!不懂!还有那一对括号并且还有用转义的用法以前还真是没有见过,中间有个-o,我估计是or的意思,剩下的请解释一下!
同样下面还有类似的查找:
查找指定目录/dir下的所有用户可写的设置了粘贴位的目录:
#find /dir -xdev -type d \(-perm -0002 -a ! -perm -1000\)-print基本上困惑还是一样。补充一点想知道的就是
括号中间的-a !(这是感叹号)是什么意思和用法?如果可以的话,也可以贴出相关的知识链接给我一下!谢谢! 展开
查找系统中权限为SUID/SGID的文件:
第一题:#find / -xdev \(-perm -4000 -o -2000\)-print. 我学习Linux也有一段时间了。find基本命令都会,也不是什么都不懂,但是还是有不明白的地方,希望能得到高手指教。一、xdev是什么意思?我查过有解释是局限在目前先行的文件系统中!不懂!还有那一对括号并且还有用转义的用法以前还真是没有见过,中间有个-o,我估计是or的意思,剩下的请解释一下!
同样下面还有类似的查找:
查找指定目录/dir下的所有用户可写的设置了粘贴位的目录:
#find /dir -xdev -type d \(-perm -0002 -a ! -perm -1000\)-print基本上困惑还是一样。补充一点想知道的就是
括号中间的-a !(这是感叹号)是什么意思和用法?如果可以的话,也可以贴出相关的知识链接给我一下!谢谢! 展开
1个回答
展开全部
-xdev 只搜索 / 所在的分区, df / 可以查看 / 的分区,如果有其他分区也挂在到 /的某个子目录下是不会搜索的
()是shell的运算法,不转义就会被shell脚本解析器解析了,这里()是要当参数传递给find命令内部解析的
!的非运算符
-a and
-o or
上面都是find的条件,条件全满足的才会打印
()是shell的运算法,不转义就会被shell脚本解析器解析了,这里()是要当参数传递给find命令内部解析的
!的非运算符
-a and
-o or
上面都是find的条件,条件全满足的才会打印
追问
经过反复的实验,我发现:
①find / -xdev -type d \( -perm -1000 -o -perm -0002\)-print
因为有括号的原因反而不能用(它提示的错误是路径必须在选项的前面!查看man find确实也有
括号的功能和用法介绍,这个不知道为什么?),不用括号却可以正常的运行命令,像这样:
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询