问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

详解Linux中查找目录和文件的find和locate命令

发布网友 发布时间:2022-04-21 10:53

我来回答

1个回答

热心网友 时间:2023-10-19 06:23

find
find 路径 -命令参数 [输出形式]
参数说明:
路径:告诉find在哪儿去找你要的东西,
命令参数:参数很多下面会说到
输出形式:输出形式很多,-print,-printf,-print0,-exec,-ok,-ls反正很多自己看手册吧。
说一下exec,
-exec find命令对匹配的文件执行该参数所给出的其他linux命令。相应命令的形式为' 命令 - and' {} ;,注意{ }和;之间的空格。
-ok 和- exec的作用相同,只不过和会人交互而已,OK执行前会向你确认是不是要执行。
find命令主要参数:
-name 按照文件名查找文件。
-perm 按照文件权限来查找文件。
-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。
-user 按照文件属主来查找文件。
-group 按照文件所属的组来查找文件。
-mtime -n +n 按照文件的更改时间来查找文件, -n表示文件更改时间距现在n天以内,+n表示文件更改时间距现在n天以前。find命令还有-atime和-ctime选项,但它们都和-mtime选项
相似,所以我们在这里只介绍-mtime选项。
-nogroup 查找无有效所属组的文件,即该文件所属的组在/etc/groups中不存在。
-nouser 查找无有效属主的文件,即该文件的属主在/etc/passwd中不存在。
-newer file1 ! file2 查找更改时间比文件file1新但比文件file2旧的文件。
-type 查找某一类型的文件,诸如:
b - 块设备文件。
d - 目录。
c - 字符设备文件。
p - 管道文件。
l - 符号链接文件。
f - 普通文件。
s - socket文件
-size n[c] 查找文件长度为n块的文件,带有c时表示文件长度以字节计。
-depth 在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找。
-maxdepth 查找最大目录层数 如 1,即只查找一层目录
-fstype 查找位于某一类型文件系统中的文件,这些文件系统类型通常可以在配置文件
/etc/fstab中找到,该配置文件中包含了本系统中有关文件系统的信息。
-mount 在查找文件时不跨越文件系统mount点。
-follow 如果find命令遇到符号链接文件,就跟踪至链接所指向的文件。
-cpio 对匹配的文件使用cpio命令,将这些文件备份到磁带设备中。
例:
a,通过名字来查找
代码如下:
[zhangy@BlackGhost ~]$ find ~ -name memcached.pid -print #查找home目录下文件名为memcache.pid的文件
/home/zhangy/memcached/memcached.pid
[zhangy@BlackGhost ~]$ find . -name "*.pid" -print #.代表当前目录,查找所有以pid结尾的文件
./memcached/memcached.pid
./.tencent/qq/95219454.pid
[zhangy@BlackGhost ~]$ find ~ -name "[0-9]*.pid" -print #查找以数字开头的所有pid文件,在这里要说[0-9]*不能匹配23,它跟一般的语言类正则不太一样,shell里面的*可以代表一切字符(单个,多个都行),如果想匹配2345只能这样写[0-9][0-9][0-9][0-9]
/home/zhangy/.tencent/qq/95219454.pid
[zhangy@BlackGhost ~]$ find /home/zhangy/.tencent/ -name "[0-9]*.pid" -print #在.tencent文件夹下面找pid文件
/home/zhangy/.tencent/qq/95219454.pid
b,通过文件权限来查找
代码如下:
[zhangy@BlackGhost css]$ find ~ -perm 755 -print |more #~代表的是$home目录,查找权限为755的文件
/home/zhangy/www/css2/c_textshadow.html
/home/zhangy/www/css2/c_textautospace.html
[zhangy@BlackGhost css]$ find . -perm 700 -name "u_*" -print |more #查找所有以产u_开头的,并且权限为700的文件
./css2/u_length_cm.html
./css2/u_length_px.html
c,prune来忽略目录来查找
代码如下:
[zhangy@BlackGhost download]$ find . -name "*.gz" -prune -o ( ! -name aaa ) -print #查找在前目录中,不在以aaa结尾的目录中的,不以gz结尾的文件
.
./eaccelerator-0.9.5.3.tar
./fix-crash-in-excerpts.patch
./AddFeed_Widget_WordPress_Plugin.zip
./jQuery china-addthis plugin 1.07.rar
d,根据文件类型来查找文件
代码如下:
[zhangy@BlackGhost download]$ find . -type d -print #查找当前目录下面的目录
.
./ddd
[zhangy@BlackGhost download]$ find . ! -type d -print #找当前目录下面的非目录文件
./eaccelerator-0.9.5.3.tar
./haproxy-1.3.15.7.tar.gz
./fix-crash-in-excerpts.patch
e,根据文件所属用户和用户组来找文件
代码如下:
[zhangy@BlackGhost download]$ find . -nouser -print #查找当前目录中,没有归属的文件
[zhangy@BlackGhost download]$ find /home/zhangy/download -user zhangy -group users -print #查找用户组为users,所属用户为zhangy的文件
/home/zhangy/download
/home/zhangy/download/eaccelerator-0.9.5.3.tar
/home/zhangy/download/haproxy-1.3.15.7.tar.gz
f,根文件大小来查找
代码如下:
[zhangy@BlackGhost download]$ find /home/zhangy/download -size +1000000c -print #查找文件大小大于1000000字符的文件,注意+号表示大于
/home/zhangy/download/eaccelerator-0.9.5.3.tar
/home/zhangy/download/mmseg-0.7.3.tar.gz
[zhangy@BlackGhost download]$ find /home/zhangy/download -size -10 -print #查找文件大小小于10块的文件,注意-号表示小于,一块等于512b
/home/zhangy/download
/home/zhangy/download/fix-crash-in-excerpts.patch
/home/zhangy/download/test.sql.zip
g,根文件的修改时间来查找
代码如下:
[zhangy@BlackGhost download]$ find /home/zhangy -mtime -5 -print #5天修改过的文件,- 表示以内
/home/zhangy/www/css2/c_textshadow.html
/home/zhangy/www/css2/c_textautospace.html
[zhangy@BlackGhost download]$ find /home/zhangy -mtime +5 -print #查找5天前修改过的文件,+表示以前
/home/zhangy/www/test.php
[root@vmx14420 www]# find ./ -mmin -5 -print #查找5分钟以内修改过的文件
./cache/index.html
h,exec解释
代码如下:
[zhangy@BlackGhost download]$ find . -type f -size +1000000c -exec ls -al {} ; #显示当前目录下面所有大于1000000的文件,exec后面执行了一个命令,{}这个代表文件名
-rw-r--r-- 1 zhangy users 3624960 2009-03-08 ./eaccelerator-0.9.5.3.tar
-rw-r--r-- 1 zhangy users 3091711 12-18 13:48 ./mmseg-0.7.3.tar.gz
-rw-r--r-- 1 zhangy users 1191330 2009-06-26 ./pcre-7.9.tar.gz
i,匹配
代码如下:
[tank@localhost workspace]$ find ./database/ -name '*.sql' -print #查找以sql结尾的文件
./database/28toplearning.sql
[tank@localhost workspace]$ find ./database/ -name '*.sql*' -print #查找文件名包括sql文件
./database/28toplearning.sql
[tank@localhost workspace]$ find ./database/ -name '28*' -print #查找以28开头的文件
./database/28toplearning.sql
locate
用法: locate [OPTION]... [PATTERN]...
在mlocate数据库中搜索条目.
-b, --basename 匹配唯一的路径名称的基本文件名
-c, --count 只显示找到条目的号码
-d, --database DBPATH 用 DBPATH 替代默认的数据库(/var/lib/mlocate/mlocate.db)
-e, --existing 只显示当前存在的文件条目
-L, --follow 当文件存在时跟随蔓延的符号链接 (默认)
-h, --help 显示本帮助
-i, --ignore-case 匹配模式时忽略大小写区别
-l, --limit, -n LIMIT *为 LIMIT项目的输出 (或 计数)
-m, --mmap 忽略向后兼容性
-P, --nofollow, -H 当检查文件时不跟随蔓延的符号链接
-0, --null 输出时以 NUL 分隔项目
-S, --statistics 不搜索项目,显示有关每个已用数据库的统计信息
-q, --quiet 不报告关于读取数据库的错误消息
-r, --regexp REGEXP 搜索基本正则表达式 REGEXP 来代替模式
--regex 模式是扩展正则表达式
-s, --stdio 忽略向后兼容性
-V, --version 显示版本信息
-w, --wholename 匹配完整路径名 (默认)
例:
代码如下:
[root@localhost ~]# locate ~/install #查找当前目录下以install开头的文件
/root/install.log
/root/install.log.syslog
[root@localhost ~]# locate -i ~/install #查找当前目录下以install开头的文件,不区分大小写
/root/install.log
/root/install.log.syslog
[root@localhost ~]# locate -i /etc/fuc #查找/etc目录下面以fuc开头的文件,不区分大小写
linux搜索文件

在Linux系统中,可以使用多种命令来搜索文件。最常用的命令包括`find`、`locate`和`grep`。详细解释:1. 使用`find`命令搜索文件 `find`命令可以在目录树中查找文件,并基于文件名、文件类型、权限等条件进行搜索。基本语法为:lua find [路径] -name "文件名"例如,要在`/home`目录下搜索名为`exa...

详解Linux中查找目录和文件的find和locate命令

-name 按照文件名查找文件。-perm 按照文件权限来查找文件。-prune 使用这一选项可以使find命令不在当前指定的目录中查找,如果同时使用了- depth选项,那么-prune选项将被find命令忽略。-user 按照文件属主来查找文件。-group 按照文件所属的组来查找文件。-mtime -n +n 按照文件的更改时间来查找文件...

Linux下的查找命令——find、locate、whereis、which、grep

首先,find命令是Linux中强大的文件查找工具。基本用法为:find 查找目录 查找条件 指定动作。例如,find / -name findfile 可在根目录下查找名为findfile的文件。find默认搜索当前目录及所有子目录,但索引库并非实时更新,新文件可能无法立刻找到,这时需要手动更新索引库,通过updatedb。相比之下,locate命...

linux 查找文件命令

1、find。find是最常见和最强大的查找命令,你可以用它找到任何你想找的文件。2、locate。locate命令其实是find-name的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库,这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次。3、whereis。

搜索Linux 中的文件和文件夹的四种简单方法

1. find命令是Linux搜索文件和文件夹的常用工具,它支持多种条件,如大小、类型、权限等。例如,查找所有以.config结尾的文件,或查找空文件夹。2.locate命令比find更快,它基于updatedb数据库。尽管可能需要手动更新数据库,但它能快速定位文件。搜索ssh文件夹或ssh_config文件只需运行特定命令即可。3.whi...

Linux查找find命令全面剖析

locate命令是一个非实时查找工具,它利用预先建立的数据库来查找文件,这种方式适用于查找大量文件,但更新数据库需额外步骤。1.2 find命令 find命令提供实时查找功能,能够根据指定条件在文件系统中搜索文件,它更为灵活且直接。find命令详解 2.1 根据文件名查找 通过指定文件名或通配符搜索文件。2.2 根据...

linux的locate命令和find命令的区别

Linux为locate命令在/var/lib/mlocate目录专门有一个文件信息的数据库,用locate命令查找文件时,其实是在这样的数据库中查找。所以locate命令和find命令的区别就是,locate命令查找文件在数据库中查找,查找的速度非常快,几乎是马上列出结果;而find命令查找时则是直接查找硬盘上的文件,查找的速度相应的...

Linux系统下查找文件命令总结

1. which:这个命令用于查找并显示给定命令的绝对路径,包括环境变量PATH中的路径。2. whereis:专用于定位指令的二进制程序、源代码和手册页,适合快速定位程序名。3. locate:虽然能快速找到本地文件,但搜索的是缓存的数据库,需通过updatedb手动更新以获取最新变动。4. find:是查找文件的全能工具,...

Linux文件查找命令详解——以CentOS为例

一、常用文件查找命令 find命令是Linux中最强大的文件查找工具,可以根据不同的条件(如文件名、文件类型、文件大小、修改时间等)在目录树中查找文件。示例:在/home目录下查找名为example.txt的文件:locate命令基于一个预先构建的数据库进行文件查找,因此速度非常快。但需要注意的是,它的数据库是定期...

linux 使用find和locate命令查找/目录下所有已main开头的文件,并显示...

1、打开shell连接抄工具,连接上服务器,pwd查看当前目录,一般进来默认在主目录下。2、通过命令:cd /切换到主目录下,然后pwd查看当前目录,并用ls可以查看当前目录下的文件及目录。3、假如要找一个nginx配置文件nginx.conf,那么可以通过find命令查找:find . -name 'nginx.conf'。4、假如不知道文件...

linux查找文件命令find linux find查找目录 linux中find不查子目录 linux find 查找文件夹 find查找子目录下文件 find命令查找文件路径 find命令查找文件名 shell find 查找文件 linux find 排除目录
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
惠州市中级人民法院机构设置 小米6x黑屏无法唤醒 PPT无法打开ppt无法打开需要修复 红薯和红糖一起煮好吗 红薯能不能和红糖一起吃吗 红薯与红糖一起煮好吗 盗汗醒后感觉上半身热出汗、嘴干、但腿脚冷怎么办 ...上半身总是出汗,感觉很热是什么原因。 屁股以上一直到头部出汗特别厉害,而两条腿却冷飕飕的,不能招风怎么办... 上半身爱出汗,下半身不爱出汗,冬天手脚冰凉,有些便秘,这属于什么体质... 打印机清洗喷头 怎样清洁浴室喷头 怎样清洗打印机喷头 怎样清洗淋浴喷头 如何清洗喷头 淋浴喷头怎么清洗 酸辣粉怎么做 如何做酸辣粉好吃 鲜辣椒如何磨成粉 小米11屏幕一会亮一会暗是怎么回事? 自己做油炸辣椒面,怎样才能做的微辣又很香? 超香辣椒粉怎么做好吃又简单,做法图解分 买了辣椒粉应该要怎么做才能做成很香的辣椒酱 买的生辣椒粉怎么制作成干辣椒粉? 细辣椒粉可以做辣椒油么 辣椒粉的制作方法 怎么把辣椒加工成细粉末 冰淇淋放在零度保鲜会融化吗 蜜雪冰城冰淇淋放在冰箱里面可以放第二天吗? 冰激凌为什么放在冰箱里会变硬 东北不需要冰箱,冰淇淋可以直接放在阳台上是真的吗? 如何用find命令查找某目录下的非隐藏文件 linux find命令在哪个目录 linux find能搜索文件里面的内容吗? linux/查找一个目录的linux命令 使用什么软件能把PDF格式的文件转化为WORD文件? pdf转换成word需要什么软件? pdf怎样转化成word文档?使用什么软件好? 佳能TS308打印机墨盒记忆功能怎么清除? 佳能打印机3380计数器怎么清零 佳能ts308怎么清除密码 求:佳能MX308墨盒清零方法 佳能打印机ts308怎么恢复出厂设置 ts3300打印机加完墨怎么清零 佳能TS308打印机怎样重置网络 佳能打印机一直交替闪黄灯绿灯怎么办? 佳能ts3180恢复出厂设置 佳能ts308恢复键是哪个 佳能打印机TS308红绿灯交替闪烁怎么办? 不拆机换A95外屏玻璃 手机外屏怎么拆下来