linux 查找命令

grep命令:
grep -i pattern files :不区分大小写地搜索。默认情况区分大小写,
grep -l pattern files :只列出匹配的文件名,
grep -L pattern files :列出不匹配的文件名,
grep -w pattern files :只匹配整个单词,而不是字符串的一部分(如匹配‘magic’,而不是‘magical’),
grep -C number pattern files :匹配的上下文分别显示[number]行,
grep pattern1 | pattern2 files :显示匹配 pattern1 或 pattern2 的行,
grep pattern1 files | grep pattern2 :显示既匹配 pattern1 又匹配 pattern2 的行。

example:grep -i martin@martin-desktop:~$ grep ShopAction -i notes/sql/* #note: * 不要忘记

find命令:

find 目录 -name 关键字

find / -amin -10 # 查找在系统中最后10分钟访问的文件
find / -atime -2 # 查找在系统中最后48小时访问的文件
find / -empty # 查找在系统中为空的文件或者文件夹
find / -group cat # 查找在系统中属于 groupcat的文件
find / -mmin -5 # 查找在系统中最后5分钟里修改过的文件
find / -mtime -1 #查找在系统中最后24小时里修改过的文件
find / -nouser #查找在系统中属于作废用户的文件
find / -user fred #查找在系统中属于FRED这个用户的文件

find . -maxdepth 2 -name fred
-maxdepth选项的作用就是限制find命令在目录中按照递减方式查找文件的时候搜索文件超过某个级别或者搜索过多的目录,这样导致查找速度变慢,查找花费的时间过多。例如,我们要在当前(.)目录技巧子目录中查找一个名叫fred的文件,我们可以使用如下命令

find / -name “php.ini” -ls
系统查找到php.ini文件后立即在屏幕上显示php.ini文件信息。

find 常用参数
-exec command;查找并执行命令
-fprint file;打印文件完整文件名
-fprint0 file;打印文件完整文件名包括空的文件
-fprintf file format;打印文件格式
-ok command;给用户命令执行操作,根据用户的Y 确认输入执行
-printf format;打印文件格式
-ls;打印同种文件格式的文件.

locate 命令
locate命令其实是“find -name”的另一种写法,但是要比后者快得多,原因在于它不搜索具体目录,而是搜索一个数据库(/var/lib/locatedb),这个数据库中含有本地所有文件信息。Linux系统自动创建这个数据库,并且每天自动更新一次,所以使用locate命令查不到最新变动过的文件。为了避免这种情况,可以在使用locate之前,先使用updatedb命令,手动更新数据库。
locate命令的使用实例:
$ locate /etc/sh
搜索etc目录下所有以sh开头的文件。
$ locate ~/m
搜索用户主目录下,所有以m开头的文件。
$ locate -i ~/m
搜索用户主目录下,所有以m开头的文件,并且忽略大小写。

递归搜索文件夹下所有文件

find 要查找的目录名 -name .svn |xargs rm -rf
rm -rf :是删除目录下的所有.svn文件.

出处: 马丁博客[http://www.blags.org/]

你可能感兴趣的:(linux,数据库,command,File)