hash命令:显示、添加或清除哈希表

转载 2017年01月03日 22:31:14

linux系统下的hash指令:

 

说明:linux系统下会有一个hash表,当你刚开机时这个hash表为空,每当你执行过一条命令时,hash表会记录下这条命令的路径,就相当于缓存一样。第一次执行命令shell解释器默认的会从PATH路径下寻找该命令的路径,当你第二次使用该命令时,shell解释器首先会查看hash表,没有该命令才会去PATH路径下寻找。

 

hash表的作用:大大提高命令的调用速率

 

hash的参数:

[root@redhat ~]# hash  //输入hash或hash -l 可以查看hash表的内容,我刚开机所以为空
hash: hash table empty
[root@redhat ~]# hash -l
hash: hash table empty

 

当我执行过2条命令后再看:

[root@redhat ~]# hash  //hash表会记录下执行该命令的次数,以及命令的绝对路径
hits command
   1 /bin/cat
   1 /bin/ls
[root@redhat ~]# hash -l  //加参数-l既可以看到hash表命令的路径,也可以看到它的名字,说不定会有别名哦
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls

 

[root@redhat ~]# hash -p /bin/ls bb  //添加hash表,可以看到我把ls命令重新写了一遍,改名为bb

[root@redhat ~]# bb    //当我执行bb时就是执行ls命令
anaconda-ks.cfg        icmp_echo_ignore_aly~  pub.key
dead.letter        icmp_echo_ignore_alz~  rpmbuild
icmp_echo_ignore_all~  install.log       RPM-GPG-KEY-useradd
icmp_echo_ignore_alw~  install.log.syslog     RPM-GPG-KEY-westos
icmp_echo_ignore_alx~  passwd

 

[root@redhat ~]# hash -t ls  //-t参数可以查看hash表中命令的路径,要是hash表中没有怎么办?
/bin/ls

[root@redhat ~]# hash -t df  //我没使用过df,执行hash,就会提示找不到该命令
-bash: hash: df: not found

 

[root@redhat ~]# hash -r  //清楚hash表,清楚的是全部的
[root@redhat ~]# hash -l
hash: hash table empty

 

[root@redhat ~]# hash -l
builtin hash -p /bin/cat cat
builtin hash -p /bin/ls ls
[root@redhat ~]# hash -d cat   //清楚其中的某一条
[root@redhat ~]# hash -l
builtin hash -p /bin/ls ls

freemarker处理哈希表的内建函数

freemarker处理哈希表的内建函数 1、简易说明 (1)map取值 (2)key取值 2、实现示例 freemarker处理哈希表的内建函数 ...
  • you23hai45
  • you23hai45
  • 2014年06月04日 22:46
  • 1243

Redis命令学习—Hash(哈希表)操作

HDEL     HDEL key field [field...]:删除Hash key中的一个或多个域, 不存在的域会被忽略。     返回值:被成功删除的key的数量。 # 测试数据re...
  • fuli_mouren
  • fuli_mouren
  • 2015年06月12日 09:08
  • 2448

Python哈希查找,构建简单哈希表

说实话上学期学完数据结构与算法这门课,接触到了挺多的算法,有难的有简单的,但是当时只是为了交作业硬生生把所有的算法全部都看完背下来,而没有去理解算法的深意以及它的用武之地,正巧这段时间都在看scrap...
  • tingyun_say
  • tingyun_say
  • 2016年06月28日 16:57
  • 4512

散列表 哈希表 原理 python实现

参考算法导论引文 散列表(hash table)是实现字典操作的一种有效的数据结构。尽管最坏的情况下,散列表中查找一个元素的时间与链表中查找的时间相同,达到了O(n)。然而实际应用中,散列的查找的...
  • waltonhuang
  • waltonhuang
  • 2016年08月26日 09:44
  • 2841

R语言——哈希表

前言:在 R 语言中有个包——hash 包提供了我们需要的哈希结构,本文主要介绍该 hash 包的使用。 (使用之前先 install.packages(“hash”) 进行安装)其实,数据框也可以...
  • Bone_ACE
  • Bone_ACE
  • 2015年08月21日 00:25
  • 4749

哈希与多级哈希

最近接触到的项目有用到多级哈希做缓存,趁现在有时间,学习并总结一下
  • a576323437
  • a576323437
  • 2014年05月23日 21:08
  • 1422

redis常见操作命令-hash

1、将hash表中key中的域filed的值设置为value:HSET value key filed value    ;如果key不存在那么创建一个新的hash表,并且进行HSET,如果filed...
  • xyblog
  • xyblog
  • 2016年01月18日 09:27
  • 1284

C++简单实现hash table

哈希表(Hash Table,又称为散列表)是根据关键字(key)来直接访问在内存存储位置的一种数据结构。与循”值”访问对应的访问方式是循”址”访问,如数组、向量vector等。 哈希函数(Hash...
  • big_lobster
  • big_lobster
  • 2014年11月13日 20:08
  • 2678

最简单的哈希表删除元素

有一个简单的Hash表,采用一位数组直接存放元素,Hash函数是个对表长取模,冲突解决采用线性探测。这样的Hash表较容易实现,查找和插入方法都按照先哈希再探测的步骤就可以了,但删除表中的元素稍微复杂...
  • zzxian
  • zzxian
  • 2010年11月25日 17:39
  • 6500

哈希表的插入、查找、删除

散列表(Hash Table,也叫哈希表),是根据关键码值(key value)而进行直接访问的数据结构。它通过关键码值映射到表中的一个位置来访问记录,以加快访问的速度。这个映射函数叫做散列函数,存放...
  • bin_ge_love
  • bin_ge_love
  • 2016年06月09日 13:58
  • 2281
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hash命令:显示、添加或清除哈希表
举报原因:
原因补充:

(最多只允许输入30个字)