千家信息网

Linux查找命令与find命令的详细介绍

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"Linux查找命令与find命令的详细介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所
千家信息网最后更新 2026年11月01日Linux查找命令与find命令的详细介绍

本篇内容介绍了"Linux查找命令与find命令的详细介绍"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!



一、文件查找之locate命令

locate :
非实时的,查找时根据全系统文件数据库进行的,模糊查找,
update 手动生成文件数据库
速度快

依赖于updatedb数据库


#手动更新locate数据库
[root@lovelace scripts]# updatedb
#使用locate查找文件 (速度好快的说)
[root@lovelace scripts]# locate *.py
/home/scripts/factorial.py
/home/scripts/input.py
/usr/lib/python2.4/fileinput.py
/usr/lib/python2.4/fileinput.pyc
/usr/lib/python2.4/fileinput.pyo
/usr/lib/python2.4/site-packages/dogtail/rawinput.py
/usr/lib/python2.4/site-packages/dogtail/rawinput.pyc
/usr/lib/python2.4/site-packages/dogtail/rawinput.pyo
/usr/lib/python2.4/test/pyclbr_input.py
/usr/lib/python2.4/test/pyclbr_input.pyc
/usr/lib/python2.4/test/pyclbr_input.pyo
/usr/lib/python2.4/test/test_fileinput.py
/usr/lib/python2.4/test/test_fileinput.pyc
/usr/lib/python2.4/test/test_fileinput.pyo

二、文件查找之find命令

find:
实时
精确
支持众多查找规则
遍历指定目录中的所有文件完成查找,速度慢

find 查找路径 查找标准 查找到以后的处理运作
查找路径:默认为当前目录
查找标准:默认为指定路径下的所有文件
查找到以后的处理操作:默认为显示

匹配标准:
-name 'filename':对文件名作精确匹配
文件名通配:
* 任意长度的任意字符
? 任意的单个字符
[] 选项内的字符
-iname 'filename':文件名匹配时不区分大小写
-regex pattern 基于正则表达式进行文件名匹配

-user username :根据属主查找
-group groupname :根据属组查找

-gid gid:根据gid查找
-uid uid::根据udi查找

-nouser 查找没有属主的文件
-nogroup 没有属组的文件

example: find /tmp -nouser

[root@lovelace scripts]# find /tmp -name test
/tmp/sources/httpd-2.2.17/srclib/apr-util/test
/tmp/sources/httpd-2.2.17/srclib/apr/test
/tmp/sources/httpd-2.2.17/modules/test
/tmp/sources/httpd-2.2.17/test
/tmp/test

根据文件类型来查找

-type
f:普通文件
d: 目录
c: 字符
b: 块设备
l: 链接
p: 管道
s: 套接字

example:find /etc -type d

#查找/tmp目录下名字为test 而且文件格式为目录的
[root@lovelace scripts]# find /tmp -type d -a -name test
/tmp/sources/httpd-2.2.17/srclib/apr-util/test
/tmp/sources/httpd-2.2.17/srclib/apr/test
/tmp/sources/httpd-2.2.17/modules/test
/tmp/sources/httpd-2.2.17/test
/tmp/test

根据文件大小查找

-size
[+|-]#k 没有+和-就代表是精确匹配
[+|-]#m
[+|-]#G

example:find /tmp -size +10M 查找/etc目录下大于10M的文件

组合条件:这个需要了解摩根定律
-a:与 默认
-o:或
-not :非
example:find /tmp -not -user user1 -o -not -type d
#查找/tmp目录下文件格式为目录,而且大小在26k到32k之间的目录
[root@lovelace scripts]# find /tmp -type d -a -size +16k -a -size -32k
/tmp/sources/httpd-2.2.17/docs/manual/mod
/tmp/sources/php-5.2.13/ext/reflection/tests
/tmp/sources/php-5.2.13/ext/date/tests
/tmp/sources/php-5.2.13/ext/spl/tests
/tmp/sources/php-5.2.13/tests/classes
/tmp/sources/php-5.2.13/Zend/tests



根据文件时间戳来查找:
以天为单位的:

改变时间:-mtime
修改时间:-ctime
查看时间:-atime
[+|-]# 默认时间戳为5天
-5:5天内访问过
+5:至少5天没访问过了
5:离现在刚好5天访问过

以分钟为单位的:
-mmin:
-cmin:
-amin:

find /tmp -amin -5 5分钟内被访问过的文件

至少多久没有被访问的,且文件大小超过多少的,执行删除操作
find /tmp -atime +30 -a -size +100M -exec 'rm -rf *' \;

#查找home目录下至少5天没被访问过的文件
[root@lovelace scripts]# find /home/ -ctime -5
/home/scripts
/home/scripts/list
/home/scripts/for
/home/scripts/for/dir.sh
/home/scripts/for/three.sh
/home/scripts/for/checkbash.sh
/home/scripts/for/sorsum.sh
/home/scripts/while
/home/scripts/while/readpasswd.sh
/home/scripts/while/catwhile.sh
/home/scripts/case
/home/scripts/case/showmenu.sh
/home/scripts/case/showmenu
/home/scripts/case/2showmenu.sh
/home/scripts/if
/home/scripts/if/grade.sh
/home/scripts/51cto
/home/scripts/51cto/info.tt
/home/scripts/51cto/info.sh
/home/scripts/51cto/1.sh
/home/scripts/51cto/argument.sh
/home/scripts/51cto/sum.sh



根据权限查找:
-perm mode :精确匹配
-perm -mode :每一位权限都必须精确匹配 文件权限能完全包含此mode的均符合标准
-perm /mode :9位权限中有任何一位符合条件的

example:find /tmp -perm -001 查找其他用户有写权限的文件


find的动作:
-print 默认
-ls:类似 ls -l的形式显示文件的每一个信息

-ok command {} \; 会每次执行进行询问操作,需要用户确认
-exec command {} \; 不会惊醒询问操作
引用原来的额名字,使用{}

example:find /tmp -perm -020 -exec mv {} {}.new \;

#找出home中大小为16k到32k之间的文件,然后传递给exec 并显示出来
[root@lovelace scripts]# find /home/ -size +16k -a -size -32k -exec ls -lh {} \;
-rw-r--r-- 1 root root 20K 05-03 03:04 /home/nick/etc/gconf/gconf.xml.defaults/%gconf-tree-li.xml
-rw-r--r-- 1 root root 20K 05-03 03:04 /home/nick/etc/gconf/gconf.xml.defaults/%gconf-tree-ug.xml
-rw-r--r-- 1 root root 25K 05-03 03:04 /home/nick/etc/gconf/schemas/drivemount.schemas
-rw-r--r-- 1 root root 20K 05-03 03:04 /home/nick/etc/gconf/schemas/gnome-volume-control.schemas
-rw-r--r-- 1 root root 21K 05-03 03:04 /home/nick/etc/gconf/schemas/system_smb.schemas
-rw-r--r-- 1 root root 22K 05-03 03:04 /home/nick/etc/gconf/schemas/desktop_gnome_thumbnailers.schemas
-rw-r--r-- 1 root root 17K 05-03 03:04 /home/nick/etc/gconf/schemas/apps_gnome_settings_daemon_default_editor.schemas

find和xargs命令
xargs: 作用是将参数列表转换成小块分段传递给其他命令,以避免参数列表过长的问题。
相较于-exec command 而言,此命令功能更强悍。和find合用的时候,一般是通过管道传递给xargs
find /tmp -size +100M | xargs 'rm -rf '

三、其他查找命令

which: 定位一个命令的完整路径,有可能会显示出命令的别名

#使用which命令查找ls命令的完整路径
[root@lovelace scripts]# which ls
alias ls='ls --color=tty'
/bin/ls
#使用ldd命令查看ls所依赖的库文件(这里需要用到ls的完整路径)
[root@lovelace scripts]# ldd /bin/ls
linux-gate.so.1 => (0x00cf8000)
librt.so.1 => /lib/librt.so.1 (0x00d8d000)
libacl.so.1 => /lib/libacl.so.1 (0x00d62000)
libselinux.so.1 => /lib/libselinux.so.1 (0x00de0000)
libc.so.6 => /lib/libc.so.6 (0x00110000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00d71000)
/lib/ld-linux.so.2 (0x00baf000)
libattr.so.1 => /lib/libattr.so.1 (0x003a9000)
libdl.so.2 => /lib/libdl.so.2 (0x00d55000)
libsepol.so.1 => /lib/libsepol.so.1 (0x00d98000)

whereis:与which类似,而且会额外的给出给出该命令的man页的完整路径

#使用whereis查看命令的完整路径和相应的man文件
[root@lovelace scripts]# whereis ls
ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz
#man 查看对应的文件
[root@lovelace scripts]# man 1 ls
#man 查看对应的文件
[root@lovelace scripts]#
[root@lovelace scripts]# man 1p ls

whatis:将会在whatis数据库中查询file,当你想确认系统命令和重要的配置文件的时候,这个命令就非常重要了,可以当做一个简单的man命令。
[root@lovelace scripts]# whatis ls
ls (1) - list directory contents
ls (1p) - list directory contents

总结:之前面对which、whatis、whereis的时候,总是犯糊涂,这几个命令的作用老是给搞混,所以特此留记,以防止在搞混,另外,find命令对我们的运维工作至关重要,尤其是针对服务器被入侵之后,文件是否被篡改有着非同一般的功效。

"Linux查找命令与find命令的详细介绍"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

文件 命令 目录 路径 精确 大小 数据 数据库 时间 权限 字符 标准 重要 文件名 时候 速度 之间 作用 内容 单位 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网 科技公司 互联网与新科技 中国互联网科技发展 成都互联网科技公司 北京禾田雨橡互联网科技 上海万想互联网科技 互联网科技博客 上海亿帐通互联网科技 多迪互联网科技有限公司 四个字互联网科技公司取名 互联网公司会议桌创意科技软装饰 富国互联网科技创新基金 互联网汽车科技小镇 昭通云南众福互联网科技有限公司 杭州壁岐互联网科技有限公司 福州德业互联网科技 互联网领先科技活动 互联网金融金融科技 重庆科技产业互联网有哪些 每日互联网科技新闻 金融科技与互联网金融 中国互联网科技发展 天津摩尔互联网科技 央行互联网金融科技公司 注册互联网科技公司经营范围大全 互联网科技研发水平 烟台灵鸽互联网科技有限公司 山东有哪些互联网科技公司 锡山区互联网智能科技产品供应 山东大美朱楼互联网科技有限公司
0