Good to Know Database

Befehls-Cache der Linux-Shell löschen


Wenn Sie in der Linux-Shell einen Befehl aufrufen, werden die in der Umgebungsvariable PATH gespeicherten Verzeichnisse nach dem Programm beziehungsweise nach dem Skript durchsucht. Nachdem die ausführbare Datei gefunden wurde, wird diese gestartet und der vollständige Pfad in einem Befehls-Cache für zukünftige Aufrufe zwischengespeichert.

Die Umgebungsvariable PATH können Sie sich mit dem folgenden Befehl anzeigen lassen.

[root@centos5 ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

Sollten Sie ein Programm oder ein Skript verschieben (hier wurde zum Beispiel /usr/bin/inadyn nach /usr/local/bin/inadyn verschoben), kann es sein, dass Sie die folgende Fehlermeldung erhalten.

[root@centos5 ~]# inadyn
-bash: /usr/bin/inadyn: Datei oder Verzeichnis nicht gefunden

In diesem Fall wird das Programm inadyn im Verzeichnis /usr/bin/ gesucht weil im Cache noch immer dieser Pfad gespeichert ist. Mit dem Befehl hash und der Option -t können Sie überprüfen welcher Pfad zur ausführbaren Datei im Cache gespeichert ist.

[root@centos5 ~]# hash -t inadyn
/usr/bin/inadyn

Damit dieser Eintrag aktualisiert wird, löschen Sie Ihn einfach mit dem folgenden Befehl. Beim nächsten Aufruf der ausführbaren Datei wird der Cache-Eintrag neu angelegt.

[root@centos5 ~]# hash -d inadyn

Wenn Sie den gesamten Cache löschen wollen, verwenden Sie die Option -r.

[root@centos5 ~]# hash -r


Dieser Eintrag wurde am 28.12.2009 erstellt und zuletzt am 11.09.2010 bearbeitet.

Direkter Link zu dieser Seite: http://www.gtkdb.de/index_7_828.html

[ Zur Startseite ]   [ Zur Kategorie ]


Valid XHTML 1.0 Transitional Valid CSS Valid Atom 1.0

© 2004-2018 by Georg Kainzbauer