1.find find 是最常用和最强大的查找命令它能做到实时查找, 精确查找, 但速度慢 find 的使用格式如下: #find [指定目录] [指定条件] [指定动作] 指定目录: 是指所要搜索的目录和其子目录如果不指定, 则默认为当前目录 指定条件: 是指所要搜索的文件的特点 指定动作: 是指对搜索的结果如何处理 常见选项: -name 根据文件名称查找 (严格区分大小写, 如果文件名中间有空格, 则必须把文件名用双引号引起来) -iname 根据文件名查找(不区分大小写) -regex "PATTERN" 正则表达式匹配 -user 根据文件属主进行查找 -group 根据文件属组进行查找 -uid 根据文件的 uid 查找 -gid 根据用户的 gid 查找 -nouser 查看所有的没有属主的文件 -nogroup 查看所有的没有属组的文件 例: 查看 tmp 目录下, 文件属主为 redhat 的文件 #ls -l `find /tmp -user redhat` 2.locate locate 命令不是实时查找, 所以查找的结果不精确, 但查找速度很快因为它查找的不是目录, 而是一个数据库(/var/lib/locatedb), 这个数据库中含有本地所有文件信息 Linux 系统自动创建这个数据库, 并且每天自动更新一次, 所以使用 locate 命令查不到最新变动过的文件为了避免这种情况, 可以在使用 locate 之前, 先使用 updatedb 命令, 手动更新数据库 locate 使用格式 locate [指定目录] 例: 查找所有包含 passwd 的文件 #locate passwd 例: 查找所有包含 passwd 的文件, 并且只显示前十个 #locate -n 10 passwd 3.which which 命令是查找命令是否存在, 以及命令的存放位置在哪儿, 默认查找环境变量中的文件, shell 内建命令查不到 例:#which ls 4.whereis whereis 命令只能用于搜索程序名, 而且只搜索二进制文件(参数 - b)man 说明文件(参数 - m) 和源代码文件 (参数 - s) 如果省略参数, 则返回所有信息 whereis 命令的使用实例: #whereis vim
find locate whereis which 命令之间的区别
来源: http://www.bubuko.com/infodetail-2493272.html