Linux命令 文件查找

当我们想查找某个文件时,我们不知道它所在的路径,怎么办呢,总不能我们将每个文件翻一遍吧,那样的话太费事了。我们可以用以下命令进行查找文件所在的路径。

1.which(寻找“执行文件”)

2.whereis(寻找特定的文件)

3.find(在目录结构中查找文件,并执行指定的操作)。

4.locate(比find高效,依靠数据库查询)

which(可执行文件查询)

参数

-n  指定文件名长度,指定的长度必须大于或等于所有文件中最长的文件名。

-p  与-n参数相同,但此处的包括了文件的路径。

-w  指定输出时栏位的宽度。

-V  显示版本信息
注意

which是在PATH变量指定的路径中查询,所搜索出来的位置,返回第一个结果。

which后面跟着完整的文件名


-a 表示将查找出来的所有的文件显示出来。问不是显示第一个结果
2.whereis(寻找指定的文件)

whereis [参数] 文件名

参数

-b 只查找二进制格式的文件

-m 只查找manual下的文件

-s 只在源文件中查找

-u 查找以上参数找不到的文件

 

where比find高效,查找速度快,因为Linux系统会将系统内的所有文件都记录在一个数据库文件里面,而当我们使用whereis 或者locate时,它都会以数据库文件的内容为准。
3.locate

参数

-i 忽略大小写的差异

-r 后面可接正则表达式的显示方式


注意:

它有一定的限制,你明明刚刚创建了了一个文件,为什么找不到呢,这是因为它依靠数据库实现,而我们linux数据库默认的会每天更新一次,所以你的文件有可能没被录入进去,那怎么办呢,我们在locate之前可以先输入"updatedb" 更新数据库。
4.find

参数

1.与时间有关的参数:共有-atime,-ctime,-mtime,因为a-time 和-ctime选项和-mtime选项相似,我们就介绍-mtime选项

-mtime n:n为数字,意义为在n天之前的“一天之内”被该更改过的文件;

-mtime +n: 列出在n天之前(不包括n天本身)被更改过的文件。

-mtime -n:列出在n之内(含n天本身)被修改过的文件。

-newer file:file为一个存在的文件,查找比file还要新的文件。



画一个时间参考线比较好分别

参数:

2.与用户或用户组名有关的参数

-uid n: n为数字,(userid)这个数字是用户的账号ID,即UID,这个UID会与对应的账号名称的数字。

-gid m :n 为数字(groupid)对应组的Id;

-user name : name 为用户账号的名称

-group name: name为用户组名

-nouser :查找文件的所有者不存在的人

-nogroup :与上面对应

列子

a@ubuntu:~$ find -user a

参数

3.与文件权限及名称有关的参数

-name filename 查找文件名为filename的文件

-size[+ -] SIZE 查找比SIZE还要大+还是还要小-的文件。

-type TYPE :查找文件的类型 为TYPE的,类型主要有:一般正规文件(f)、设备文件(b,c)、目录(d),连接文件(l),socket(s)\FIFO(p);

-perm mode 查找文件权限正好为mode如700的文件

+mode为全部包括mode 权限的文件 0744 必须有744这四位才能用

 -mode任一文件mode 权限的文件 查777 如果是700就可以 




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值