Советы по настройке history команд в bash

Mozilla Firefox

Процесс очистки истории в веб-браузере Mozilla — очень простая задача. Сначала нам нужно перейти в верхний правый угол и щелкнуть значок нескольких полосок. В появившемся меню заходим в Настройки. Появится такое окно. В нем мы переходим к опции Конфиденциальность и безопасность а с правой стороны мы увидим все, что связано с Историей. Мы узнаем большую кнопку под названием «Чистая история». Это сотрет всю историю нашего веб-браузера. Но перед тем, как удалить его окончательно, появится окно, подобное следующему:

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

В отличие от других браузеров, Mozilla Firefox позволяет нам настраивать элементы истории, которые мы хотим удалить или нет.. На экране, который появляется после нажатия кнопки «Конфиденциальность и безопасность» (см. Выше, чтобы узнать, как туда попасть), мы находим несколько параметров, которые можно проверить, чтобы активировать или снять. Вот что они означают:

  • Постоянный режим приватного просмотра: Осуществляемая нами навигация является анонимной, и некоторые элементы, такие как формы, файлы cookie и т. Д., Не сохраняются в веб-браузере.
  • Помните историю поиска и форм: Эта опция запоминает формы, которые мы использовали, а также результаты поиска, выполненные в полях поиска.
  • Очистить историю при закрытии Firefox: Эта опция позволяет нам очистить просмотр веб-страниц после закрытия веб-браузера. Если мы отметим эту опцию, мы должны нажать кнопку настройки, чтобы указать, какие элементы будут удалены, а какие — нет.
    И вверху всего у нас будет раскрывающееся меню, которое позволит нам запоминать историю, а не запоминать ее или использовать особую конфигурацию.

Проблема с комнадой “clear”

Как было упомянуто выше, команда “clear” одна из самых используемых, для того чтобы очистить терминал и если честно, то для большинства пользователей этого будет достаточно.

Но давайте представим, что в командной строке у вас не Screenfetch, а вы проводите мониторинг сетевой активности с целью выявления возможной попытки взлома и анализ идет с помощью колесика мышки вверх/вниз либо клавишами PgUP/PgDn.

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

Следующий скрин сделан между двумя выводами команды “ls -lart“.

Команды для файлов

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

Список основных команд

  • touch file — создать файл.
  • realpath file — узнать абсолютный путь к файлу.
  • stat file1 — получение информации о «file1» (размер файла, дата создания файла и т. д.) и проверка существования файла.
  • cat > file — запись в файл.
  • cat file — чтение файла.
  • echo текст >> file — дописать в файл текст.
  • find file — поиск файла.
  • mcedit file — редактирование файла (также можно использовать редакторы Nano, Vim и другие).
  • cat file1 file2 > file12 — объединение файлов.
  • sh filename — запустить файл со сценарием Bash.
  • ./filename — запустить исполняемый файл.
  • cp file1 file2 — копировать файл «file1» с переименованием на «file2». Произойдёт замена файлов, если элемент с таким же названием существует.
  • mv file1 file2 — переименовать файл «file1» в «file2».
  • mv filename dirname — переместить файл «filename» в каталог «dirname».
  • less filename — открыть файл в окне терминала.
  • file filename — определение типа файла.
  • head filename — вывод нескольких начальных строк из файла на экран (построчное чтение файла). По умолчанию строк 10.
  • tail filename — вывод нескольких конечных строк из файла на экран.
  • diff file1 file2 — сравнение файлов.
  • grep text filename — поиск и вывод строк из файла, содержащих «text».
  • rm filename — удалить файл.

Подробную информацию об утилитах можно получить, воспользовавшись справочной службой: «man <название утилиты>».

Вступление

В серверной среде работа с командной строкой занимает много времени. Часто используется оболочка bash – командная оболочка по умолчанию большинства дистрибутивов.

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

К счастью, bash-оболочка имеет некоторые довольно хорошо разработанные функции истории. Умение продуктивно использовать и управлять историей в bash позволяет тратить меньше времени на ввод команд, и  тем самым увеличивает объем выполненной работы. Как известно, среди разработчиков популярен так называемый принцип DRY (Don’t Repeat Yourself). Продуктивное использование истории в bash помогает работать с информацией согласно данному принципу.

Это руководство демонстрирует все функции на VPS с Ubuntu 12.04, но почти все современные дистрибутивы Linux будут работать подобным образом.

Перенаправление данных

Перенаправление ввода-вывода в файл осуществляется с помощью специальных знаков. Для вывода используются «>» и «>>», а для ввода — «<».

Пример вывода «ls» в файл, а не на экран:

root@test:~# ls > files.txt
root@test:~# cat files.txt
file1.cpp sample.txt

Новый файл создаётся автоматически. В случае существования элемента с таким же наименованием, произойдёт перезапись. Чтобы этого избежать, необходимо использовать «>>». Тогда данные будут дописываться в документ.

Пример ввода, при котором информация выносится из файла с помощью команды «sort»:

root@test:~# echo text > file.txt
root@test:~# sort < file.txt
text

10 Простых Примеров :

1. Добавить всем права на чтение файла :

$ chmod a+r file

2. Забрать права на исполнение файла у всех :

$ chmod a-x file

3. Добавить всем права на чтение и запись :

$ chmod a+rw file

4. Установить права на чтение и запись для владельца и забрать права у всех остальных :

$ chmod u=rw,go= file

5. Для директории и всего ее содержимого добавить права на запись для владельца, и забрать права на запись для всех остальных :

$ chmod -R u+w,go-w directory

6. Забрать у всех все права :

$ chmod file

7. Дать всем права на права на чтение, запись и выполнение файла :

$ chmod 777 file

8. Задать права на чтение и запись без права на исполнение для владельца и группы, а все остальным дать право только на чтение :

$ chmod 664 file

9. Назначить права ‘-rwx’ для владельцев директорий, добавить права ‘rw’ для владельцев файлов, ‘—‘ для всех остальных :

$ chmod -R u+rwX,g-rwx,o-rwx directory

10. Забрать у всех права на исполнение файлов в директории и поддиректориях, но в то же время, разрешить всем просматривать содержимое директорий :

$ chmod -R a-x+X directory

Запуск Команд на Удаленном Linux Сервере через SSH

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

Данная информация будет очень полезна, если Вы пишете Bash скрипт, который будет запускаться с локальной машины и выполнять какие-либо команды на удаленном сервере.

Вы узнаете, как :

  • выполнить команду на удаленном Linux сервере;
  • запустить множество команд через SSH;
  • выполнить локальный скрипт на удаленном Linux сервере без его копирования.

Изменение истории поведения

Поведение истории Bash может быть определено с использованием нескольких различных переменных среды . При изменении поведения истории установите переменные в любом другом файле конфигурации, который загружается при входе пользователя в систему.

По умолчанию Bash хранит 500 строк в списке истории команд. Переменная позволяет изменять это значение. Чтобы установить его на 10000, добавьте следующую строку в ваш файл:

Переменная принимает разделенный двоеточиями список значений , которые определяют , каким образом команды сохраняются в списке истории:

  • — команды, начинающиеся с пробела, не сохраняются в списке истории.
  • — дубликаты команд не сохраняются.
  • — это стенография, включающая в себя и .

Когда переменная установлена, Bash добавляет метку времени выполнения команды в каждой строке.

Например, если вы установите:

История будет отображаться в следующем формате:

Настройки HISTCONTROL

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

Ignoredups — Не писать строку после команды дублирования строки. Ignorespace — не писать строки, начинающиеся с одного или нескольких пробелов в истории. Ignoreboth — Установить оба значения выше. Undefined — Если вы не определяете какие-либо правила, они не будут применены.

Проверьте текущие настройки истории с помощью команды экспорта:

Измените настройки, экспортировав нужную переменную:

Сделайте ваши настройки постоянными, добавив их в файл bashrc:

Для того чтобы команды скрипта выполнялись в контексте текущего экземпляра интерпретатора необходимо использовать следующую команду:

Управление историей

В виде Джордж Сантаяна классно сказал, «Те, кто не может вспомнить прошлое, обречены его повторять». К сожалению, в Linux, если вы не можете вспомнить прошлое, вы не можете повторить его, даже если захотите.

Вот тогда и пригодится команда Linux history. Это позволяет вам просмотреть и повторить ваши предыдущие команды. Это не только для поощрения лени или экономии времени — здесь также играет роль фактор эффективности (и точности). Чем длиннее и сложнее команда, тем сложнее ее запомнить и ввести без ошибок. Есть два типа ошибок: один, который мешает команде работать, и второй, который позволяет команде работать, но заставляет ее делать что-то неожиданное.

Команда history устраняет эти проблемы. Как и большинство команд Linux, . Однако, если вы научитесь использовать команду history, вы сможете улучшить использование командной строки Linux каждый день. Это хорошее вложение вашего времени. Есть гораздо лучшие способы использовать команду history, чем просто многократно нажимать стрелку вверх.

Использование команды history и расширений истории

— это встроенная оболочка, и ее поведение может немного отличаться от оболочки к оболочке. Мы рассмотрим встроенную в Bash версию .

В простейшей форме при вызове без какой-либо опции или аргумента команда отображает весь список истории с номерами строк.

При вводе выполняется n-я команда из списка истории, а команда возвращается на n строк. В следующем примере мы выполняем команду в строке :

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

Обычно в отображается много строк вывода, которые не помещаются на экране. Чтобы просмотреть вывод по одной странице за раз, направьте его в программу пейджера, например, команду или :

Чтобы отобразить последние строк, передайте число в качестве аргумента команды. Например, чтобы просмотреть только последние пять строк из списка истории, введите:

Используйте клавиши со стрелками и для перемещения по записям в списке. Когда отобразится искомая команда, нажмите чтобы выполнить ее.

Типа для выполнения предыдущей команды:

Это особенно полезно, когда вы забываете привязать команду к и вместо повторного ввода команды можете ввести:

совпадает с и выполняет последнюю команду из списка истории секунды до последней и так далее.

позволяет повторно запустить последнюю команду, заменив «word1» на «word2». Если вы случайно набрали вместо команды вы можете повторить команду, используя правильное слово:

Используйте команду для фильтрации вывода. Например, чтобы просмотреть все команды, включая «nano», вы должны выполнить:

Теперь, если вы хотите повторно запустить команду просто введите:

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

Оболочка отобразит соответствующую строку. Чтобы перейти к следующему подходящему предложению, снова нажмите .

History Command in Linux (Bash History)

4 Февраля 2020
&vert;

Терминал

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

Использование команд и расширений истории

является встроенной оболочкой, и ее поведение может немного отличаться от оболочки к оболочке. Мы рассмотрим встроенную версию Bash .

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

При наборе выполняется n-я команда из списка истории, а команда n строк назад. В следующем примере мы выполняем команду на линии :

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

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

Чтобы отобразить последние строки, передайте число в качестве аргумента команде. Например, чтобы просмотреть только последние пять строк из списка истории, введите:

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

Введите для выполнения предыдущей команды:

Это особенно полезно, когда вы забыли добавить команду , и вместо повторного ввода команды вы можете набрать:

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

Расширение позволяет повторно запустить последнюю команду, заменив «word1» на «word2». Если вы случайно набрали вместо вас, вы можете повторить команду, используя правильное слово с:

Используйте команду для фильтрации вывода. Например, чтобы просмотреть все команды, включая «nano», вы должны выполнить:

Теперь, если вы хотите перезапустить команду, просто наберите:

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

Оболочка отобразит соответствующую строку. Чтобы перейти к следующему согласованному предложению, нажмите еще раз.

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

Сохранение списка истории

По умолчанию при запуске нового сеанса Bash читает список истории из файла. Список команд, которые выполняются в текущем сеансе, сохраняется в памяти и сохраняется в файл при закрытии сеанса.

Если вы открыли несколько сеансов оболочки, сохраняется только история сеанса, который был закрыт последним.

Опция позволяет сохранить текущий список истории сеанса в файл:

Вариант записывает полный список истории в файл истории.

Очистка истории

Команда позволяет очистить полный список истории или удалить определенные части.

Чтобы очистить список истории, используйте параметр:

Чтобы удалить определенную строку или строки между начальной и конечной позициями из списка истории, используйте параметр.

Например, чтобы удалить строки между 365 и 375 (включая эти строки), введите:

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

Когда используется отрицательное целое число, строки отсчитываются от конца списка истории.

Приведенные выше команды очищают список истории, который хранится в памяти, но не удаляет записи из файла на диске. Чтобы очистить файл, вам нужно записать в файл список истории:

Изменение истории поведения

Поведение истории Bash может быть определено с использованием нескольких различных переменных среды . При изменении поведения истории установите переменные в любом другом файле конфигурации, который загружается при входе пользователя в систему.

По умолчанию Bash хранит 500 строк в списке истории команд. Переменная позволяет изменять это значение. Чтобы установить его на 10000, добавьте следующую строку в ваш файл:

Переменная принимает разделенный двоеточиями список значений , которые определяют , каким образом команды сохраняются в списке истории:

  • — команды, начинающиеся с пробела, не сохраняются в списке истории.
  • — дубликаты команд не сохраняются.
  • — это стенография, включающая в себя и .

Когда переменная установлена, Bash добавляет метку времени выполнения команды в каждой строке.

Например, если вы установите:

История будет отображаться в следующем формате:

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

Как очистить историю командной строки BASH в Linux?

История bash хранит записи обо всех командах, выполненных пользователем в командной строке Linux. Это позволяет легко запускать ранее выполненные команды с помощью клавиш «стрелка вверх» или «стрелка вниз» для прокрутки файла истории команд.

В этой статье мы покажем вам два простых способа очистить историю командной строки в системе Linux.

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

Например, если вы ввели команду, содержащую пароль в виде обычного текста, и вы не хотите, чтобы другой системный пользователь или злоумышленник видели этот пароль, вам необходимо удалить или очистить файл истории.

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

Если вы посмотрите в конец истории файла bash, то увидите там пароль, введенный выше:

Файл bash_history обычно находится в домашнем каталоге пользователя /home/username/.bash_history:

Чтобы удалить одну строку из файла истории, используйте параметр -d. Например, если вы хотите очистить команду, в которой вы ввели открытый текстовый пароль, как в приведенном выше сценарии, найдите номер строки в файле истории и выполните эту команду:

Чтобы удалить или очистить все записи из истории bash, используйте команду history ниже с опцией -c:

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

Примечание. Обычный пользователь может просматривать только свою собственную историю команд, но пользователь root может просматривать историю команд всех других пользователей в системе. Всегда помните, что все команды, которые вы запускаете, записываются в файл истории, поэтому не вводите пароли в виде простого текста в командной строке.

Спасибо за уделенное время на прочтение статьи!

Подписывайтесь на обновления нашего блога и оставайтесь в курсе новостей мира инфокоммуникаций!

История команд Linux

Большинство задач, связанных с историей команд, мы будем выполнять либо с помощью команды history, либо с помощью оболочки. В истории хранится последняя 1000 команд, которые вы выполняли. Чтобы посмотреть всю историю для этого терминала просто запустите команду history без параметров:

Для дополнительных действий с историей вам могут понадобиться опции. Команда history linux имеет очень простой синтаксис:

$ history опции файл

В качестве файла можно указать файл истории. По умолчанию история для текущего пользователя хранится в файле ~/.history, но вы можете задать, например, файл другого пользователя. А теперь рассмотрим опции:

  • -c — очистить историю;
  • -d — удалить определенную строку из истории;
  • -a — добавить новую команду в историю;
  • -n — скопировать команды из файла истории в текущий список;
  • -w — перезаписать содержимое одного файла истории в другой, заменяя повторяющиеся вхождения.

Наиболее полезной для нас из всего этого будет опция -c, которая позволяет очистить историю команд linux:

Так вы можете посмотреть только последние 10 команд:

А с помощью опции -d удалить ненужное, например, удалить команду под номером 1007:

Если вы хотите выполнить поиск по истории bash, можно использовать фильтр grep. Например, найдем все команды zypper:

На самом деле работать с историей еще более просто с помощью оболочки, возможно, вы уже используете многие ее функции, но о некоторых точно не знаете. Рассмотрим их:

Чтобы показать предыдущую команду просто нажмите стрелку вверх, так можно просмотреть список раньше выполненных команд.

Вы можете выполнить последнюю команду просто набрав «!!». Также можно выполнить одну из предыдущих команд указав ее номер «!-2»

Чтобы выполнить поиск по истории прямо во время ввода нажмите Ctrl+R и начните вводить начало команды.

Если вы знаете, что нужная команда была последней, которая начиналась на определенные символы, например, l, то вы можете ее выполнить, дописав «!l»:

Если нужная команда последняя содержала определенное слово, например, tmp, то вы можете ее найти, использовав «!?tmp»:

Если вы не хотите, чтобы выполняемая команда сохранилась в истории просто поставьте перед ней пробел.

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

Подделка Времени «Изменения» Файла

Как я уже говори ранее, не существует стандартного решения для подделки времени изменения файла (ctime).

Тем не менее, это можно сделать если сначала поменять системное время на то, на которое вы хотите поменять ctime, затем использовать команду touch на файле и потом откатить системное время обратно.

Изменение системного времени может привести к неожиданным последствиям. Используйте приведенные ниже команды только на свой страх и риск.

Сохраните текущую дату и время в переменную NOW :

$ NOW=$(date)

Установите поддельное системное время (необходим root) :

$ date --set "2030-08-15 21:30:11"

Используйте команду touch на файле для изменения всех временных меток на поддельные :

$ touch file.txt

Откатите время назад (необходим root) :

$ date --set "$NOW"

Для увеличения скорости выполнения модификаций и как следствие уменьшения риска возможных последствий, вы можете выполнит приведенные выше команды следующим образом :

$ NOW=$(date) && date -s "2030-08-15 21:30:11" && touch file.txt && date -s "$NOW"

Заметаем Следы

Чтобы замести следы не забудьте очистить значение переменной, а также почистить логи и историю.
Очистите значение переменной NOW :

$ unset NOW

Из файла /var/log/messages удалите строки с информацией об изменении системного времени (необходим root) :

Feb 24 063246 centos7 systemd Time has been changed
Aug 15 143011 centos7 systemd Time has been changed

Очистите историю входов в Linux (необходим root) :

$ echo > /var/logwtmp
$ echo > /var/logbtmp
$ echo > /var/loglastlog

Очистите историю текущей сессии :

$ history -r

Очистить или Удалить Историю Входов в Linux

В Linux системах есть три стандартные команды, которые показывают информацию о последних подключавшихся пользователях : last, lastb, и lastlog.

Вывод этих команд включает : логин, время последнего подключения, IP адрес, порт и т.д.

И иногда, чтобы сохранить анонимность, возникает необходимость очистить историю последних подключений.

Команда Журнал логов Описание
last /var/log/wtmp История успешных входов/выходов
lastb /var/log/btmp История неудавшихся попыток входа
lastlog /var/log/lastlog Список последних подключавшихся пользователей

Настройка истории Linux

Linux – очень настраиваемая и гибкая система, поэтому настроить здесь можно все, в том числе и историю. По умолчанию выводится только номер команды, но вы можете выводить и ее дату. Для этого нужно экспортировать переменную HISTORYFORMAT вместе нужным форматом:

export HISTTIMEFORMAT=’%F %T ‘ $ history

Для форматирования можно использовать такие модификаторы:

  • %d – день;
  • %m – месяц;
  • %y – год;
  • %T – штамп времени;
  • %F – штамп даты.

Вы можете указать какие команды не стоит отображать, например, не будем выводить ls -l, pwd и date:

export HISTIGNORE=’ls -l:pwd:date:’

Также можно отключить вывод одинаковых команд:

Существует два флага, ignoredups и ignorespace. Второй указывает, что нужно игнорировать команды, начинающиеся с пробела. Если вы хотите установить оба значения, используйте флаг ignoreboth. Используйте переменную HISTSIZE, чтобы установить размер истории:

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

export PROMPT_COMMAND=”$history -a; history -c; history -r;”

Для тестирования работы вы можете набирать эти команды прямо в терминале и сразу видеть результат, но для сохранения добавьте нужные строки в ваш

export PROMPT_COMMAND=”$history -a; history -c; history -r;” $ export HISTCONTROL=ignoredups $ export HISTTIMEFORMAT=’%F %T ‘

Готово, теперь осталось сохранить изменения и перезапустить ваши терминалы. Теперь ваша история будет выводить дату, игнорировать дубли и синхронизироваться между терминалами.

Безопасность и файл истории

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

special-app my-secret-password;history -d $(history 1)
history 5

Эта структура включает две команды, разделенные точкой с запятой (;). Давайте разберем это:

special-app: название программы, которую мы используем.my-secret-password: секретный пароль, который нам нужно указать для приложения в командной строке. Это конец первой команды.history -d: во второй команде мы вызываем параметр истории -d (удалить). То, что мы собираемся удалить, находится в следующей части команды.$ (история 1): используется подстановка команд. Часть команды, содержащаяся в $ (), выполняется в подоболочке. Результат этого выполнения публикуется как текст в исходной команде. Команда history 1 возвращает предыдущую команду. Итак, вы можете думать о второй команде как о history -d «последняя команда здесь».

Вы можете использовать команду history 5, чтобы убедиться, что команда, содержащая пароль, была удалена из списка истории.

Однако есть еще более простой способ сделать это. Поскольку Bash по умолчанию игнорирует строки, начинающиеся с пробела, просто добавьте пробел в начало строки, как показано ниже:

 special-app another-password
history 5

Команда с паролем не добавляется в список истории. Причина, по которой этот трюк работает, содержится в файле .bashrc.

Использование указателей слов

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

Допустим, мы хотели увидеть размер файла, а потом решили, что хотим посмотреть его содержимое. Мы можем использовать обозначение слова «!!: $», чтобы извлечь последнее слово из последней команды и заменить его командой cat следующим образом.

Обозначение «!!: $» можно сократить до «! $»

Важно знать, что слова разделены пробелами, причем первое слово начинается с 0

Например, следующая команда:

dig — это слово 0, + short — это слово 1, а ya.ru — это слово 2.

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

Вы также можете извлечь слово из команды, используя синтаксис поиска. Например, допустим, вы хотели использовать второе слово (1) из последней команды cat, которую вы выполнили. Не имеет значения, была ли это последняя команда, которую вы выполнили, или 30 команд назад, вы можете использовать обозначение «! <String>: 1». Вот пример:

Как вы можете видеть выше, «! Dig: 2» выполнил обратный поиск самой последней команды, начинающейся с «dig», затем взял второе слово и вставил его в команду.

Изменение последней команды

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

Чтобы использовать его, введите (без пробелов) курсор, текст, который вы хотите заменить, другой курсор, текст, которым вы хотите его заменить, другой курсор, а затем нажмите Enter.

Например, предположим, что вы набираете следующую команду, случайно набрав «shhd» вместо «sshd»:

sudo systemctl start shhd

Вы можете легко исправить это, набрав следующее:

^shhd^sshd^

Команда выполняется с изменением «shhd» на «sshd».

Фалькон (ранее известный как Qupzilla)

Очистить историю в Фальконе или также известном как Qupzilla это более сложно, но столь же эффективно, как и другие методы. В этом случае у нас также есть два способа очистить или удалить историю просмотров. Самый быстрый и простой способ — нажать l.комбинация клавиш Ctrl + Shift + Del. Это сотрет всю историю, которая у нас есть в веб-браузере. Но, как и в других браузерах, через Настройки или Конфигурацию мы можем удалить историю или настроить эту задачу.

В настройках мы переходим на вкладку «Навигация». Вкладка, которая покажет следующее окно:

Теперь мы переходим на вкладку локального хранилища и выбираем нужные нам параметры, то есть если мы хотим, чтобы Qupzilla стирала историю при закрытии, если мы хотим, чтобы кеш был сохранен, хотим ли мы сохранить историю или нети т. д. Когда у нас все готово, мы переходим к кнопке «Применить», а затем нажимаем кнопку «Принять», чтобы применить конфигурацию. При этом мы удалим историю и, если мы ее отметили, кеш веб-страниц, которые мы посетили или сохранили.

Настройки истории в bash

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

Bash позволяет редактировать количество предыдущих команд, которые нужно сохранить в истории. Для этого в bash есть две отдельные опции: параметр «HISTFILESIZE» задает количество команд, хранящихся в файле истории, а «HISTSIZE» указывает количество команд, которое сохраняется в памяти для текущей сессии.

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

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

Чтобы изменить данные опции, откройте файл «~/.bashrc» с помощью редактора:

Найдите опции «HISTSIZE» и «HISTFILESIZE». Если значения для них установлены, измените их. Если таких параметров в данном файле нет, внесите их. Данное  руководство может обойтись 10000 строк для диска и 5000 строк, сохраненных в памяти. Это достаточно скромные значения для большинства систем, но даже их придется понизить, если они влияют на производительность:

По умолчанию bash пишет историю в конце каждой сессии, переписывая и обновляя уже существующий файл. Это значит, что при работе в нескольких bash-сессиях будет сохранена только история последней завершенной сессии.

Это можно обойти, установив параметр «histappend», который будет добавлять историю, а не перезаписывать её. Возможно, он уже установлен​​; в противном случае его можно активировать, добавив следующую строку:

Чтобы bash вносил команды в историю сразу, не дожидаясь завершения сессии (чтобы команды одного терминала сразу же были доступны в другом), можно установить или добавить команду «history –a» для опции «PROMPT_COMMAND», которая содержит команды, которые выполняются перед каждой новой командной строкой.

Но для правильной работы такой команды нужна уловка. В файл истории нужно сразу добавить  «history –a», затем очистить текущую историю данной сессии с помощью «history –c», после этого прочесть отредактированный файл истории и вернуться в историю данной сессии с помощью «history –r».

Это выглядит примерно так:

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

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

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Все про сервера
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: