GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie lösche ich den Cache von Bash von Pfaden zu ausführbaren Dateien?

Wenn ich ein Programm ausführe, ohne den vollständigen Pfad zur ausführbaren Datei anzugeben, muss Bash die Verzeichnisse in $PATH durchsuchen Um die Binärdatei zu finden, scheint sich Bash den Pfad in einer Art Cache zu merken. Zum Beispiel habe ich einen Build von Subversion von der Quelle nach /usr/local installiert , dann svnsync help eingetippt an der Bash-Eingabeaufforderung. Bash hat die Binärdatei /usr/local/bin/svnsync gefunden nach „svnsync“ und führte es aus. Als ich dann die Installation von Subversion in /usr/local gelöscht habe und svnsync help erneut ausgeführt , Bash antwortet:

bash: /usr/local/bin/svnsync: No such file or directory

Aber wenn ich eine neue Instanz von Bash starte, findet und führt es /usr/bin/svnsync aus .

Wie lösche ich den Cache von Pfaden zu ausführbaren Dateien?

Akzeptierte Antwort:

bash speichert den vollständigen Pfad zu einem Befehl. Sie können überprüfen, ob der Befehl, den Sie ausführen möchten, mit dem type gehasht ist Befehl:

$ type svnsync
svnsync is hashed (/usr/local/bin/svnsync)

So löschen Sie den gesamten Cache:

$ hash -r

Oder nur ein Eintrag:

$ hash -d svnsync

Weitere Informationen finden Sie unter help hash und man bash .


Linux
  1. So löschen Sie den BASH-Befehlszeilenverlauf in Linux

  2. So löschen Sie den Bash-Verlauf unter Linux

  3. So löschen Sie einen bestimmten Befehl aus dem Bash-Verlauf in Linux

  4. So löschen Sie den Webbrowser-Cache von der Befehlszeile in Linux

  5. So löschen Sie den Speichercache in Linux

So löschen Sie Cache und Cookies in Google Chrome

So installieren Sie KernelCare und löschen den Kernelcare-Cache unter Linux

So löschen Sie den RAM-Speicher-Cache, den Puffer und den Swap-Speicher unter Linux

So führen Sie ein Bash-Skript aus

So löschen Sie den Bash-Verlauf in Linux und Mac

So löschen Sie den DNS-Cache unter Ubuntu