linux which,whereis,locate,find的区别_linux中whereis locate which的区别-程序员宅基地

技术标签: linux  

 

find就不用多说了,就是递归遍历文件夹。具体可以参看:https://blog.csdn.net/icebergliu1234/article/details/104584827

which:有时候可能在多个路径下存在相同的命令,该命令可用于查找当前所执行的命令到底是哪一个位置处的命令。  

比如你安装了mysql,由于某种原因没有设置环境变量,那么

运行:which mysql

就会报错:/usr/bin/which: no mysql in (/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin)

解决方法就是插入环境变量,

export PATH=$PATH:/usr/local/mysql//bin

source /etc/profile

再比如:

which -a which #查看命令which所在位置,-a参数表示找出所有

 

whereis:是在数据库中查找文件,在数据库(var/lib/slocate/slocate.db)中查找与文件名相匹配的二进                         制文件、源文件和帮助手册文件,使用之前可以使用updatedb命令手动更新数据库。

假设你想找,whereis 命令自己所在位置。下面是你具体的操作:

whereis whereis

How to find location of binary file using whereis[2]

需要注意的是,输出的第一个路径才是你想要的结果。使用 whereis 命令,同时也会显示帮助页面和源码所在路径。所以你在输出中看见的第二个路径就是帮助页面文件所在位置。

那么如果只想找到二进制文件呢?

可以使用 -b  这一命令行选项。例如:

whereis -b cp

/usr/bin 寻找二进制文件,你可以用 -B 这一选项来实现。

whereis -B /usr/bin/ -f cp

注意:使用这种方式时可以给出多个路径。使用 -f 这一选项来明确分隔目录列表和要搜索的文件名。

 

locate:与whereis一样的地方是,也是在数据库中进行查找,也可以更新数据库(手动执行updatedb命令),locate通常该系统数据库每天更新一次(可以查看系统的/etc/cron.daily/mlocate,不同系统可能不一样)。

不同的地方是其查询文件类型是所有类型,并且使用的是模糊查询,也就是locate会给出所有与*filename*相匹配的文件的路径。

具体参见:https://blog.csdn.net/icebergliu1234/article/details/104585299

几个使用例子:

1 快速查找文件

locate locate.txt #查找locate.txt
/home/hyb/workspaces/shell/locate/locate.txt

 

2 查找存在的文件

locate locate.txt #查找之前删除locate.txt
#虽然文件不存在,但是仍然被查找出来
/home/hyb/workspaces/shell/locate/locate.txt 
locate -e locate.txt #-e参数可以查找只存在的文件
(由于该文件不存在,因此也不会被查找出来)

3 查找计算文件的数量

locate -c locate.log #只计算查找到的数量
 1

 

4 忽略大小写查找

locate -i locate.zip
/home/hyb/workspaces/shell/locate/LOCATE.zip

 

5 使用正则表达式

普通的查找是模糊匹配的,因此只要目标名称中包含要搜索的名称,都会被搜索出来,但是我们可以利用正则表达式,来精确查找。

locate -r /locate.log$ #查找以/locate.log结尾的文件 

 

 

 

参考:https://blog.csdn.net/u010625000/article/details/44455023

https://www.cnblogs.com/duaimili/p/10208592.html

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/icebergliu1234/article/details/104596702

智能推荐

5.25Python基础语法2_type({100})-程序员宅基地

文章浏览阅读362次。一、类型相关操作1.type函数理解:type(数据)获取指定数据类型例如:type(100) #直接输入是不会打印,需要printprint(type(100)) #整型(int) #得出结果:100print(type(1.25)) #浮点型(float) #得出结果:1.25print(type('陈某某')) #字符串(str) #得出结果:陈某某print(type(10>20)) #布尔(bool) _type({100})

Unable to open debugger port错误,明明CMD查询端口没有被占用,但是idea一直提示端口占用_unable to open debugger port 12208-程序员宅基地

文章浏览阅读798次。在运行idea时常常提示端口被占用,在cmd查询该端口,但显示端口没有被占用怎么办?_unable to open debugger port 12208

爱上开源之一款查询docker容器启动命令的工具_docker joinsunsoft-程序员宅基地

文章浏览阅读312次。docker不容置疑,目前最为成熟最广泛的虚拟容器产品,虽然k8s在docker编排基础上,基于战略原因,协同google,ibm推出了CRI标准,兼容一切符合CRI标准的容器厂商,而带动了podman等其他容器产品的百花齐放,但是docker依然在诸多的容器产品里鹤立鸡群,强就是强,无惧大厂商的霸权,今天这里谈谈docker使用里查看容器启动命令的一个工具。runcommandruncommand是一款使用golang实现的基于容器管理的工具,市面上也有一些同类产品的实现,比如笔者我,在没有开发runco_docker joinsunsoft

深度解析ArrayList使用_arrylist-程序员宅基地

文章浏览阅读9.9k次,点赞115次,收藏108次。ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口。_arrylist

面试题-分布式_分布式、缓存、消息等机制;-程序员宅基地

文章浏览阅读1.2k次,点赞12次,收藏73次。一、分布式知识点:分布式基础、缓存机制、消息机制、搜索机制、分布式ID、分布式锁、分布式SESSION、分布式事务、分布式分页、分布式部署、二、分布式基础知识 软件架构设计的六大原则:https://blog.csdn.net/u012562943/article/details/76110761 软件架构需要考虑的基本原则:https://blog.csdn.net/zyhl..._分布式、缓存、消息等机制;

执行git命令报错:fatal: not a git repository (or any of the parent directories): .git-程序员宅基地

文章浏览阅读1.7w次,点赞2次,收藏8次。寞水_fatal: not a git repository (or any of the parent directories): .git

随便推点

煎饼(Stacks of Flapjacks,UVA120)_煎饼 stacks of flapjacks-程序员宅基地

文章浏览阅读541次。题目大意:对一个数组排序,但基本操作是翻转(使倒序)前k个元素(k可以是0到n-1(n为数组元素个数))。#define _CRT_SECURE_NO_WARNINGS #include #include #include #include #include #include #include #include #include #inc_煎饼 stacks of flapjacks

短视频平台原创检测规则 伪原创制作_快手如何检测视频是否原创-程序员宅基地

文章浏览阅读4.6k次,点赞2次,收藏12次。首先讲下搬运作品上热门,很多朋友傻傻的以为把别人的视频去掉水印或者修改一下MD5值然后发出去就可以热门了,那么简单的话全世界都是热门了!拜托,先搞懂短视频的检测原理,MD5检测都是多少年前的技术了?你确定快手火山抖音这种大平台会用这么low的检测技术?我来告诉你们他们是怎么检测的!抽取你的作品,某个时间段的某一帧。和其他作品的某一帧,进行点对点之间的对比重合。然后再上下浮动若干秒进行对比..._快手如何检测视频是否原创

Cesium 实战 07 - 点对象(point)、广告牌(billboard)、文字标签(label)贴地问题以及总结_cesium point-程序员宅基地

文章浏览阅读2k次。Cesium 实战 - 点对象(point)、广告牌(billboard)、文字标签(label)贴地问题以及总结。_cesium point

uni-app课程心得_如果 nvue 页面 @animationfinish 事件不能返回正确的数据,可同时监听 @cha-程序员宅基地

文章浏览阅读241次。Sass (英文全称:Syntactically Awesome Stylesheets) 是一个最初由 Hampton Catlin 设计并由 Natalie Weizenbaum 开发的层叠样式表语言。Sass 是一个 CSS 预处理器。Sass 是 CSS 扩展语言,可以帮助我们减少 CSS 重复的代码,节省开发时间。Sass 完全兼容所有版本的 CSS。链接总的来说,学习uni-app需要有一定的Vue.js基础知识,并要了解各个平台的差异和限制。_如果 nvue 页面 @animationfinish 事件不能返回正确的数据,可同时监听 @change 事

Node.js和Vue的安装与配置(超详细步骤)_nodejs安装vue-程序员宅基地

文章浏览阅读2.3w次,点赞69次,收藏297次。Node.js和Vue的安装与配置(超详细步骤)_nodejs安装vue

Windows 7 新功能 - 问题步骤记录器-程序员宅基地

文章浏览阅读2.6k次。Windows 7 新功能 - 问题步骤记录器_问题步骤记录器

推荐文章

热门文章

相关标签