你的理解基本正确,不过find会查找你指定目录的所有子目录,就是递归查找子目录里的内容。普通用户没有权限使用find,你可以执行 visudo 命令,里面有一行是
root ALL=(ALL)……
你也添加类似一行:
youruser ALL=(ALL)……
这样你这个用户就可以执行root的命令了:sudo find ……
root执行出来的应该和普通用户执行出来的一样啊,而且肯定root不会遇到permission deny的搜索结果。但普通用户限于权限问题,搜索有些位置的时候就会遇到permission deny的拒绝。
我也刚刚了解不久,期待完善
Linux下find命令在目录结构中搜索文件,并执行指定的操作。Linux下find命令提供了相当多的查找条件,功能很强大。即使系统中含有网络文件系统,find命令在该文件系统中同样有效。
在运行一个非常消耗资源的find命令时,很多人都倾向于把它放在后台执行,因为遍历一个大的文件系统可能会花费很长的时间。
命令格式:find 路径 -命令参数 [输出形式]
常用参数:
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-mtime选项相似,所以我们在这里只介绍-mtime选项。
-type 查找某一类型的文件,诸如:b-块设备文件;d-目录;c-字符设备文件;p-管道文件;l-符号链接文件;f-普通文件;s-socket文件。
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
用法示例:
查找当前目录以.sh结尾的文件
$ find . -name "*.sh"
查找当前目录下的目录
$ find . -type d
-ctime
-1在一天前以内修改的,就是不包括前天
+1是一天前之外修改的,不包括昨天
!就是取反
确实是,我这么做也是显示不一样的
不过我在chinaunix提问了,有人做出来的结果是一样的
你创建用户的时候把你的用户加入到root用户组。