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
/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
-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
/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 ]
© 2004-2021 by Georg Kainzbauer