find命令的用法: 定义:在本地文件系统中执行实时搜索,查找符合命令行参数条件的文件。 使用格式:find 目标文件 匹配选项 匹配参数 find的第一个参数是要搜索的目录,若省略了目录参数,则find将从当前目录中开始搜索,并在任何子目录中查找匹配项。 find可以提供许多选项来准确的描述应查找的文件类型,可以根据文件名、文件大小、最近修改时间戳和其他文件特性的任意组合进行搜索。 eg: find / -name sshd_config 在根目录和所有子目录中搜索名为sshd_config的文件 find / -name ‘*pass*’ 在/etc目录中搜索名称中任意位置包含pass的文件 find / -iname ‘*messages*’ -i表示忽略大小写 find可以根据所有权限来搜索文件,此时可使用的选项有-user、-group、-uid、-gid等 eg: find / /home/student –user student 在/home/student目录下查找student用户所拥有的文件 find / /home/student –group student 在/home/student目录下搜索student组所拥有的文件 find / -user root –group mail -perm选项用于查找具有特定权限集的文件 权限前面可以有/或-符号,带有/的数字权限将匹配文件的用户、组、其他人权限集中的至少一位,与/或-一起使用时,0值类似于通配符,表示“至少无任何内容的权限” eg: find /home –perm 644 匹配用户具有读写权限,组成员拥有读权限,其他人具有读权限 find /home –perm -724 匹配用户至少有读写执行权限,组成员至少写权限,其他人至少有读权限 find –perm -004 find 命令可以查找与指定的大小相符的文件,通过-size选项加上数字值与单位来指定 n :等于n的大小 +n:大于n的大小 -n :小于n的大小 与size使用的单位有:k 千字节 M 兆字节 G 千兆字节 eg: find –size 10M 在当前目录下搜索大小为10M的文件 find –size +10M 在当前目录下搜索大小大于10M的文件 find –size -10M 在当前目录下搜索大小小于10M的文件 -size 单位修饰符将所有内容向上取整为一个单位,如find-size 1M将显示小于1MB的文件,因为它将所有文件都向上取整为1MB -type 选项将搜索范围限制为给定的文件类型,类型有 f:普通文件 d:目录 l:软链接(符号链接) b:块设备 eg: find /etc –type f 搜索/etc 目录下的所有普通文件 find /etc –type d 搜索/etc文件夹中的所有目录 find /etc -type l 搜索/etc目录中的所有符号链接 find /dev –type b 搜索/dev目录中的所有设备的列表 -mmin 选项加上以分钟表示的时间,将搜索内容正好在过去所给时间更改的所有文件, 类似的还有-amin,-cmin m表示修改modify,min表示分钟,a表示访问,c表示创建 -mtime 选项以天为单位,类似的有-ctime,-atime eg: find / -mmin 120 将搜索离修改时间刚好是120分钟的文件 find / -mmin +200 将查找在200分钟以前更改的所有文件 find / -mmin -150 将搜索离修改时间少于150分钟的所有文件 -links 选项加上数字将查找具有特定硬链接数的所有文件,苏子前面带有+修饰符将查找硬链接数超过所给数目的文件,若数字前面带有~修饰符,则搜索将限制为硬链接数小于所给数目的所有文件。 eg: find / -type f –links +1 根目录下搜索硬链接数大于1的所有普通文件 复杂的用法:可以将搜索的文件执行另外的操作 eg: find /usr/bin –size +50K –exec cp {}/tmp/bin \; 搜索/usr/bin/目录下大小为50K的所有文件,并将其复 制到/tmp/bin目录下 find /usr/bin –type f –exec rm –rf {}\; 搜索/usr/bin目录下的所有普通文件,并对它执行删除操作
|