Réutiliser le texte sur une commande bash

13

Si j'écris une longue commande ou que je tape simplement un chemin de fichier étendu, puis-je le "réutiliser" avec un raccourci de commande?

par exemple:

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

Dois-je vraiment tout recommencer?

Pêcheur
la source

Réponses:

14

Utiliser l' expansion de l'accolade

cp /home/myuser/really/big/file/here/and/there.png{,.bkp}
bbaja42
la source
1
+1 et vous pouvez aller encore plus court:cp /home/myuser/really/big/file/here/and/there.{,.bkp}
Mike Fitzpatrick
@peth: Oups, oui, vous avez raison. On peut donc aller encore plus court: cp /home/myuser/really/big/file/here/and/there{,.bkp}:)
Mike Fitzpatrick
4

De plus, l'expansion de l'histoire peut fonctionner ici:

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

où la !#:1partie fait référence au premier argument de la commande que vous êtes en train de taper.

glenn jackman
la source
1

Vous pouvez gagner beaucoup de temps en tapant cela en utilisant l'expansion des onglets, le raccourci tilde et l'historique des commandes.

Par exemple,

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

(où [tab] signifie "appuyez sur la touche Tab") se développerait jusqu'à

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

Vous pouvez également taper

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

puis appuyez sur la flèche vers le haut et changez simplement les trois dernières lettres du nom de fichier

CarlF
la source