So vermeiden Sie das Schreiben vollständiger Dateinamen

So vermeiden Sie das Schreiben vollständiger Dateinamen

Ich habe mich gefragt, ob es in der Linux-Shell eine Möglichkeit gibt, den ersten eindeutigen Teil eines Datei- oder Verzeichnisnamens einzugeben und dann "~" oder "..." hinzuzufügen und so das Schreiben des gesamten Dateinamens zu vermeiden.

Wenn ich zum BeispielCDzum Verzeichnis

example-program-source-0.11.229-dev

Anstatt zu schreiben

cd example-program-source-0.11.229-dev

Nur so etwas zu schreiben

cd example-program...

Oder

cd example-program~

Ich denke, dass so etwas in die Shell integriert sein sollte, aber ich weiß nicht, wonach ich genau suchen soll.

Antwort1

Die meisten Shells unterstützen die sogenannte „Tab-Vervollständigung“. Geben Sie einfach den eindeutigen Teil des Dateinamens ein und drücken Sie dann Ihre TabTaste. Die Shell sollte den Rest des Dateinamens automatisch für Sie vervollständigen. Wenn es immer noch mehrere Dateien gibt, die mit dem übereinstimmen, was Sie bisher eingegeben haben, durchläuft die Shell entweder die übereinstimmenden Dateien, wenn Sie drücken Tab, oder druckt eine Liste aller übereinstimmenden Dateien aus, wenn Sie doppelt drücken Tab, je nach Konfiguration. Bash druckt standardmäßig eine Liste aus, wenn Sie Tabzweimal tippen.

Antwort2

Sie können *als Platzhalter verwenden:

cd example-program*

Beachten Sie, dass sich dies ausdehnt aufalledie Dateien, die dem Platzhalter entsprechen. In Ihrem Fall können Sie ihn nur verwenden, wenn nur ein Pfad mit beginnt example-program. Wenn mehrere Verzeichnisse mit dem Präfix vorhanden sind, würde der Befehl beispielsweise wie folgt erweitert:

cd example-program-source-0.11.229-dev example-program-other example-program.txt

Dies kann nützlich sein, wenn Sie tatsächlichwollenum mit mehreren Dateien zu arbeiten, beispielsweise wenn Sie den Inhalt aller .logDateien in einem Ordner anzeigen möchten:

cat *.log

verwandte Informationen