linux find和locate命令详解

 linux中find命令优点是能实现精确查找,缺点对系统资源耗费大。 

一:文件查找命令,按文件名称查找. 官方要求文件名需要加双引号,保证搜索的完整性。
find 目录 -iname " init "(不区分大小写)
find 目录 -name “init”(所有包含init的文件或目录)
find 目录 -name “init ”(以init结尾)
find 目录 -name“ init
” (以init开头)
find 目录 -name init??? (init后面有3个字符)

二:按文件大小查找:
find 目录 -size +204800 (在目录下查找大于100M的文件).
find 目录 -size +100M (在目录下查找大于100M的文件).
204800代表数据块,1个数据块=0.5字节。100M=102400kb=204800数据块。

三:按所有者,所属组来查找:
find 目录 -user lily(在目录下查找所有者为lily的所有文件)
find 目录 -group lily (在目录下查找所属组为lily的所有文件)

四: 根据time时间戳查找(以天为单位):

-atime:访问时间,就是一个文件最后一次被访问的时间
-mtime:修改时间,就是文件的内容最后被修改的时间
-ctime:改变时间,就是文件或者目录的属性(属主、属组、权限等等)被改变的时间
根据min时间戳查找(以分钟为单位):
-amin:意义同-atime
-mmin:意义同-mtime
-cmin:意义同-ctime

find /etc/ -cmin -5 (在/etc下查找5分钟内被修改过属性的文件或目录)
find / -ctime +20( 最近修改文件时间20分钟以前)
find / -mtime +7 (修改文件为7天之前的)
find / -mtime 7 ( 修改文件为第7天,就是往前推7天)
find / -mtime -7 (修改文件为7天之内的)

五:按多重条件查找
find /etc/ -size +80M -a -size -1024M(在/etc下查找大于80M并且小于100M的文件或目录)
-a: 两个条件同时满足
-o: 两个条件满足一个即可
六:按类型查找:
find /boot/ -type f (查找/boot目录下的文件)
find /boot/ -type d (查找/boot目录下的目录)
find /boot/ -type l (查找/boot目录下的快捷方式)
七:对查找结果进行操作
find /etc -name inittab -exec ls -l {} \; (查找etc目录下的inittab的文件或目录,并且对此文件进行ls -l的操作。)
-exec 或者 -ok 都可以代表执行,但是-ok在执行时会询问你是否要进行操作。 {} \ ;为固定格式。
find /etc -name init* -a -type d (查找etc目录下以init开始的目录,注意:d代表目录,f代表文件,l代表软连接)
find /etc -name init* -a -type d exec ls -l {} \; (查找etc目录下以init开始的目录,并且对此文件进行ls -l的操作。)
find . -inum 35426 -ok rm {} ; (查找i节点为35426的文件并删除它)
##################################################################################################
八:linux实现快速查找的命令:locate
locate 命令实现快速查找,它的机制是在/var/lib/mlocate/mlocate.db 创建了一个这样的数据库,系统内的所有文件会被定期的收入到这
个数据库中,通过locate命令是在这个数据库内进行查找,所以速度特别的快。对于新创建的文件或目录,我们需要用命令:updatedb 来更新数据库后
再用locate命令即可生效。另外,对于/tmp这个临时目录下的文件或目录,利用locate命令是无法查找的。
locate -i paswd (查找passwd这个文件,不区分大小写)
####################################################################################################
九:命令查找:
/bin 和 /usr/bin 下的命令是所有用户都能使用的命令, /sbin 和 /usr/sbin 下的命令是只有root用户才能使用的命令。
which + 命令 (搜索命令所在目录及别名信息)
whereis + 命令 (搜索命令所在的目录和命令的帮助文档的绝对路径)
###################################################################################################
十:命令的帮助:
man + 命令(查看命令帮助文档,配置文件信息)
whatis + 命令(只看命令的帮助文档)
apropos + 配置文件( 只看配置文件信息)
命令 + --help (获取命令的选项信息)
help + 命令 (查看shell内置命令的帮助信息。shell内置命令的特点是用which 和whereis找不到命令的路径)

猜你喜欢

转载自blog.csdn.net/weixin_42104231/article/details/82633034