Ponownie użyj tekstu w poleceniu bash

13

Jeśli piszę długie polecenie lub po prostu wpisuję obszerną ścieżkę pliku, czy jest coś, co mogę „ponownie użyć” za pomocą skrótu polecenia?

na przykład:

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

Czy naprawdę muszę to od nowa pisać?

Rybak
źródło

Odpowiedzi:

14

Użyj rozszerzenia nawiasu klamrowego

cp /home/myuser/really/big/file/here/and/there.png{,.bkp}
bbaja42
źródło
1
+1 i możesz iść jeszcze krócej:cp /home/myuser/really/big/file/here/and/there.{,.bkp}
Mike Fitzpatrick
@peth: Ups, tak, masz rację. Możemy więc skrócić czas: cp /home/myuser/really/big/file/here/and/there{,.bkp}:)
Mike Fitzpatrick
4

Także ekspansja historii może tutaj działać:

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

gdzie !#:1część odnosi się do pierwszego argumentu aktualnie wpisywanego polecenia.

Glenn Jackman
źródło
1

Możesz zaoszczędzić dużo czasu, wpisując to, używając rozszerzenia tabulacji, skrótu tyldy i historii poleceń.

Na przykład,

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

(gdzie [tab] oznacza „naciśnij klawisz Tab”) rozwija się do

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

Możesz także wpisać

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

następnie naciśnij strzałkę w górę i po prostu zmień ostatnie trzy litery nazwy pliku

CarlF
źródło