Reutilizar texto em um comando bash

13

Se estou escrevendo um comando longo ou apenas digitando um caminho de arquivo extenso, existe algum que eu possa "reutilizá-lo" com algum atalho de comando?

por exemplo:

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

Eu realmente tenho que digitar tudo de novo?

Fisher
fonte

Respostas:

14

Usar expansão de chave

cp /home/myuser/really/big/file/here/and/there.png{,.bkp}
bbaja42
fonte
1
+1 e você pode ir ainda mais curto:cp /home/myuser/really/big/file/here/and/there.{,.bkp}
Mike Fitzpatrick
@ peth: Opa, sim, você está correto. Assim, podemos realmente ir ainda mais curto: cp /home/myuser/really/big/file/here/and/there{,.bkp}:)
Mike Fitzpatrick
4

Além disso, a expansão do histórico pode funcionar aqui:

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

onde a !#:1parte se refere ao primeiro argumento do comando que você está digitando no momento.

Glenn Jackman
fonte
1

Você pode economizar muito tempo digitando isso usando a expansão de guias, o atalho de til e o histórico de comandos.

Por exemplo,

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

(onde [tab] significa "pressione a tecla Tab") seria expandido para

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

Você também pode digitar

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

pressione a seta para cima e altere as últimas três letras do nome do arquivo

CarlF
fonte