Повторное использование текста в команде bash

13

Если я пишу длинную команду или просто набираю обширный путь к файлу, есть ли что-нибудь, что я могу «повторно использовать» с помощью некоторого ярлыка команды?

например:

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

Мне действительно нужно вводить все заново?

рыболов
источник

Ответы:

14

Используйте расширение скобки

cp /home/myuser/really/big/file/here/and/there.png{,.bkp}
bbaja42
источник
1
+1 и ты можешь пойти еще короче:cp /home/myuser/really/big/file/here/and/there.{,.bkp}
Майк Фицпатрик
@Peth: Ой, да, ты прав. Таким образом, мы можем на самом деле пойти еще короче: cp /home/myuser/really/big/file/here/and/there{,.bkp}:)
Майк Фицпатрик
4

Кроме того, расширение истории может работать здесь:

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

где !#:1часть относится к первому аргументу команды, которую вы сейчас набираете.

Гленн Джекман
источник
1

Вы можете сэкономить много времени, печатая это, используя расширение вкладки, ярлык тильды и историю команд.

Например,

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

(где [tab] означает «нажать клавишу Tab») будет развернуто

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

Вы также можете напечатать

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

затем нажмите стрелку вверх и просто измените последние три буквы имени файла

CarlF
источник