更新Bash路径的缓存
---恢复内容开始---
1、登陆一个新的vps时候,发现git的版本是1.8的,太久了,于是就源码安装了新的版本2.4。
2、老版本在/usr/bin/git,新版本安装的/usr/local/bin/git
3、问题来了,安装完新的后,卸载了旧的版本,在运行git --version时,却提示如下错误:
-bash: /usr/bin/git: No such file or directory
4、我去,bash只搜索旧的路径,查看了一下PATH变量:
[root@noi bin]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
没有问题,而且/usr/local/bin还在前面,但系统却不搜索,我晕,这是啥问题?
5、经过一番折腾,终于找到答案,原来Bash路径也是有缓存地,只要运行过的命令,bash就会保存到一张hash表里,下次直接从hash表里找地址,就不按个路径找了。
6、运行:help hash查看一下:
[root@noi bin]# help hash
hash: hash [-lr] [-p pathname] [-dt] [name ...]
Remember or display program locations. Determine and remember the full pathname of each command NAME. If
no arguments are given, information about remembered commands is displayed. Options:
-d forget the remembered location of each NAME
-l display in a format that may be reused as input
-p pathname use PATHNAME is the full pathname of NAME
-r forget all remembered locations
-t print the remembered location of each NAME, preceding
each location with the corresponding NAME if multiple
NAMEs are given
Arguments:
NAME Each NAME is searched for in $PATH and added to the list
of remembered commands. Exit Status:
Returns success unless NAME is not found or an invalid option is given.
7、在运行hash命令,查看hash表里都有啥?
[root@noi bin]# hash
hits command
/usr/bin/git
/usr/sbin/ifconfig
/usr/bin/rm
/usr/bin/vim
/usr/bin/wget
/usr/bin/mv
/usr/bin/yum
/usr/bin/ln
/usr/bin/man
/usr/bin/make
/usr/bin/tar
/usr/bin/ls
果然,第一个就是git,而且地址还是老地址。
8、运行: hash -d git 删除掉git的缓存。
9、再次执行git --version 哈哈,正确显示了新安装的版本。
---恢复内容结束---
更新Bash路径的缓存的更多相关文章
- day37 05-HIbernate二级缓存:一级缓存更新同步到二级缓存及二级缓存配置文件
一级缓存的更新会自动同步到二级缓存. @SuppressWarnings("all") @Test // 将内存中的数据写到硬盘 public void demo7(){ Sess ...
- LBWE更新模式切换问题:缓存清理
声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...
- Xcode证书路径和缓存清理路径
1.Xcode证书路径: ~/Library/MobileDevice/Provisioning Profiles 2.Jenkines共享证书路径: /用户/共享/Jenkins/Library/M ...
- web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
问题描述 最近将公司官网样式进行了调整,部署到服务器后访问发现页面展示不正常,但是刷新之后就会展示正常. 问题分析 研究之后发现可能的原因有 css文件过大,加载缓慢 本地缓存问题,虽然服务器修改了c ...
- 【转载】web网站css,js更新后客户浏览器缓存问题,需要刷新才能正常展示的解决办法
原文:http://blog.csdn.net/csdn100861/article/details/50684438 问题描述 部署到服务器后访问发现页面展示不正常,但是刷新之后就会展示正常. 问题 ...
- Xcode插件路径、缓存路径、图片压缩工具路径、代码片段路径、symbolicatecrash路径
Xcode插件路径 ~/Library/Application\ Support/Developer/Shared/Xcode/Plug-ins Xcode缓存路径 ~/Library/Devel ...
- 洛谷 P3384 【模板】树链剖分-树链剖分(点权)(路径节点更新、路径求和、子树节点更新、子树求和)模板-备注结合一下以前写的题目,懒得写很详细的注释
P3384 [模板]树链剖分 题目描述 如题,已知一棵包含N个结点的树(连通且无环),每个节点上包含一个数值,需要支持以下操作: 操作1: 格式: 1 x y z 表示将树从x到y结点最短路径上所有节 ...
- BZOJ 1036: [ZJOI2008]树的统计Count-树链剖分(点权)(单点更新、路径节点最值、路径求和)模板,超级认真写了注释啊啊啊
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 23015 Solved: 9336[Submit ...
- POJ 3237.Tree -树链剖分(边权)(边值更新、路径边权最值、区间标记)贴个板子备忘
Tree Time Limit: 5000MS Memory Limit: 131072K Total Submissions: 12247 Accepted: 3151 Descriptio ...
随机推荐
- java中copy 一个list集合的方法
java将一个list里的数据转移到另外一个list,可以使用for语句,一次使用add方法,示例如下: ArrayList list1=new ArrayList(); list1.add(&quo ...
- TCP三次握手连接和TCP四次挥手及大量TIME_WAIT解决方法:
1.TCP建立连接,三次握手 建立的TCP连接可靠的连接,必须经过三次握手建立连接才能正式通信彼此传输数数据. 客户端请求服务端建立连接 第一次握手:客户给服务发送一个请求报文SYN, 客户端的状态置 ...
- 如何理解redo和undo
redo和undo的区别 redo--> undo-->datafileinsert一条记录时, 表跟undo的信息都会放进 redo 中, 在commit 或之前, redo 的信 ...
- 如何编写一个shellcode
ShellCode的编写就是将函数或变量在内存中的间接地址改为函数或变量在内存中的直接地址,直接调用! 以MessageBox函数为例进行讲解如下 新建shellcode.cpp: 编写代码如下: 运 ...
- JVM调优思路
一.jvm内存调优 (Gc 和 Full gc) hotspot -Xms40m 最小堆内存 -Xmx512m 最大值内存 -verboose:gc -XX:PrintGCDetails -XX: ...
- Jupyter Notebook 快捷键
Jupyter Notebook 快捷键 从命令模式进入编辑模式需按 Enter 键,从编辑模式切换到命令模式需按Esc 键. Jupyter Notebook 是一个交互式笔记本程序, 其有丰富的快 ...
- Java笔记16:多线程共享数据
一.Thread实现 public class ThreadDemo4 { publicstaticvoid main(String[] args) { new ThreadTest4().start ...
- sudo 添加
sudo 添加 /etc/sudoers 找到root ALL=(ALL) ALL那一行, 复制之后,修改用户名:
- python——关于Python Profilers性能分析器
1. 介绍性能分析器 profiler是一个程序,用来描述运行时的程序性能,并且从不同方面提供统计数据加以表述.Python中含有3个模块提供这样的功能,分别是cProfile, profile和ps ...
- T-SQL 数据库的创建
create database databaseNameon primary( Name =dbName1, FileName='C:\mydatabase1\dbName1.mdf', Siz ...