文件查找命令find,locate,whereis,which

一:find : 查找文件精确,但是速度慢,资源消耗高,通过遍历硬盘来查找

find可以从文件名、读取修改时间、大小、类型等等来筛选文件,可以完成日常几乎所有的查找需求。

1:基本语法:find [目录] 条件  (如果不写目录,则默认从当前目录查找)

2:常用参数:

①:时间:-newer file  比file所指的文件还要新的文件

②:大小:-size

③:所有者、所属组 -user name  所有者用户名称是name的文件

                             -group name 所有者用户组群名称是name的文件

④:权限:-perm

3:例子:

①:find /tmp/ -name 'shadow*' 找到/tmp 目录下所有以shadow开头的文件

②:find /tmp/ -name '*shadow*' 找到/tmp 目录下所有包含shadow的文件

③:find ./ -size +1M 找到当前目录下大于1M的文件

④:find ./ -perm +300 找到权限有w或有x或有wx的

④:find ./ -perm -300 找到权限必须有wx,即只能是wx或rwx

⑤:find ./ -type d 文件类型为目录的

⑥:find ./ ! -type d 文件类型不为目录的

⑦:find ./ -user student 所有人为student的文件

⑧:find ./ -user student or -groupstudent 所有人或所属组为student的文件

⑨:find ./ -user student -groupstudent 所有人和所属组都为student的文件

4:特殊用法:再找到的文件上执行命令

①:基本语法:find 目录 条件–OK|-exec 命令 {}空格\ ;

②:例子:找到/etc、目录下所有以.conf结尾的文件,备份这些文件给这些文件加上.org的后缀。 find /etc/ -name “*.conf” –execcp {} {}.org \;

二:locate  有自己的数据库,结合数据库来查找文件的位置只适合快速查找,不精确

1:基本语法:locate 文件或者目录名称

2:例子:locatepasswd

3:注意:创建新文件后需要更新locate的数据库(/var/lib/mlocate/mlocate.db),用update命令,并不是所有的文件都更新到数据库,在/etc/updatedb.conf记录了哪些内容不会被更新到数据库中

三:whereis  whereis可以找到可执行命令和man page

1:基本语法: whereis [-bmsu] 文件或者目录名称

2:参数说明:

-b : 只找二进制文件

-m: 只找在说明文件manual路径下的文件

-s : 只找source源文件

-u : 没有说明文档的文件

       3:例子:

              whereispasswd  将和passwd文件相关的文件都查找出来

四:which 可 以找到可执行文件和别名(alias)

       1:基本语法:which 可执行文件名称

       2:例子: which passwd which是通过 PATH环境变量到该路径内查找可执行文件,所以基本的功能是寻找可执行文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值