Рейтинг:3

Предложение командной строки Ubuntu

флаг cn

Я использую Ubuntu 20.04 и пытаюсь к ней привыкнуть. но повторять ту же команду в терминале довольно скучно. я просто хочу получить какое-то предложение, чтобы избавиться от него, и как я могу получить видимое предложение командной строки в терминале.

уточнить.. Я пытаюсь спросить, мне нужно предложение командной строки, когда я пишу команду или пытаюсь написать (если мне нужно установить какое-либо приложение, предложите, пожалуйста)

sudodus avatar
флаг jp
Вы используете Ubuntu Desktop с графической средой рабочего стола или Ubuntu Server с интерфейсом текстового экрана?
pugi avatar
флаг vn
Я рекомендую проверить 2 полезных ответа на этот [автозаполнение вопроса в Ubuntu] (https://askubuntu.com/q/280327/1193677)
флаг cn
В `истории` хранится многое из того, что вы делали :)
флаг us
Вы ищете _любое_ предложение по завершению или _только_ относительно ваших ранее выполненных команд (см. `история`)?
Рейтинг:8
флаг cn

Если вы используете стрелку вверх на клавиатуре, ваш терминал напишет последнюю строку. Вы можете использовать это несколько раз, чтобы вернуться на несколько команд назад. Если вы зашли слишком далеко, используйте стрелку вниз, чтобы сделать наоборот. Вы также можете написать "!!" и он заменит это последней командой во время выполнения (после того, как вы нажали ввод). Этот трюк также можно использовать внутри команды, чтобы добавить что-то к команде.

Если вы нажмете «Tab», ваш терминал попытается выполнить команду, если это очевидно, чего вы хотите, и если это не очевидно, вы можете снова нажать Tab, чтобы увидеть команды, которые вы можете сделать из этой не столь очевидной команды.

Изменить, я не знаю, работает ли это на сервере Ubuntu, но работает на рабочем столе.

Изменить, добавить информацию на основе комментариев

sudodus avatar
флаг jp
Да, это работает и в Ubuntu Server :-)
флаг cn
и `history` для нумерованного списка, где вы можете использовать !111 для выполнения строки 111 и !! также можно использовать для добавления «sudo», если вы забыли добавить его в предыдущей команде. Эти пользователи Windows не знают, чего им не хватает ;-)
Will avatar
флаг id
И на тему использования стрелки вверх: вы можете нажимать ее столько раз, сколько хотите, чтобы прокрутить историю вверх — полезно, если вы знаете, что недавно набирали команду, но не можете точно вспомнить, сколько это было (& если вы промахнулись, вы можете вернуться назад). Есть несколько советов по навигации по строке, если вы хотите отредактировать недавнюю команду: те, которые я считаю наиболее полезными, это ctrl-a для перехода к началу строки, ctrl-e для перехода в конец, meta-f для перехода вперед 1 слово и мета-б назад на 1 слово.
Irsu85 avatar
флаг cn
Спасибо @Will, я включу это в свой ответ.
André Stannek avatar
флаг us
Вы можете добавить, что двойная «вкладка» дает вам список предложений, если автозаполнение неоднозначно.
Irsu85 avatar
флаг cn
Добавлено, спасибо Андре
Рейтинг:5
флаг gr

Другой вариант исходит из установки фзф (нечеткий поиск командной строки): это интерактивный фильтр для командной строки, который можно использовать с любым списком, включая историю команд.

У вас есть два альтернативных способа установки:

  • sudo apt установить fzf или же
  • git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf && ~/.fzf/install

Я предлагаю второй, потому что он также устанавливает привязки клавиш, в то время как версия в репозиториях Ubuntu устанавливает фзф исполняемый один.

Привязки клавиш важны, потому что после активации, если вы нажмете CTRL+р и начните вводить текст, вы можете искать команду в своей истории.

На картинке ниже вы можете видеть, что ввод меткая установка Я получил список соответствующих команд из истории моего терминала.

фзф

Для получения более подробной информации вы можете посетить GitHub fzf-страница.

qwr avatar
флаг kr
qwr
Стоит отметить, что Ctrl-R встроен и отображает предыдущие совпадения истории и может выполнять поиск вперед и назад.
Рейтинг:3
флаг us

Вы можете «просмотреть» свою историю команд, выполненных в прошлом, используя обратный поиск внутри терминала:

  1. Нажимать Ctrl + р
  2. Введите команду (или ее часть)
  3. Нажимать Ctrl + р снова, чтобы просмотреть совпадения (повторите, если требуется).
  4. Нажимать Войти (или же Ctrl + О) к Евыполнить матч или же Нажмите Ctrl + С (или же Ctrl + г) к Сангел обратный поиск.
флаг cn
(Или просто нажмите Enter, чтобы выполнить совпадение)
HolyBlackCat avatar
флаг cn
«Ввод», похоже, также выполняет совпадение. «Конец» или стрелки позволят вам отредактировать команду перед ее запуском. Ctrl+C также прерывает поиск и, вероятно, его легче запомнить.
Irsu85 avatar
флаг cn
Клавиши со стрелками также позволяют редактировать команду
Рейтинг:3
флаг cn

Есть много способов поиска в истории bash для ускорения работы. Обычно используется, чтобы добавить следующие строки в ваш .inputrc файл в вашем ~ каталог:

"\e[A": история-поиск-назад
"\e[B": поиск в истории вперед

Теперь начните вводить первые несколько символов команды (которую вы использовали ранее) и нажимайте клавиши со стрелками вверх и вниз, чтобы увидеть свои команды.

Рейтинг:2
флаг sa

Пара очень простых трюков, которые очень полезны, когда вам нужно запускать очень похожие команды всего с парой изменений:

  • Ты можешь использовать ^строка^замена^ чтобы запустить предыдущую команду, но заменив первое вхождение нить с замена. Например:

    $ echo "Здравствуйте, генерал Кеноби. Что у вас там?"
    $ ^здесь^мир^
    echo "Здравствуйте, генерал Кеноби. Что у вас там?"
    Привет, мир, генерал Кеноби. Что у тебя там?
    

    Обратите внимание, что он выводит команду, которая фактически выполняется, а затем у вас есть фактический вывод

  • Ты можешь использовать !!:gs/шаблон/замена/ для запуска предыдущей команды со всеми вхождениями регулярного выражения шаблон заменяется замена.

     $ echo "Здравствуйте, генерал Кеноби. Что у вас там?"
    Здравствуйте, генерал Кеноби. Что у тебя там?
    $ !!:gs/там/мир/
    echo "Здравствуйте, генерал Кеноби. Какой у вас мир?"
    Привет, мир, генерал Кеноби. Какой у вас мир?
    

    Обратите внимание, что оба экземпляра там были изменены.

  • Ты можешь использовать Альт+. чтобы вставить последний аргумент предыдущей команды. Если вы продолжаете нажимать ярлык, вы циклически повторяете предыдущие команды:

    $ эхо
    $ эхо б
    $ эхо с
    $эхо...
    

    В последней строке нажатие Альт+. один раз вставлю с, повторное нажатие заменит его на б и снова для а.

    Вы также можете использовать Альт+1 а потом Альт+. чтобы вставить первый аргумент вместо последнего, аналогично для 2-го, 3-го и т. д.:

    $ эхо а б в
    $ эхо 
    

    Здесь делают Альт+1 Альт+. будет вставлять а, при использовании 2 на месте 1 заменит б и так далее.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.