首页 > 代码库 > find 和 locate 命令
find 和 locate 命令
一, find 命令
find 命令有三部分构成 1,你要搜索的目录 (. 当前目录, ~家目录, /根目录)。 2,你的搜索条件。 3,搜索到后要执行的动作。
常用命令:
1, find . -name my* 在当前目录下搜索,名字以my开头的文件, 然后输出到标准输出。 my* 和 ‘my*’一样,加不加引号没区别。
2, find . -type d 查找当前目录下的所有目录。d 代表目录
find . -type f 查找当前目录下的所有文件。f 代表文件
3, find . ! -name my* 查找当前目录下名字不是以my开头的所有文件 。 !相当于非
find . -name my* -a -name *ni 显示当前目录下以my开头,以ni结尾的文件。 -a相当于and
find . -name my* -o -name he* 显示当前目录下以my开头的文件或者以he开头的文件。 -o相当于or
4, find . -name my* -o -name he* -exec rm {} \; 删除当前目录下以my开头的文件或者以he开头的文件
-exec 后面的格式要注意,先写命令的名字,如ls , rm, 命令写好后加空格, 然后是一个大括号,大括号的含义就是你所找到的文件,然后是一个空格,然后是一个反斜杠,然后是一个分号。 格式必须正确才行
-exec+空格+要执行的命令+空格+{}+空格+\+;
二, locate 命令
locate命令用于查找文件,它比find命令的搜索速度快,它需要一个数据库,这个数据库由每天的例行工作(crontab)程序来建立。
例如:查找相关字zlib.so
$ locate zlib.so
/opt/openoffice4/program/python-core-2.7.5/lib/lib-dynload/zlib.so
/usr/local/lib/libezlib.so
/usr/local/lib/libezlib.so.1
/usr/local/lib/libezlib.so.1.1.0