欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

locate : command not found updatedb : command not found 有大用

shiping1 的头像

 

云锁操作系统加固要关掉


image.png

centOS locate : command not found 问题解决

分类: Linux基础 809人阅读 评论(0) 收藏 举报

跟随鸟哥的Linux私房菜进行学习的过程中,用locate 查找文件

提示

-bash: locate: command not found

 

那就先updatedb一下吧

提示

-bash: updatedb: command not found

 

baidu说updatedb 不能用先要安装 slocate

yum install slocate

提示

找不到 slocate 相应的包

 

 原来是mlocate已经替换slocate了-------

[root@localhost tmp]# yum -y install mlocate

Loaded plugins: fastestmirror              

Loading mirror speeds from cached hostfile 

* base: mirrors.btte.net                  

* extras: mirrors.btte.net                

* rpmforge: ftp.riken.jp                  

* updates: mirrors.btte.net               

Setting up Install Process                 

Resolving Dependencies                     

--> Running transaction check              

---> Package mlocate.i686 0:0.22.2-4.el6 set to be updated

--> Finished Dependency Resolution                       

Dependencies Resolved

==================================================================================================

Package                Arch                Version                     Repository           Size

==================================================================================================

Installing:                                                                                      

mlocate                i686                0.22.2-4.el6                base                 85 k

Transaction Summary

==================================================================================================

Install       1 Package(s)                                                                       

Upgrade       0 Package(s)                                                                       

Total download size: 85 k

Installed size: 273 k   

Downloading Packages:   

mlocate-0.22.2-4.el6.i686.rpm                                              |  85 kB     00:00    

Running rpm_check_debug                                                                          

Running Transaction Test                                                                         

Transaction Test Succeeded                                                                       

Running Transaction                                                                              

  Installing     : mlocate-0.22.2-4.el6.i686                                                  1/1

Installed:

  mlocate.i686 0:0.22.2-4.el6                                                                    

Complete!

但是

[root@localhost tmp]# locate passwd

locate: can not stat () `/var/lib/mlocate/mlocate.db': 没有那个文件或目录

安装成功了,现在使用 updatedb 命令来创建locate命令依赖的数据库。

[root@localhost tmp]# updatedb

这样就OK

来自 http://blog.csdn.net/vonzhoufz/article/details/8762865



运行locate命令时,系统报错:locate: command not found。查了相关资料,发现原因是系统上没有该执行文件,就需要安装。解决方案如下:

 执行命令:[root@centos62server ~]# yum install locate   //看locate属于哪个软件包

 查出来mlocate.x86_64 : An utility for finding files by name
 执行:[root@centos62server ~]# yum install mlocate
 mlocate安装完成之后,再执行locate命令,就不会报错

 

出现locate: command not found 还有一种原因是系统路径不对,分析和解决方案如下:

command not found,意思是命令没有找到。linux下的文件都有一个路径,要对该文件进行操作,必须指定准确的路径。就像执行/bin/ls时,可以输出当前目录里面的文件及目录。
但是直接输入ls为什么也可以达到这个效果呢?这是因为,linux定义了一个全局变量PATH,在命令行输入
echo $PATH
会有如下输出:
/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin
即,linux将常用命令的路径写入变量PATH,我们输入单个命令时,系统会在PATH中自动寻找该命令,如果没有找到,就会报错locate: command not found
现在用find / -name locate找一下是否有locate这个命令,如果有,按绝对路径来执行或者将路径写入PATH,即不会报错了
附:如何写入PATH,有两种方法
1、PATH=$PATH:path(退出当前shell,则失效)
2、编辑用户家目录下的~/.bash_profile文件(可以永久使用)

来自 http://song-hope.blog.163.com/blog/static/3705494220121119102723711/


 


普通分类: