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

智能推荐

python3爬虫——requests(一)_明朝那些事爬虫代码-程序员宅基地

文章浏览阅读256次。Requests:让http服务人类虽然Python标准库中的urllib模块包含了平常我们使用的大多数功能,但是它的API使用起来让人感觉不太好,而Request自称”HTTP for Humans“,说明使用更简单方便。Request唯一的非转基因的Python库,人类可以安全享有,Request继承了urllib的所有特性,Request支持HTTP链接保持和连接池,支持使用coo..._明朝那些事爬虫代码

[Jupyter-Notebook] 指定python3路径,配置notebook依赖源_jupyter指定python包的位置-程序员宅基地

文章浏览阅读2.1k次。[Jupyter-Notebook] 指定python3路径,配置notebook依赖源问题 :本机是 mac,通过 brew install jupyter 方式安装的 notebook,发现 notebook 用的版本是 python3.7。在安装 keras,tensorflow的时候,是用 pip3 install keras, tensroflow==1.14.0, "nump..._jupyter指定python包的位置

数据库Mysql+SSM技术开发,SSM 泰州市二手房交易平台系统--03401(上万套实战教程手把手教学,免费领取源码)-程序员宅基地

文章浏览阅读162次。关注●点赞收藏并私信博主,免费领取项目源码哦~总体设计主要包括系统总体结构设计、系统数据结构设计、系统功能设计和系统安全设计等;详细设计主要包括模块实现的关键代码,系统数据库访问和主要功能模块的具体实现等。最后对系统进行功能测试,并对测试结果进行分析总结,及时改进系统中存在的不足,为以后的系统维护提供了方便,也为今后开发类似系统提供了借鉴和帮助。

【部署网站】使用nginx+tomcat部署博客网站_用nignx发布网站和用tomcat部署-程序员宅基地

文章浏览阅读3.1k次,点赞3次,收藏16次。一、什么是静态网站、动态网站?静态网站没有采用任何程序开发,是纯粹使用html语言写出的网站,网页文件名以html或htm结尾。原则上不会受到攻击入侵,但是也无法在网络上实时更新内容,就纯粹的是制作好的页面。动态网站目前的主要开发语言有ASP,JSP,PHP,ASP.NET在制作好之后,都有一个网站管理后台,当以管理员身份登陆时,可以对网站的内容进行增删操作,直接在网上进行这些操作,虽然它可以随时更新,但是速度较慢。并且需要区分的是,动态网站的动态指的是动态实时更新而非网站有动态画面。区分静态网站和动_用nignx发布网站和用tomcat部署

android 实现定时任务,Android 实现定时任务的五种方式的讲解-程序员宅基地

文章浏览阅读3.9k次。1、普通线程sleep的方式,可用于一般的轮询Pollingnew Thread(new Runnable() { @Override public void run() { while (true) { //todo ..._android 定时20个小时

Dr_can模型预测控制笔记与代码实现-程序员宅基地

文章浏览阅读2.7w次,点赞206次,收藏552次。因而我们引入模型预测控制(Model PredictiveControl)的概念,对于一般的离散化系统(因为实际计算机实现的控制系统都是离散的系统,连续系统离散化的方法在此不述)。在k时刻,我们可以测量或估计出系统的当前状态y(k),再通过计算得到的u(k),u(k+1),u(k+2)...u(k+j)得到系统未来状态的估计值y(k+1),y(k+2)...y(k+j);我们将预测估计的部分称为预测区间(Predictive Horizon),将控制估计的部分称为控制区间(Control Horizon)_dr_can

随便推点

windows7的aero的介绍-程序员宅基地

文章浏览阅读166次。今天晚上看了个关于aero的介绍,感觉还不错,挺详细的,转载之,以备记录前言: 微软Windows Vista系统由于生不逢时而惹来了很多不好的名声,很多人更是人云亦云,并仅从其表面主观判断这个系统的好坏,因而出现了很多持有“Aero无用”或“Aero华而不实”之类的观点的人。 对于全新推出的Windows 7操作系统,由于有Vista打下的基础(硬件驱动以及软件的成熟),..._在“fps”选项卡中,勾选“monitor aero desktop (dwm)”和“enable overlay”,如

libevent与libev简介_libevent libev-程序员宅基地

文章浏览阅读1.4k次。libevent和libev都是c语言实现的异步事件库,主要封装了三个事件,让我们在开发时不需要关注网络IO事件对应的细节,以及定时事件中应使用的数据结构,以及何时调用定时任务,所以只需要关注简单的注册和回调流程。这三个事件是网络io事件,定时事件,信号事件。libevent和libev区别libev在libevent基础上做了一些优化。多线程问题libevent由于过度依赖全局变量,没有携带上下文信息,对多线程不太友好,需要考虑加锁的问题。libev在注册事件时携带了callback函数,把所需的_libevent libev

zookeeper启动Error: JAVA_HOME is incorrectly set问题解决_error: java_home is incorrectly set: e:\java\jdk1.-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏2次。首先根据错误提示,JAVA_HOME配置错误,找不到java环境。主要原因:在Windows下java默认安装装在C:\Program Files\Java\jdk1.xxx下,路径中存在空格,启动时会找不到正确的路径,在JAVA_HOME上加""即可在zookeeper目录bin下的zkEnv.cmd中新增:set JAVA_HOMEset JAVA_HOME="C:\Program Files_error: java_home is incorrectly set: e:\java\jdk1.8 expected to find java.ex

操作系统概述_多道批处理系统算不算操作系统-程序员宅基地

文章浏览阅读2.2w次,点赞34次,收藏147次。第一章 操作系统概述2021年9月6日 16:401.1 什么是操作系统1.1.1 操作系统的地位和目标1.1.2 操作系统的作用和组成1.1.3 操作系统举例1.2 操作系统的发展历史1.2.1 推动操作系统发展的主要动力1.2.2 手工操作1.2.3 单道批处理系统(simple batch processing)1.2.4 多道批处理系统(multiprogramming system)1.2.5 分时系统(time-sharing system)1.2_多道批处理系统算不算操作系统

数字化转型背景下的金融交易业务中台实践-程序员宅基地

文章浏览阅读140次。引言:目前金融业IT系统大多由业务部门或渠道进行竖井式建设,这种模式的好处是系统专业性强,但同时也给运营及IT管理部门带来分散性阵痛。那么如何在强监管与统一风控的形势下,实现统一管控、快速响应、应需而变、按期交付?中台架构就是在这种背景下应运而生。本文主要以某城商行基于BIIP实施的交易中台的实践案例展开分享,一起和大家探讨企业数字化转型中的背景、技术..._运营转型 业务中台

AWG标准_awg官方规范-程序员宅基地

文章浏览阅读1.5k次。AWG 直径 面积 铜阻抗 (inch) (mm) (kcmil) (mm²) (Ω/km) (Ω/kFT) 0000 (4/0) 0.46 11.684 212 107 0.1608 0.04901 000 (3/0) 0.4096 10.404 168 85 0.202..._awg官方规范

推荐文章

热门文章

相关标签