Wiederverwenden von Text mit einem Bash-Befehl

13

Wenn ich einen langen Befehl schreibe oder nur einen umfangreichen Dateipfad eingebe, gibt es einen, den ich mit einer Befehlsverknüpfung "wiederverwenden" kann?

z.B:

1.cp /home/myuser/really/big/file/here/and/there.png /home/myuser/really/big/file/here/and/there.png.bkp

Muss ich es wirklich noch einmal eingeben?

Fischer
quelle

Antworten:

14

Verwenden Klammernerweiterung

cp /home/myuser/really/big/file/here/and/there.png{,.bkp}
bbaja42
quelle
1
+1 und Sie können noch kürzer gehen:cp /home/myuser/really/big/file/here/and/there.{,.bkp}
Mike Fitzpatrick
@peth: Ups, ja, du hast recht. Also wir eigentlich können sogar kürzer gehen: cp /home/myuser/really/big/file/here/and/there{,.bkp}:)
Mike Fitzpatrick
4

Auch die Erweiterung der Historie kann hier funktionieren:

cp /home/myuser/really/big/file/here/and/there.png !#:1.bkp

Dabei !#:1verweist der Teil auf das erste Argument des Befehls, den Sie gerade eingeben.

Glenn Jackman
quelle
1

Durch die Verwendung der Tabulatorerweiterung, der Tilde-Verknüpfung und des Befehlsverlaufs können Sie viel Zeit bei der Eingabe sparen.

Zum Beispiel,

~/r[tab]/b[tab]/f[tab]/h[tab]/a[tab]/t[tab]/

(wobei [tab] bedeutet "Drücken Sie die Tabulatortaste") würde zu erweitern

/home/myuser/really/big/file/here/and/there

Sie könnten auch tippen

cp /home/myuser/really/big/file/here/and/there.png /some/destination

Drücken Sie dann den Aufwärtspfeil und ändern Sie einfach die letzten drei Buchstaben des Dateinamens

CarlF
quelle