Что о тебе скажут другие, коли ты сам о себе сказать не можешь? (К. Прутков).

15 Примеров освоения истории командной строки в Linux

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (2 оценок, среднее: 5,00 из 5)
Загрузка...

Статья опубликована: 20 марта 2017

15 Примеров освоения истории командной строки в Linux
При использовании командной строки Linux часто, эффективно используя историю может быть важным стимулом производительности. На самом деле, как только вы освоите 15 примеров, которые мы предоставили здесь, вы найдете применение командной строки более приятным и увлекательным.

1. Отображение временной метки с помощью HISTTIMEFORMAT

Как правило, когда вы вводите историю из командной строки, он выводит команду # и команду. Для аудита целей, это может быть полезно для отображения timepstamp вместе с командой, как показано ниже.

2. Выберите историю с помощью Control + R

Мы твердо верим, что это может быть наиболее часто используемая функция истории. Когда вы уже выполнили очень длинную команду, вы можете просто посмотреть историю поиска, используя ключевое слово и повторно выполнить ту же команду, без необходимости полностью вводить ее снова. Нажмите Control + R и введите ключевое слово. В следующем примере, мы искали red, которая отображалась в предыдущей команде “cat /etc/redhat-release” в истории, которая содержала слово red.

 

Иногда вы хотите отредактировать команду из истории перед ее выполнением. Для примера, вы можете искать httpd, которая будет отображать service httpd stop из истории команд, выберите эту команду и измените остановку на запуск и заново запустить ее снова, как показано ниже.

3. Повторить предыдущую команду быстро, используя 4 различных метода

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

  1. Используйте стрелку вверх, чтобы просмотреть предыдущую команду и нажмите клавишу ВВОД, чтобы выполнить ее.
  2. Введите !! и нажмите ввод из командной строки
  3. Введите !-1 и нажмите ввод из командной строки.
  4. Нажмите Ctrl + P, она отобразит предыдущую команду, нажмите клавишу ENTER, чтобы выполнить ее.

4. Выполнить специальную команду из истории

В следующем примере, если вы хотите повторить команду #4, вы можете сделать так: !4, как показано ниже.

5. Выполните предыдущую команду, которая начинается с конкретного слова

Тип ! за которым следуют несколько букв команды, которые вы хотели бы повторно выполнить. В следующем примере, набрав !ps и клавишу ввода, выполнив предыдущую команду, начиная с ‘ps aux | grep yp’.

6. Контроль общего количество строк в истории с использованием HISTSIZE

Добавьте следующие две строки в .bash_profile и войти снова к оболочку Bash, чтобы увидеть изменения. В этом примере только 450 команд будет сохранены в истории Bash.

7. Измените имя файла с помощью истории HISTFILE

По умолчанию, история хранится в файле ~/.bash_history. Добавьте следующую строку в файл .bash_profile и повторный вход в оболочку Bash, чтобы сохранить команду в файле истории .commandline_destroyer вместо файла .bash_history. Мы до сих пор выясняем практическое применение для этого. Мы можем видеть это, чтобы привыкнуть, если вы хотите отслеживать команды, выполняемые из различных терминалов, используя другое имя файла хронологии.

 

Если у вас есть хороший повод изменить имя файла истории, пожалуйста, поделитесь с нами, так как нам интересно узнать, как вы используете эту функцию.

8. Устранить непрерывную повторную запись из истории с помощью HISTCONTROL

В следующем примере pwd было напечатано три раза, когда вы делаете историю, вы можете увидеть все 3 непрерывные вхождения его. Для устранения дубликатов, установите HISTCONTROL к ignoredups, как показано ниже.

9. Сотрите дубликаты через всю историю, используя HISTCONTROL

В ignoredups показанные выше, удаляет дубликаты, только если они являются последовательными командами. Для устранения дубликатов через всю историю, установите HISTCONTROL к erasedups, как показано ниже.

10. Не в силах вспомнить конкретную команду, используя HISTCONTROL

При выполнении команды, вы можете указать историю игнорированных команд, установив HISTCONTROL в ignorespace и введите пробел перед командой, как показано ниже. Я вижу много начинающих сисадминов волнуются по этому поводу, так как они могут скрыть команду из истории. Это хорошо, чтобы понять, как работает ignorespace. Но, как лучшая практика, не скрывают целенаправленно ничего из истории.

11. Очистить все предыдущие истории с помощью опции -c

Когда-нибудь вы можете очистить всю предыдущую историю, но хотите сохранить историю.

12. Подмена слова из истории команд

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

В приведенном ниже примере !!: $ рядом с командой vi получает аргумент из предыдущей команды к текущей команде.

 

В приведенном ниже примере !^ рядом с командой vi получаем первый аргумент предыдущей команды (т.е. команды cp) к текущей команде (т.е. команде vi).

13. Подставьте конкретный аргумент для конкретной команды.

В приведенном ниже примере, !cp:2 выполняет поиск предыдущей команды в истории, которая начинается с cp и принимает второй аргумент cp и его заменяет на -l команды ls, как показано ниже.

 

В приведенном ниже примере, !cp:$ ищет предыдущую команду в истории, которая начинается с cp и принимает последний аргумент (в данном случае, который также является вторым аргументом, как показано выше) cp и заменяет его в команде Ls -l, как показано ниже.

14. Отключить использование истории с использованием HISTSIZE

Если вы хотите отключить историю все вместе и не хотите, чтобы оболочка Bash запоминала команды, которые вы набрали, установите HISTSIZE в 0, как показано ниже.

15. Игнорировать конкретные команды из истории с использованием HISTIGNORE

Иногда вы не можете загромождать свою историю с базовыми командами, такими как pwd и ls. Используйте HISTIGNORE, чтобы указать все команды, которые вы хотите игнорировать из истории. Обратите внимание, что добавление ls к HISTIGNORE игнорирует только ls а не LS -l. Таким образом, вы должны предоставить точную команду, которую вы хотели бы игнорировать из истории.

15 Примеров освоения истории командной строки в Linux


Читайте также

    Добавить комментарий

    Войти с помощью: 

    Ваш e-mail не будет опубликован. Обязательные поля помечены *

    Заполните форму и наш менеджер перезвонит Вам в самое ближайшее время!

    badge
    Обратный звонок 1
    Отправить
    galka

    Спасибо! Ваша заявка принята

    close
    galka

    Спасибо! Ваша заявка принята

    close