find 命令
前言
如果想查找某个文件,但是只知道该文件的文件名(甚至是一些关键字),却忘记了在哪个文件夹,find 命令帮助你解决在 Linux 查找文件的一切烦恼。
教程说明
名为 test.cfg 在 /home/xhtang/test.cfg 目录下,假设现在不记得 test.cfg 存放的路径。
演示环境 Linux 发行版
Ubuntu 20.10
demo1
指令:
find / -name test.cfg
xhtang@h1:~$ find / -name test.cfg
find: ‘/etc/sssd’: Permission denied
find: ‘/etc/ssl/private’: Permission denied
find: ‘/etc/polkit-1/localauthority’: Permission denied
find: ‘/etc/cups/ssl’: Permission denied
find: ‘/etc/firewalld’: Permission denied
/home/xhtang/test.cfg
find: ‘/tmp/systemd-private-2651c452a33444e28ebdedbb50918a3e-fprintd.service-2Cl7Kg’: Permission denied
find: ‘/tmp/tracker-extract-files.126’: Permission denied
……
xhtang@h1:~$ sudo find / -name test.cfg
[sudo] password for xhtang:
/home/xhtang/test.cfg
root@h1:/home/xhtang$ find / -name test.cfg
/home/xhtang/test.cfg
demo2
指令:
find / -name test.cfg 2>/dev/null
xhtang@h1:~$ find / -name test.cfg 2>/dev/null
/home/xhtang/test.cfg
demo3
指令:
find /home -name '*test.c*'
xhtang@h1:~$ find /home -name '*test.c*'
/home/xhtang/test.cfg
/home/xhtang/apitest.c
总结
root 权限执行 demo1 和 demo2 是在整个系统中查找,耗时比较久。如果记得在一级目录,参考 demo3 可以通过 find /filename 指定在哪个一级目录下查找,提高查询效率。模糊查询参考 demo3,通过 “ * ” 实现。