我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Linux上的文件搜索命令实例详解

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Linux上的文件搜索命令实例详解

locate

基础了解

在centos7上默认没有locate命令,需要先手动安装。安装步骤:http://www.cnblogs.com/feanmy/p/7676717.html

locate命令搜索的后台数据库路径:/var/lib/mlocate/mlocate.db


ls -hl /var/lib/mlocate
total 1.2M
-rw-r----- 1 root slocate 1.2M Oct 16 14:36 mlocate.db

更新数据库使用updatedb,配置文件为/etc/updatedb.conf


# 开启搜索限制
PRUNE_BIND_MOUNTS = "yes"
# 不搜索的文件系统
PRUNEFS = "9p afs anon_inodefs auto autofs bdev binfmt_misc cgroup cifs coda configfs cpuset debugfs devpts ecryptfs exofs fuse fuse.sshfs fusectl gfs gfs2 gpfs hugetlbfs inotifyfs iso9660 jffs2 lustre mqueue ncpfs nfs nfs4 nfsd pipefs proc ramfs rootfs rpc_pipefs securityfs selinuxfs sfs sockfs sysfs tmpfs ubifs udf usbfs"
# 不搜索的文件类型
PRUNENAMES = ".git .hg .svn"
# 不搜索的文件路径
PRUNEPATHS = "/afs /media /mnt /net /sfs /tmp /udev /var/cache/ccache /var/lib/yum/yumdb /var/spool/cups /var/spool/squid /var/tmp"

命令选项

了解一个命令可以使用man,如 man locate,可以显示locate相关的选项。这里只介绍几个常用选项
-c, --count 只输出找到的数量
-i, --ignore-case 忽略大小写
-q, --quiet 安静模式,不会显示任何错误讯息
-r, --regexp REGEXP 使用基本正则表达式
--regex 使用扩展正则表达式
-n 结果中显示n个文件

使用示例

1、locate /etc/pro :查询出/etc目录下所有以pro开头的文件


locate /etc/pro
/etc/profile
/etc/profile.d
/etc/protocols
/etc/profile.d/256term.csh
/etc/profile.d/256term.sh
/etc/profile.d/colorgrep.csh
/etc/profile.d/colorgrep.sh
/etc/profile.d/colorls.csh
/etc/profile.d/colorls.sh
/etc/profile.d/lang.csh
/etc/profile.d/lang.sh
/etc/profile.d/less.csh
/etc/profile.d/less.sh
/etc/profile.d/vim.csh
/etc/profile.d/vim.sh
/etc/profile.d/which2.csh
/etc/profile.d/which2.sh

2、locate -c /etc/pro :显示匹配到的文件数


locate -c /etc/pro
17

3、locate -i topoftencent.class.php :忽略文件名大小写


locate -i topoftencent.class.php
/var/www/html/fxyxManage/Spider/TopOfTencent.class.php

虽然文件名大小写不一致,但使用-i选项依然能匹配出

find

基础了解

使用find进行文件查找的速度要慢于locate,但是功能及参数要强于locate。在使用find时,要避免大范围的搜索

命令选项

这里介绍常用选项,其他选项可通过man find了解


-name  filename       #查找名为filename的文件
-iname filename       #查找文件filename,不区分大小写
-gid  n           #查找属组gid为n的文件
-user  username       #按文件属主来查找
-group  groupname      #按组来查找
-mtime  -n +n        #按文件更改时间来查找文件,-n指n天以内,+n指n天以前
-atime  -n +n        #按文件访问时间来查GIN: 0px">
-ctime  -n +n        #按文件创建时间来查找文件,-n指n天以内,+n指n天以前
-nogroup           #查无有效属组的文件,即文件的属组在/etc/groups中不存在
-nouser            #查无有效属主的文件,即文件的属主在/etc/passwd中不存
-newer  f1 !f2        #查更改时间比f1新但比f2旧的文件
-type             #查是块设备、目录、字符设备、管道、符号链接、普通文件
-size   n[c]        #查长度为n块[或n字节]的文件

使用示例

1、find /etc -name profile:在/etc目录下查找名为profile的文件


[root@iZwz985sjvpojho4jlms7lZ ~]# find /etc -name profile
/etc/profile

2、find / -user mysql :在根目录下查找属主为mysql的文件


[root@iZwz985sjvpojho4jlms7lZ ~]# find / -user apache
/proc/29936/task
/proc/29936/task/29936
/proc/29936/task/29936/attr
/proc/29936/net
/proc/29936/attr
/proc/29937/task
/proc/29937/task/29937
/proc/29937/task/29937/attr
/proc/29937/net
/proc/29937/attr
......

查看/proc/29936/task的文件属性


[root@iZwz985sjvpojho4jlms7lZ ~]# ll /proc/29936/task
total 0
dr-xr-xr-x 6 apache apache 0 Oct 16 14:12 29936 # 属主为apache

3、find /var/lib -group apache : 在/var/lib下根据属组apache查找文件


[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/lib -group apache
/var/lib/dav
/var/lib/php/session
/var/lib/php/session/sess_7vtaesehg11f45ljrsh98k3s57
/var/lib/php/session/sess_uubh9p4tvc1mohopepndg9m3d3
/var/lib/php/session/sess_aovaqofcs4918vsl0mhquf79a7
/var/lib/php/session/sess_pm8lgnn78c9jh54umjnk0gsu14
/var/lib/php/session/sess_i1tc9i6n0chddlfp250oqun8f2
/var/lib/php/session/sess_2c1vrgb6lqgifg7lruaoq5u6s2
/var/lib/php/session/sess_3vc0gbkpl1m4hb2h5mr7nbgvk4
/var/lib/php/session/sess_rditv2odgr4vg7jmdu8sfvdm90
/var/lib/php/session/sess_a6m2fkh0cel9uf7tqo48qmphs5
/var/lib/php/session/sess_eierot422pov01ognbjo2dkqv1
/var/lib/php/session/sess_1ei3jbop7osama4m375qrsqqc5
/var/lib/php/session/sess_vovl6rrmb66a570dncpgp49p22
/var/lib/php/session/sess_6ef5d9r6fhatqie8apr28odgn0
/var/lib/php/session/sess_1o1rv6o963v3nr5sdui3hodll0

4、find /var/www -mtime -2 : /var/www目录下在2天以内修改过的文件


[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/www -mtime -2
/var/www/html/fxyxManage/Application/Runcache/Cache/Admin/b595b808c2ebeeeb0478ffc30bb4e87a.php
/var/www/html/fxyxManage/Application/Runcache/Cache/Admin/e82f9209c88dd6a459bf8b3d6299d38c.php
/var/www/html/fxyxManage/Application/Runcache/Cache/Admin/dfa8fa69d0f81d1ba09048823f5e779b.php
/var/www/html/fxyxManage/Application/Runcache/Cache/Admin/3fd17d8cbb99d40eed8370916fbba7bf.php
/var/www/html/fxyxManage/Application/Runcache/Cache/Admin/32ec6c906c117a7c2bf504769276d87a.php
/var/www/html/fxyxManage/Application/Runcache/Logs/Weixin

选项-atime、-ctime的用法同-mtime

5、find /etc/httpd -type d:查找/etc/httpd下的目录,-type根据文件类型查找


[root@iZwz985sjvpojho4jlms7lZ ~]# find /etc/httpd -type d
/etc/httpd
/etc/httpd/conf
/etc/httpd/conf.modules.d
/etc/httpd/conf.d

6、find /var/www -iname topoftencent.class.php :开启不区分文件名大小写查找


[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/www -iname topoftencent.class.php
/var/www/html/fxyxManage/Spider/TopOfTencent.class.php

7、find /var/lib/mysql -gid 27:查找属组id为27的文件


[root@iZwz985sjvpojho4jlms7lZ ~]# find /var/lib/mysql -gid 27
/var/lib/mysql/auto.cnf
/var/lib/mysql/ibdata1
/var/lib/mysql/ib_logfile0
/var/lib/mysql/performance_schema
/var/lib/mysql/performance_schema/accounts.frm
/var/lib/mysql/performance_schema/threads.frm
......

总结

以上所述是小编给大家介绍的Linux上的文件搜索命令实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对编程网网站的支持!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Linux上的文件搜索命令实例详解

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Linux上的文件搜索命令实例详解

locate 基础了解 在centos7上默认没有locate命令,需要先手动安装。安装步骤:http://www.cnblogs.com/feanmy/p/7676717.html locate命令搜索的后台数据库路径:/var/lib/
2022-06-04

Linux文件查询与搜索命令详解

这篇文章主要讲解了“Linux文件查询与搜索命令详解”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Linux文件查询与搜索命令详解”吧!1、命令 findfind 命令用于在目录结构中查找文
2023-06-16

Linux中的搜索文件命令

文件搜索命令locate:搜索快,新建文件无法搜索; 命令格式: locate 文件名 //在后台数据库中按文件名搜索,搜索速度快; /var/lib/mlocate : locate命令所搜索的后台数据库 命令:updatedb //
2022-06-04

Linux中搜索文件命令的示例分析

小编给大家分享一下Linux中搜索文件命令的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!文件搜索命令locate:搜索快,新建文件无法搜索;命令格式:
2023-06-09

Centos文件搜索命令的详细介绍

本篇内容介绍了“Centos文件搜索命令的详细介绍”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、locate--->文件查找事先生成的数
2023-06-10

Linux中文件搜索命令有什么用

这篇文章将为大家详细讲解有关Linux中文件搜索命令有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。locate基础了解在centos7上默认没有locate命令,需要先手动安装。安装步骤:http
2023-06-09

Linux命令行实现文件内容搜索优化策略

在Linux命令行中,有多种方法可以实现文件内容搜索使用grep命令:grep是一个非常强大的文本搜索工具,可以根据正则表达式搜索文件内容。为了提高搜索速度,你可以使用grep的并行搜索功能。例如,使用grep -P -n -r --col
Linux命令行实现文件内容搜索优化策略
2024-09-24

Linux中如何使用grep命令搜索文件名

这篇文章将为大家详细讲解有关Linux中如何使用grep命令搜索文件名,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。从文件中搜索并显示文件名当你从不止一个的文件中搜索时,默认它将显示文件名:
2023-06-12

Linux命令行进行文件内容搜索优化

在Linux命令行中,可以使用grep、find、xargs等工具进行文件内容搜索使用grep命令的-i选项进行不区分大小写的搜索:grep -i 'search_pattern' file.txt使用grep命令的-r选项进行递归搜索:
Linux命令行进行文件内容搜索优化
2024-09-25

linux less命令实例详解

less 文件名查看文件less 文件名 | grep -n 查找内容根据内容过滤显示,并显示行号less +行号g 文件名查看文件,并定位到某行d 向下翻页u向上翻页g跳到首行G跳到底部 查找内容向上查找/ 查找内容 向下查找n下一个N上
2022-06-03

Linux基础命令last 命令实例详解

linux last命令用于显示系统开机以来获是从每月初登入者的讯息。使用权限:所有使用者。 last 显示以前登录过的用户信息,last指令会搜索/var/log/wtmp文件(或者是经过-f选项指定的文件),然后列出
2022-06-04

查看linux文件的命令详解

怎么查看linux文件 查看文件内容的命令:cat 由第一行开始显示内容,并将所有内容输出tac 从最后一行倒序显示内容,并将所有内容输出more 根据窗口大小,一页一页的现实文件内容less 和more类似,但其优点可以往前翻页,而且进行
2022-06-04

linux文件搜索及其它基础命令介绍(3)

1、linux中包含大量的文件,对于文件查找,linux提供了find命令。find是一个非常有效的工具,它可以遍历目标目录甚至整个文件系统来查找某些文件或目录: find [path...] [expression]其中expressio
2022-06-04

Linux链接命令的实例详解

Linux链接命令的实例详解 一 语法ln -s [源文件] [目标文件] 命令英文含义:link 功能描述:生成链接文件 选项:-s 创建软链接 二 硬链接特征原文件和硬链接文件删除其中任何一个都没问题。三 硬链接实战[root@loca
2022-06-04

linux lsof命令详解及实例

linux lsof命令详解 简介 lsof(list open files)是一个列出当前系统打开文件的工具。在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件。所以如传输控制协议 (
2022-06-04

Linux中mysqldump命令实例详解

mysqldump是mysql数据库中备份工具,用于将MYSQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中。 语法: mysqldump (选项) 选项: --add-drop-table :在每个创建数据表语句前添加删
2022-06-04

详解Linux命令与文件查找

一、执行文件名查找which(查找‘执行文件') //根据PATH环境变量所规范的路径查询 which [-a] command //其中参数-a是指列出找到所有命令,而非只显示找到的第一个 例如:which ifcon
2022-06-04

Android的搜索框架实例详解

基础知识 Android的搜索框架将代您管理的搜索对话框,您不需要自己去开发一个搜索框,不需要担心要把搜索框放什么位置,也不需要担心搜索框影响您当前的界面。所有的这些工作都由SearchManager类来为您处理(以下简称“搜索管理器”),
2022-06-06

编程热搜

目录