linux中view查看搜索,Linux搜索文件命令find

1 命令格式:

$ find   

最常见示例:查找文件名(忽略大小写)

$find . -iname sqlquery.java

1.1 :

所要搜索的目录及其所有子目录。默认为当前目录。find默认递归指定目录。目录可以有多个,目录之间要用空格分开。

[admin@r42h06016.xy2.xxx.com]$find /etc /tmp /root -name passwd

1.2 :

所要搜索的文件的特征。

[1]根据文件名查找

-name 按照文件名查找

-iname 根据文件名查找,但是不区分大小写

-prune不在当前指定的目录中查找

-depth  在查找文件时,首先查找当前目录中的文件,然后再在其子目录中查找

[2]根据文件所属用户和组来查找文件-user     按照文件属主来查找文件

$find / -user fred      //查找在系统中属于FRED这个用户的文件

-group

按照文件所属的组来查找文件

$find / -group cat      //查找在系统中属于group组名cat的文件

[3]根据uid 和 gid来查找用户

-uid

#find  /tmp -uid 500       //查找uid是500 的文件

-gid

#find  /tmp -gid 1000      // 查找gid是1000的文件

[4]-a,-o,-not的使用

-a

连接两个不同的条件(两个条件必须同时满足)

#find /tmp -name "*.sh" -a -user root

-o

连接两个不同的条件(两个条件满足其一即可)

#find /tmp -name "*.sh" -o -user root

-not

对条件取反的

#find /tmp -not -user root

[5]根据文件时间戳的相关属性来查找文件

-atime

最近一次访问时间      单位:天

-mtime

最近一次内容修改时间  单位:天

-ctime

最近一次属性修改时间  单位:天

-amin

最近一次访问时间      单位:分钟

-mmin

最近一次内容修改时间  单位:分钟

-cmin

最近一次属性修改时间  单位:分钟

-newer file1 ! file2

查找更改时间比文件file1新但比文件file2旧的文件

#find /tmp -atime +5  //表示查找在五天内没有访问过的文件

#find /tmp -atime -5   //表示查找在五天内访问过的文件

[6]根据文件类型来查找文件

-type

查找某一类型的文件

文件类型:

f 普通文件

d 目录

l 符号链接文件

c 字符设备文件

p 管道文件

b 块设备文件

s socket文件

#find /tmp -type s

[7]根据大小来查找文件

-size n[c]

查找文件长度为n块的文件,带有c时表示文件长度以字节计

#find /tmp -size  2M           //查找在/tmp 目录下等于2M的文件

#find /tmp -size +2M           //查找在/tmp 目录下大于2M的文件

#find /tmp -size -2M           //查找在/tmp 目录下小于2M的文件

$find . -size +1000000c        //在当前目录下查找文件长度大于1 M字节的文件

$find / -empty             //查找在系统中为空的文件或者文件夹

[8]根据文件权限查找文件

-perm

#find /tmp -perm 755           //查找在/tmp目录下权限是755的文件

#find /tmp -perm +222          //表示只要有一类用户(属主,属组,其他)的匹配写权限就行

#find /tmp -perm -222          //表示必须所有类别用户都满足有写权限

[10]-nouser和-nogroup

-nogroup

查找无有效所属组的文件,即该文件所属的组不存在

-nouser

查找无有效属主的文件

#find / -nogroup -a -nouser    //在整个系统中查找既没有属主又没有属组的文件(这样的文件通常是很危险的,作为系统工程师的我们应该及时清除掉)

$find / -nouser            //查找在系统中属于作废用户的文件

1.3 :

对搜索结果进行特定的处理。

-print       //默认情况下的动作

-ls             //查找到后用ls 显示出来

-ok [commend]    //查找后执行命令的时候询问用户是否要执行

-exec [commend]//查找后执行命令的时候不询问用户,直接执行

注意-ok和-exec命令将命令行上后续的参数作为他们参数的一部分,直到被\;序列终止。魔术字符串{}是-ok和-exec命令的一个特殊类型的参数,它将被当前文件的完整路径取代。

#find /tmp -atime +30 –exec rm –rf {} \; //删除查找到的超过30天没有访问过文件

这里要注意{ }的使用:替代查找到的文件

#find /tmp -name "*.old" | xargs chmod 700

2 命令举例

搜索/etc目录下的文件名包含del的文件。

$find /etc -name '*del*'

系统查找到"config.py"文件后即时在屏幕上显示"config.py"文件信息。

$find . -name "config.py" -ls

搜索当前目录中,所有过去10分钟中更新过的普通文件。如果不加-type f参数,则搜索普通文件+特殊文件+目录。

$ find . -type f -mmin -10

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值