Вы должны прочитать man bash в вашей системе, особенно раздел Readline, так как это интерактивный механизм ввода bash.  В руководстве по Bash на gnu.org есть хороший раздел по редактированию командной строки , который поможет заполнить некоторые пробелы.
По умолчанию вы можете использовать их для перемещения по командной строке (просто перечислите несколько здесь; см. Ссылку для полного списка):
- Ctrl+a перемещает в начало строки (или Home в зависимости от настроек терминала)
 
- Ctrl+e перемещается в конец строки (или End ...)
 
- Meta+f продвигает "слово"
 
- Meta+b движется назад на "слово"
 
Вы можете использовать их, чтобы "убить" (или "вырезать") текст из строки:
- Ctrl+k убивает ("режет") текст с текущей позиции курсора до конца строки
 
- Ctrl+y возвращает ("вставляет") последний убитый текст обратно в буфер по курсору
 
Таким образом, вы можете объединить их, чтобы выбрать кусок какой-то командной строки, которую вы хотите повторить, убить ее, а затем вставить в конец следующей команды.
Теперь, чтобы сделать его еще более увлекательным, давайте рассмотрим расширение истории bash.  Это то !! ответ того Студера упоминает.  Расширение истории разбивается на указатели событий, обозначения слов и модификаторы.
Обозначения событий выглядят следующим образом (снова см. Ссылки для полного списка):
! - начинается подмена истории 
!n - n-я команда в списке истории bash, для некоторого целого числа n (работает и для негативов) 
!! - предыдущая команда; эквивалентно !-1 
!string - самая последняя команда, начинающаяся со строки 
Обозначения слов выбирают определенные части из события.  Использование : для отделения события от обозначения слова.  Слова нумеруются от 0, начиная с начала строки, и вставляются в текущую строку, разделенные пробелами.
$ - обозначает последний аргумент (например, !!:$ - последний аргумент последней команды; может быть сокращен до !$) 
n - обозначает n-е слово (например !str:2 является вторым аргументом самой последней команды, начинающейся с str ; !!:0 это команда последней команды)
 
Итак, для продолжения вашего примера, если ваша последняя команда mkdir /some/really/long/path , просто выполняется !! снова запустит эту команду.  Но вы хотите , чтобы cd в этот путь вместо:
$ cd !$
Теперь предположим, что вы выполняете некоторые другие команды, а затем хотите снова вернуться к этому пути.  Если это была последняя команда mkdir, которую вы выполнили, вы можете использовать это, чтобы повторить этот путь:
$ tar czf ~/foo.tgz !mkdir:$