Linux文件检索


title: Linux文件检索
date: 2017-12-11 19:03:01
tags: linux
categories: linux


whereis

只要执行

whereis ls

就可以搜索到“ls”命令和它的帮助文档的位置。
但它只能搜索man手册、二进制文件和源代码文件。

which

which是一个比whereis更简单的命令,通常用来判断是否安装某个软件,它只在$PATH环境变量中指定的路径中搜索

$ which pacman
/usr/bin/pacman

find

最强大的搜索命令
find []path...] [expression]

-print 输出检索结果
-exec 对匹配的文件执行shell命令

比如要搜索3天前当天发生变化的所有文件

$ find / -mtime 3

搜索3天内发生变化的所有文件

$ find / -mtime -3

搜索3天以前发生变化的所有文件

$ find / -mtime +3

类似的查找条件还有

参数作用
-user username按所有者名查找
-group gname文件属于gname
-nouser文件没有有效的所有者,即文件的
-name filename按文件名检索
-atime n最近访问时间(天)
-amin n最近访问时间(分钟)
-anewer file最近访问时间(比file修改时间要晚)
-ctime n按文件创建时间查找
-mtime n按文件修改时间查找
-empty空文件或空目录
-size n按照文件大小查找
-type b/c/d/p/f/l/s/查找块文件/字符文件/目录/命名管道/普通文件/符号链接/套接字
-maxdepth n最大查找深度
-mindepth n最小查找深度
-prune pathname忽略一个目录

例如要在test目录下查找不在test4目录下的文件

$ find test -path "test/test4" -prune -o -print

-o 可以理解为or
上述表达式的伪码表述是

if -path == "test/test4"
    -prune
else
    -print

-exec是要对找到的文件执行的动作

find . -mtime -1 -exec ls -l {} \;

上述命令列出当前目录下一天内变化的文件的详细信息,ls -l很容易理解,{}是一个占位符,在find执行过程中不断替换为当前找到的文件,后面的exec结束的标记,而\ 是转义字符。

转载于:https://www.cnblogs.com/lepeCoder/p/8025054.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值