Форум OlegON > Компьютеры и Программное обеспечение > Операционные системы и программное обеспечение > Linux

Как повторно выполнять команды и использовать объекты в BASH : Linux

23.11.2024 4:00


31.08.2016 09:47
Собственно, есть тема, однако должен выделить отдельно возможности BASH по повторному использованию команд и файлов, что ускоряет работу в консоли в целом.

Во-первых, конечно, если повторять команду, которую вы только что выполнили, можно нажать стрелку вверх и Enter, это безопаснее, чем если вы введете !!, что выполнит предыдущую команду без подтверждения.

Однако, если команда где-то далеко в истории, то листать становится неудобно. В этом случае можно использовать команду
Код:
history
которая выведет все предыдущие команды на экран. Обратите внимание, что строки пронумерованы, поэтому можно обратиться к конкретной команде, вызвав ее по номеру, например, 245 команду из списка можно повторить командой
Код:
!245
конечно, ничто не мешает выделить ее мышью, если вы работаете в соответствующем терминале.

Не забывайте уже упомянутую по ссылке выше возможность использовать Ctrl-R для поиска по истории (просто набирайте часть команды после нажатия эти клавиш и повторяйте нажатия, чтобы искать следующие похожие команды)

Можно использовать не только поиск, но и быстрый выбор предыдущего объекта, например, вы посмотрели какой-то файл
Код:
cat /etc/init.d/smartd
удивились его содержимому и решили посмотреть, когда же этот файл был изменен. Конечно, можно нажать стрелку вверх и поправить команду, однако быстрее написать
Код:
ls -l
и нажать клавишу ESC, а потом клавишу ".", что приведет к повторному вводу /etc/init.d/smartd или любого другого использованного перед этим файла или команды.

Не забывайте о возможности исправить предыдущую команду без ее прямого редактирования.
03.10.2016 10:15
Очень понравилось, что в BASH есть "буфер обмена"
Набираете что-то в командной строке, нажимаете Ctrl-U, после чего далее можете нажимать Ctrl-Y для вставки вырезанного, например, если забыли написать sudo и т.п.
Часовой пояс GMT +3, время: 04:00.

Форум на базе vBulletin®
Copyright © Jelsoft Enterprises Ltd.
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.