• locate

locate 执行快速的路径名数据库搜索,输出每个与指定子字符串相匹配的路径名。

locate bin/zip

locate 命令的数据库是updatedb命令创建的。

  • find

locate只能依据文件名查找文件,而find命令能基于各种各样的属性 搜索一个给定目录(以及它的子目录),来查找文件.

find ~            find 命令接收一个或多个目录名来执行搜索

find ~ -type d         -type d 限制了只搜索目录

find 命令支持的常见文件类型测试条件:

b  块特殊设备文件

c  字符特殊设备文件

d  目录

f  普通文件

l  符号链接

find ~ -type f -name "*.JPG" -size +1M | wc -l

-name后面跟通配符模式,根据文件名来搜索。

-size根据文件大小来搜索,+表示大于指定数的文件,-表示小于指定数的文件,没有则精确匹配这个数。

b 512 byte blocks【默认】

c bytes

w two byte words

k Kilobytes

M Megabytes

G Gigabytes

需要数值参数的 =情况下,可以应用以上“+”和“-”符号表示法。

-cmin n          匹配 【内容和属性】修改时间在n分钟前的文件和目录【“+”和“-”符号表示法】

-ctime n          匹配 【内容和属性】修改时间在n*24小时前的文件和目录【“+”和“-”符号表示法】

-cnewer file         匹配 【内容或属性】的最后修改时间晚于file的文件和目录

-mmin n          匹配 【内容】修改时间在n分钟前的文件和目录【“+”和“-”符号表示法】

-mtime n          匹配 【内容】修改时间在n*24小时前的文件和目录【“+”和“-”符号表示法】

-newer file          匹配 【内容】的最后修改时间晚于file的文件和目录

-user name          匹配 属于一个用户的文件和目录【用户名或用户ID来表示】

-group name          匹配 属于一个组的文件和目录【组名或组ID来表示】

-nouser            匹配 不属于一个有效用户的文件和目录

-nogroup           匹配 不属于一个有效的组的文件和目录

-iname pattern         跟-name相似,但不区分大小写。

-name pattern         用指定的通配符模式匹配的文件和目录。

-inum n            匹配inode号是n的文件。这对于找到某个特殊 inode 的所有硬链接很有帮助。

-samefile name        类似于-inum 测试条件。匹配和文件 name 享有同样 inode 号的文件。

-size n            匹配大小为n的文件

-empty            匹配 空文件和目录

-perm mode          匹配权限已经设置为指定的 mode的文件或目录【八进制或符号表示法】

-type c             匹配文件类型是 c 的文件

  • 操作符

-and/-a            两边的测试条件都是真【默认】

-or              两边的任一个测试条件为真

-not              Match if the test following the operator is false.

()                这用来控制逻辑计算的优先级,默认从左到右的顺序计算。

find ~ \( -type f -not -perm 0600 \) -or \( -type d -not -perm 0700 \)

expr1 -operator expr2

所有情况下,expr1总会执行,expr2要根据expr1的执行结果

expr1 的结果 操作符 expr2 is...
-and 总要执行
-and 从不执行
-or 从不执行
-or 总要执行
  • 预定义操作

-delete          删除当前匹配的文件

-ls            执行ls -dils命令,将结果输出到标准输出

-print           把匹配文件的全路径名输送到标准输出【默认】

-quit            一旦找到一个,退出

-exec command {} ;    {}是当前路径名的符号表示,分号是必要的分隔符表明命令的结束

-ok command {} ;     执行每个指定的命令之前, 会提示用户

花括号和分号对于 shell 有特殊含义,所以它们必须被引起来或被转义。

find ~ -type f -name '*.BAK' -delete  【用-print操作替换-delete,确认结果】
find ~ -type f -name 'foo*' -exec ls -l '{}' ';'

find ~ -type f -name 'foo*' -exec ls -l '{}' + 【把末尾的分号改为+,把搜索结果结合为一个参数列表。】

xargs 命令从标准输入接受输入,并把输入转换为一个特定命令的参数列表。
find ~ -type f -name 'foo*' -print | xargs ls -l

古怪名字处理方法:

find ~ -iname ‘*.jpg’ -print0 | xargs –null ls -l

使用这项技术,我们可以保证所有文件,甚至那些文件名中包含空格的文件,都能被正确地处理。

其他选项

-depth            先处理目录中的文件,再处理目录自身。

-maxdepth levels        进入目录树的最大深度

-mindepth levels        进入目录树的最小深度

-mount            指示find不要搜索挂载到其他文件系统上的目录

-noleaf            指示 find 程序不要基于自己在搜索 Unix 的文件系统的假设,来优化它的搜索。

查找文件【TLCL】的更多相关文章

  1. locate 最快的查找文件的命令 NB

    我见过最NB的查找文件最快的命令 [root@NB data]# locate teamviewer. /data/Software/teamviewer.i686.rpm /home/ok/.loc ...

  2. Linux如何搜索查找文件里面内容

    在Linux系统当中,如何搜.索查找文件里面的内容呢? 这个应该是系统维护.管理当中遇到最常见的需求.那么下面介绍,总结一下如何搜索.查找文件当中的内容. 搜索.查找文件当中的内容,一般最常用的是gr ...

  3. Linux下查找文件:which、whereis、locate、find 命令的区别

    我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索.which       查看可执行文件的位置,通过环境变量查whereis    查看文件的位置,通过数据库查,每 ...

  4. linux 根据文件大小查找文件

    inux下的find命令用来查找文件,通过man find就知道它是无所不能的.所以按照文件大小来查找文件就不在话下.从man find搜索size,可以看到如下信息: -size n[cwbkMG] ...

  5. Linux 利用 locate 和 find 查找文件

    Linux 利用 locate 和 find 查找文件 命令 locate 用于快速查找文件.文件夹.此命令并没有在磁盘上查找所有文件,而是在预先建立的数据库里进行搜索.可以使用 updatedb 命 ...

  6. Linux 查找文件

    find 查找目录 -name "文件名"find / -name "php.ini"locate 文件名locate php.ini 一:locate命令 l ...

  7. 53-whereis 查找文件

    查找文件 whereis [options] file 参数 file 是whereis需要查找的文件,这些文件属于原始代码,二进制文件或是帮助文件 选项 -b               只查找二进 ...

  8. 14-find 查找文件

    find - search for files in a directory hierarchy 查找文件 [语法]: find [选项] [参数] [功能介绍] find命令用来在指定目录下查找文件 ...

  9. Linux里如何查找文件内容

    Linux查找文件内容的常用命令方法. 从文件内容查找匹配指定字符串的行: $ grep "被查找的字符串" 文件名例子:在当前目录里第一级文件夹中寻找包含指定字符串的.in文件g ...

随机推荐

  1. [转]libevent 环境配置

    libevent 据说是IO复用的好东西.所以今天来耍耍. 1. 从官网下载源代码:http://libevent.org/,最新的版本已达到2.0. 2. 先把ubuntu系统自带的libevent ...

  2. PhotoSwipe异步动态加载图片

    在开发搜房家居M站的时候,搜房家居装修效果图相册展示效果需要用到PhotoSwipe插件来显示图片.特点:1. 家居提供的接口,每次只能获取一张图片2. 装修效果图的张数不限.3. 从PhotoSwi ...

  3. 《从零开始学Swift》学习笔记(Day 22)——闭包那些事儿!

    原创文章,欢迎转载.转载请注明:关东升的博客    我给Swift 中的闭包一个定义:闭包是自包含的匿名函数代码块,可以作为表达式.函数参数和函数返回值,闭包表达式的运算结果是一种函数类型. Swif ...

  4. idea 不能编译生成class文件

    问题:开发工程中将idea中编译输出目录 out 删掉.发现再次编译不能生成class文件 解决方案:settings -> compiler 勾选自动编译选项

  5. C语言-数组篇

    C语言数组 一.数组的概念 用来存储一组数据的构造数据类型 特点:只能存放一种类型的数据,如全部是int型或者全部是char型,数组里的数据成为元素. 二.数组的定义 格式: 类型 数组名[元素个数] ...

  6. influxDB 变换类函数

    1.DERIVATIVE()函数 作用:返回一个字段在一个series中的变化率. InfluxDB会计算按照时间进行排序的字段值之间的差异,并将这些结果转化为单位变化率.其中,单位可以指定,默认为1 ...

  7. p:nth-last-child(2)

    <!DOCTYPE html><html><head><style> p:nth-last-child(2){background:#ff0000;}& ...

  8. JavaScript跳出iframe框架

    一.window.top top属性返回最顶层的先辈窗口. 该属性返回对一个顶级窗口的只读引用.如果窗口本身就是一个顶级窗口,top属性存放对窗口自身的引用.如果窗口是一个框架,那么top属性引用包含 ...

  9. 解决windows server 2003不识别移动硬盘

    解决windows server2003不显示移动硬盘的问题: 1.进入命令提示符环境(也就是DOS) 2.进入DISKPART程序 3.输入AUTOMOUNT ENABLE指令 4.输入OK 下次U ...

  10. xlwt 模块 操作excel

    1.xlwt 基本用法 import xlwt #1 新建文件 new_file = open('test.xls', 'w') new_file.close() #2 创建工作簿 wookbook ...