
Ich bin vor Kurzem für den Privatgebrauch von OSX auf Linux umgestiegen. Ich habe einen Home-Media-Server, auf dem Ubuntu ohne Benutzeroberfläche läuft, und jetzt einen Laptop, auf dem Mint läuft. Normalerweise verschiebe ich Dinge mit auf den Server scp
. Früher, unter OSX, musste ich beim Eintippen von „Ziel kopieren“ jedes Zeichen des Pfads mühsam eingeben, denn wenn ich aus Gewohnheit versuchte, mit Tab zu vervollständigen, reagierte der Computer launisch und ich musste von vorne beginnen. Ich habe jedoch gerade die SSH-Schlüssel meines neuen Computers eingerichtet und war dabei, scp
eine Datei vom Laptop auf den Server zu übertragen, als ich versehentlich die Tabulatortaste drückte und zu meiner großen Überraschung der Pfad korrekt vervollständigte! Ist das normales Verhalten? Warum hat es auf Term2 unter OSX nicht funktioniert? Beachten Sie, dass ich in einem anderen Terminalfenster eine offene Verbindung zum Server hatte.
Antwort1
Dies ist die Befehlsvervollständigung Ihrer Shell in Aktion: Sie „weiß“, dass sie, wenn die aktuelle Befehlszeile mit beginnt scp
, in bestimmten Kontexten eine Verbindung zum Zielsystem herstellen muss (falls möglich), um dort Pfade zu vervollständigen. Dies kann transparent erfolgen, da Sie Ihren Schlüssel geladen haben.
/usr/share/bash-completion/completions/scp
Sie werden dies normalerweise in (wenn Sie Bash verwenden) oder /usr/share/zsh/functions/Completion/Unix/_ssh
(für Zsh) implementiert sehen .