hash命令 顯示 新增或清除雜湊表

2021-07-25 19:17:18 字數 1607 閱讀 1073

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

Redis命令 雜湊 Hash

redis hash 是乙個string型別的field和value的對映表,hash特別適合用於儲存物件。redis 中每個 hash 可以儲存 232 1 鍵值對 40多億 例項 127.0.0.1 6379 hmset mykey name redis tutorial description...

Redis 雜湊 Hash 命令

redis hash 是乙個 string 型別的 field 字段 和 value 值 的對映表,hash 特別適合用於儲存物件。描述 命令hset 將雜湊表key中的字段field的值設為value hgetall 獲取在雜湊表中指定key的所有欄位和值 hget 獲取儲存在雜湊表中指定欄位的值...

Redis 雜湊 Hash 命令

redis hash 是乙個 string 型別的 field 字段 和 value 值 的對映表,hash 特別適合用於儲存物件。redis 中每個 hash 可以儲存 2 32 1 鍵值對 40多億 127.0.0.1 6379 hmset mykey name redis tutorial d...