3.5查找文件的路径
文件名的查找:
whereis和locate都是利用数据库查找数据(Linux系统会将系统内的所有文件都记录在数据库文件里面,当使用whereis和locate进行查找时,都会以此数据库的内容为准)找的都是可执行文件或者man手册中的
数据库文件/var/lib/mlocate/mlocate.db
数据库的创建默认是每天执行一次,不同的发行版不一样
手动更数据库:直接输入updatedb命令,该命令会去读取/etc/updatedb.conf这个配文件的设置,然后再去硬盘里面进行查找文件名的操作,最后就更新整个数据库文件。
locate会将有文件名及其所在路径包含关键字段的文件与目录都显示。
find [path] [options] [expression]
1.与时间有关的参数:共有-atime,-ctime,-mtime。ll --time=atime
-mtime n:意义为在n天之前的一天之内被更改过的文件;-mtime 4,前4~5那一天的文件名
-mtime -n:列出在n天之内(包含n天本身)被更改过的文件名;-mtime -4,小于等于4天内的文件名
-mtime +n:列出在n天之前(不包含n天本身)被更改过的文件名;-mtime +4,大于等于5天前的文件名
find /-mtime 0 #0代表目前的时间,所以从现在开始到24小时前有改动过内容的文件都会被列出来
find /etc/ -newer /etc/passwd寻找/etc/下面的文件,如果文件日期比/etc/passwd新就列出
2.与用户或者用户组名有关的参数
-uid n:n为数字,这个数字是用户的账号ID,即UID
-gid n:GID
-user name:根据文件拥有者寻找文件
-group name:根据文件所属组寻找文件
-nouser:寻找文件的所有者不存在/etc/passwd的人
-nogroup:寻找文件的所有用户组不存在于/etc/group(当你自行安装软件时,很可能该软件的属性当中并没有文件所有者)
3.与文件权限及名称有关的参数
-name filename:查找文件名为filename的文件,支持通配符和?(由于find命令自己能解析通配符的含义,所以加引号不会让和?这两个符号失效)
-size [±]SIZE:查找比SIZE还要大(+)或者小(-)的文件。这个SIZE的规格有:c代表字节,k代表1024字节。-size +50k表示要找比50kB还要大的文件。
-type TYPE:根据文件类型查找文件,一般正规文件f,设备文件c、b,目录d,链接文件l,socket(s),FIFO(p)
-perm -mode:根据文件权限寻找文件。-perm -0744,当一个文件权限为4755时,也会被列出来。
-perm +mode:查找文件权限“包含任一mode的权限”的文件。-perm +755,当一个文件权限为-rw-------时也会被列出来,因为它有rw的属性存在
find /bin /sbin -perm +6000找出在/bin和/sbin这两个目录下具有SUID或SGID的文件
4.其他可执行的操作
-exec command:command为其他命令,-exec后面可再接其他的命令来处理查找到的结果
-print:将结果打印到屏幕上,这个操作是默认操作
find / -perm +700 -exec ls -l {}(找到的内容) 😭表示结束)
{}表示“由find找到的内容”,find的结果会被放置到{}位置中。
-exec一直到“;”是关键字,代表额外命令的开始(-exec)到结束(;),在这中间的就是find命令内的额外命令。额外的命令不支持命令别名。
普通文件有三种
1.二进制数据2.数据库格式文件3.vim可以打开的
ll --time=atime
747

被折叠的 条评论
为什么被折叠?



