Linux系列——【文档查找】——02

##上一篇的文件唯一标识号写错了,应该是"inode"
【承上启下】【场景驱动】
1、在当前目录下,我已经知道如何创建目录中存在的文件,那么如果当前目录文件太多时,怎么快速找到我想要的文件呢?
#find PATH [condition] >此命令可用于快速查找目标目录下符合选项的文件,常结合以下选项进行快速查找

  1. -name >此选项可用于根据文件名进行文件查询

find /root/* -name 10*

/root/script/mg/100_sum.sh

  1. -size >此选项可用于根据文件大小进行文件查询

find /root/* -size +10k

/root/install.log

  1. -group >此选项可用于根据文件的属组进行文件查询

find /root/* -group root

/root/anaconda-ks.cfg
/root/install.log

  1. -user >此选项可用于根据文件的属主进行文件查询

find /root/* -user root

/root/anaconda-ks.cfg
/root/install.log

  1. -type >此选项可根据文件的类型进行文件查询,常见文件类型有【d|f|l】,分别为目录文件、普通文件、链接文件

find /root/* -type d

/root/kk
/root/kk/aa
/root/lianxi

  1. -cmin >此选项可根据文件的访问时间进行文件查询,常搭配【-num1 | +num2】分别表示为在距离当前时间num1分钟内被访问的文件、表示在距离当前时间,访问时间超过num2分钟的文件;

find /root/* -amin +10

/root/anaconda-ks.cfg
/root/install.log
以上选项是find命令的常用选项,更详细的的内容可使用
#man find 进行查看

2、【场景驱动学习】在我找到了目标文件后,是否有命令让我直接对这些目标文件进行操作呢?此时find命令为我们提供了可搭配后续操作的命令选项,命令如下:
**#find PATH [condition] -[exec | ok] command {} ;**此命令可用于对目标文件进行进一步的操作,比如:删除、复制、移动等等
【注意:命令中"{}"代表一个文件名,管道每次只会向command传一个文件名,此时可将后续程序理解为:command filename1】

  1. 【-exec|-ok】的区别:-exec :无需交互,程序会自动执行command;
    -ok:需要交互确认,每对一个文件执行command前,程序都会询问是否执行,只有键入“y”后,程序才会执行command
  2. -exec命令示例:

find /root/* -amin +20 -exec ls -la {} ;

-rw-------. 1 root root 1449 9月 23 20:49 /root/anaconda-ks.cfg
-rw-r–r--. 1 root root 28425 9月 23 20:49 /root/install.log
3. -ok命令示例:

find /root/* -amin +20 -ok ls -la {} ;

< ls … /root/anaconda-ks.cfg > ? y
-rw-------. 1 root root 1449 9月 23 20:49 /root/anaconda-ks.cfg

3、【场景驱动学习】除了可用find命令查找文件外,Linux还有其他命令用于查找文件吗?
答:其实我们还可以使用命令locate来进行文件查询
#locate filename >locate命令是根据文件名进行快速查询

【locate与find的区别】:

  1. locate命令查询文件速度要比find快,原因是locate是基于Linux后台数据库来进行查找的;
  2. 由于Linux后台数据库并不会对存储系统中的所有文件,比如/tmp目录下的文件就不会存储在后台数据库,所有使用locate是查找不到的;
  3. 由于Linux后台数据库并不会实时同步Linux中的文件,所以对于新建的文件,需要先同步后台数据库**#updatedb**,然后再执行locate命令

以上就是目前所掌握的文件查找方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值