搜索文件是运维工程师日常工作必备的技能之一,当在Linux服务器上工作时,需要经常借助查找文件快速搜索,提高工作效率,今天凡亿教育将分享关于如何在Linux上查找文件和目录,希望对小伙伴们有所帮助。
拒绝复杂理论知识,专注代码实际操作
选择《嵌入式Linux核心教程》
也可选择《Linux高级驱动开发》
1、find命令
find是Linux上使用频率最高的命令,可用于搜索Linux中的文件和文件夹,原理是在当前目录中搜索给定文件,并根据搜索条件递归地遍历其子目录。同时它也允许用户根据文件名称、、文件所有者、文件类型等条件来执行所有类型的文件搜索,具体用法如下:
①查找具体文件名对应的文件或目录
#find -name "test1" //test1是文件名
②通过扩展文件名查找文件
#find -name "*.txt"
③通过文件类型查找文件
#find .-type f -name ".txt"
#find .-type d -name ".tt"
④通过文件大小查找文件
#find .-type f -size 1M //查找1M以内的文件
⑤通过文件权限查找文件
#find .-type f -perm 1M
⑥查找空文件及空目录
#find .-empty
⑦查找包含特定内容的文件
find .-type f -exec grep "凡亿教育|T"'{}'\;-print
2、locate命令
locate命令执行速度比find命令快,find命令是在系统中搜索,而locate命令是通过数据库搜索。一般来说,大多数林旭发行版未预安装locate命令,因此使用locate命令前需要用分发包管理器进行安装。数据库通常是通过cron定期更新,但可通过如下命令手动更新:
#sudo updatedb
执行以上命令提示仍未找到该命令,执行如下命令安装:
#sudo yum install mlocate
locate命令无需指定特定选项即可查找给出的文件或文件夹:
#locate --basename '\ssh'
3、which命令
which命令返回在终端中输入命令时将执行的可执行文件的完整路径。
which命令可搜索当前用户的path环境变量中列出的目录(登录到自己的用户并且无法搜索root用户文件或目录时):
#which vi
4、whereis命令
whereis常用于在二进制文件、源文件和手册页文件中搜索给定命令。
#whereis 给定命令
总的来说,要查找全面,选择find命令;要快速查找,选择locate命令;要查找特定文件,选择which和whereis命令。
欲了解更多的Linux命令,可关注凡亿课堂。