Linux 查找文件(find命令/locate命令)

目录

一、find——快速在指定范围内查找文件

find和xargs结合使用很方便:

二、更快速地定位文件——locate命令


一、find——快速在指定范围内查找文件

基本语法如下:

find 【option】【path】【expression】

例如:希望在/usr/bin/目录下查找zip文件:

find  /usr/bin/ -name zip -print

从上面的例子我们可以看出以下三点:

find命令需要一个路径作为查找的范围,所以要查找整个文件系统的话,直接指定“/”即可。

-print表示将结果输出标准输出也就是我们看到的屏幕上。

-name选项指定了文件名,可以结合通配符使用,比如-name *.c就是列出该目录下的所有c程序文件。-name的还可以换成其他参数,如下:

示例1 将当前目录及其子目录所有最近 20 天内更新过的文件列出:

# find . -ctime  20 -print 

示例2:如果出现权限不够,find前面加个sudo就可以了 

如下就看到文件在哪里了: 

find命令还可以指定文件的类型,在linux中,包括目录和设备都以文件的形式表现,可以使用-type选项来定位特殊的文件类型。例如在/etc/目录中查找名叫init.d的目录:

find /etc/ -name init.d -type d -print

-type后可跟的参数如下:

b块设备文件
d目录文件
c字符设备文件
f普通文件
p命名管道
l符号链接
ssocket

find和xargs结合使用很方便:

//比如下面这条命令的意思就是找出名字为“202301”开头的文件,然后删除
sudo find -type d -name "202301*" -print0 |xargs -0 rm -rf

xargs的作用就是可以让命令行同时执行两条语句

比如这样子:

find / -perm +700 |ls -l       #这个命令是错误的
find / -perm +700 |xargs ls -l   #这样才是正确的

根据文件的修改时间,删除5天前的文件

find ./ -mtime +5 |xargs rm -rf

二、更快速地定位文件——locate命令

当用户完全不记得自己的文件放在哪里的时候。可以用locate命令示例:

locate *.ini

或者locate 文件名 

搜索结果非常快。

locate工作原理:locate并没有进入到子目录搜索,而是通过检索文件名数据库来确定文件的位置。locate命令自动建立整个文件名数据库,不需要用户插手。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咸鱼2333号程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值