linux命令中which、whereis、locate有什么区别?

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命令是查找命令是否存在,以及命令的存放位置在哪儿。  例:#which ls

 4.whereis  whereis命令只能用于搜索程序名,而且只搜索二进制文件(参数-b)、man说明文件(参数-m)和源代码文件(参数-s)。如果省略参数,则返回所有信息。  whereis命令的使用实例:  #whereis vim   5.type  type命令用来区分某个命令到底是由shell自带的,还是由shell外部的独立二进制文件提供的。如果一个命令是外部命令,那么使用-p参数,会显示该命令的路径,相当于which命令。    #type cd  系统会提示,cd是shell的自带命令(build-in)。    #type grep  系统会提示,grep是一个外部命令,并显示该命令的路径。    #type -p vim  加上-p参数后,就相当于which命令
时间: 2025-01-10 14:15:00

linux命令中which、whereis、locate有什么区别?的相关文章

linux命令中的“<”和“|”是什么意思?#命令行

linux命令中的"<"和"|"是什么意思? 如:$ .cat < /etc/motd | ./a.out 最佳答案 < 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备.| 则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边.你的命令意思就是说从/etc/motd文件中读取内容,然后把cat命令读取出来的内容作为后面一个命令 a.out的输入参数来执行a.out命令. By 网友 artttt & 暗

linux命令中的大神

命令一:rm中的-r参数 首先是创建了temp文件,它所属者是xulinux用户,以及xulinux组,权限通过后3句使得任何人不得写,不得读,不得访问该目录: 可是在root用户下,通过rm -r形式使得它强制的删除了temp,强制的访问,强制的读取,强制删除:故而这个命令非常霸气,可以无视权限,且删除不能恢复,因为它不是删除到回收站中.故而使用者非常小心使用. 待续..... linux命令中的大神,布布扣,bubuko.com

Linux下的which,whereis,locate,find命令的区别

我们经常在linux要查找某个文件,但不知道放在哪里了,可以使用下面的一些命令来搜索:  which  查看可执行文件的位置. whereis 查看文件的位置.  locate   配合数据库查看文件位置. find   实际搜寻硬盘查询文件名称. 1.which  which命令的作用是,在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果.也就是说,使用which命令,就可以看到某个系统命令是否存在,以及执行的到底是哪一个位置的命令. 1.1.命令格式: which 可

linux文件名查找which,whereis,locate

1. 文件名查找 使用find查询时,由于磁盘查询,所以速度较慢, 所以linux下查询更常使用which, whereis, locate来查询,由于是利用数据库查询,所以速度很快. 2. which 我们常用的ls命令,如果我们想知道这些常用命令放在哪儿, 就使用which命令来查询地址. which使用PATH 环境变量去查找文件名, which -a 返回所有的查到的命令, 默认返回第一条. $ which grep /bin/grep $ which ll alias ll='ls -

Linux命令中service的用法

用途说明 service命令用于对系统服务进行管理,比如启动(start).停止(stop).重启(restart).查看状态(status)等.相关的命令还包括chkconfig.ntsysv等,chkconfig用于查看.设置服务的运行级别,ntsysv用于直观方便的设置各个服务是否自动启动.service命令本身是一个shell脚本,它在/etc/init.d/目录查找指定的服务脚本,然后调用该服务脚本来完成任务. 看看下面的手册页可能更加清楚的了解service的内幕:service运行

Linux命令中使用正则表达式

在使用grep.awk和sed命令时,需要使用正则表达式.比如我通过grep找代码编译结果中是否有错误.或者是否有我代码的错误.这里说下正则表达式基本的应用: 匹配行首与行尾. 匹配数据集. 只匹配字母和数字. 匹配一定范围内的字符串集. ^ 只匹配行首 $ 只匹配行尾 * 一个单字符后紧跟*,匹配0个或多个此单字符 [] 匹配[]内字符,可以是一个单字符,也可以是字符序列.可以使用 - 表示[]内字符序列范围,如用[1-5]代替[12345] \ 用来屏蔽一个元字符的特殊含义.因为有时在she

linux命令中的“&lt;”和“|”是什么意思?

”<” 表示的是输入重定向的意思,就是把<后面跟的文件取代键盘作为新的输入设备.”| ”则表示一个管道的意思,可以理解为东西从管道的一边流向另外一边. cat file.json | python -m json.tool 程序呢? 简单的说shell程序就是一个包含若干行 shell或者linux命令的文件. 象编写高级语言的程序一样,编写一个shell程序需要一个文本编辑器.如VI等. 在文本编辑环境下,依据shell的语法规则,输入一些shell/linux命令行,形成一个完整的程序文件

【linux命令】软连接和硬链接的区别(ln命令)

Linux 文件系统把硬盘分为三个部分:超级块.inode 列表.数据区 inode 指示:该文件的数据存放在数据区的哪些块内.因为这个“映射”关系不能变更,因此,inode 相当于代表着文件本身.(值得注意的是,文件名与文件本身不是直接映射起来的,中间隔着 inode) 内核为每一个新创建的文件分配一个Inode(索引结点),每个文件都有一个唯一的inode号.文件属性保存在索引结点里,在访问文件时,索引结点被复制到内存,从而实现文件的快速访问. 链接是一种在共享文件和访问它的用户的若干目录项

每天一个Linux命令(18)--locate命令

locate让使用者可以很快速的搜寻档案系统内是否有指定的档案.器方法是先建立一个包括系统内所有档案名称及路径的数据库,之后当寻找时就需查询这个数据库,而不必实际深入档案系统之中了.在一般的 ditrtibution 之中,数据库的建立都北方在 crontab  中自动执行. 1.命令格式: locate  [选择参数] [样式] 2.命令功能: locate 命令可以在搜寻数据库时快速找到档案,数据库由updatedb 程序来更新, updatedb 是由 cron daemon周期性建立的,