Програмиране на BASH

Използване и персонализиране на Bash Command History

Използване и персонализиране на Bash Command History
Черупката на bash е средата по подразбиране на командния ред, налична в повечето дистрибуции на Linux. Подобно на всички среди на черупки, той поддържа запис на команди, които са били изпълнени преди това от потребителя. Този запис се съхранява и поддържа дори когато рестартираме системата си.

Може да знаете основното използване на команда за история, но тя може да направи много повече от това. Башовата история обикновено се съхранява във файла ~ /.bash_history. Тя ви позволява да извиквате и използвате повторно съхранения запис по ефективен начин, за да извлечете най-доброто от функцията за запазване на историята на bash. Не само това, но можете също да персонализирате и контролирате изхода на командата bash по начина, по който искате.

В тази статия ще ви обясним как ефективно да използвате и персонализирате историята на командите на bash, за да извлечете максимума от нейните функции.

Използвахме Debian 10 за изпълнение на командите и процедурата, споменати в тази статия.

Използване на история на команди на bash

1. Преглед на историята на bash

За да видите цялата история на командите на черупката, можете да изпълните следната команда в терминала:

$ история

Той ще изброи цялата история за конкретен потребител от файла с историята, съхраняван специално за този потребител. Ще видите всички команди, започващи с число, разпределено на всяка от тях. Той ще изброи по-старите команди отгоре, започвайки с номер 1, и по-новите команди отдолу.

2. Търсене в изхода на историята

Можете също да търсите конкретна ключова дума от изхода на историята. Сдвоете командата за история с grep и конкретна ключова дума, за да търсите команди, които съответстват на посочената ключова дума, както следва:

$ история | grep [ключова дума]

Например, за да се изброят всички команди, които включват ключовата дума „намери“, командата ще бъде:

$ история | grep намирам

3. Преглед на последните n команди

Командата за история по подразбиране изброява последните 1000 броя команди, изпълнени от потребител. В случай, че искате да изброите само конкретно число, да речем n номер на последната изпълнена команда, изпълнете следната команда в терминала:

$ история n

Например, за да се изброят последните 7 изпълнени команди, командата ще бъде:

$ история 7

За да видите броя на последните n изпълнени команди, които включват конкретна ключова дума, можете да използвате следния синтаксис:

$ история | grep ключова дума | tail -n

Пример за това би бил преглед на последните 4 изпълнени команди с ключовата дума “java”.

$ история | grep java | tail -n

4. Преглед на най-старите команди

За да видите най-стария n брой команди, можете да използвате следния синтаксис в терминала:

$ история | глава -н

За да видите най-стария n брой команди, които включват конкретна ключова дума, използвайте следния синтаксис:

$ история | grep ключова дума | head -n

Пример за това би бил преглед на най-старите 4 изпълнени команди с ключовата дума “java”.

$ история | grep java | глава -4

5. Изчистете напълно историята на Bash

За да премахнете цялата история на bash, изпълнете следната команда в терминала:

$ история -cw

Персонализиране на историята на командите на bash

За да персонализираме историята на командите на bash, ще трябва да направим промени в ~ /.bashrc файл. За редактиране на ~ /.bashrc файл, използвайте следната команда:

$ nano ~ /.bashrc

След като приключите с модифицирането на файла, използвайте Ctrl + O и Ctrl + X, за да запазите и затворите нано редактора.

След това изпълнете следната команда, за да приложите модификациите:

$ източник ~ /.bashrc

1. Добавете дата и клеймо в историята на Bash

Ако искате да покажете дата и клеймо заедно с историята на командите, можете да направите това, като добавите следния ред в ~ /.bashrc:

$ export HISTTIMEFORMAT = '% F,% T'

Сега стартирайте история команда и тя ще покаже историята на командите със съответните данни и клеймо.

2. Увеличаване на размера на Bash History

Баш по подразбиране поддържа 500 команди в списъка с история. Можем обаче да променим тази стойност, като използваме стойността HISTSIZE.

За да видите текущия размер на историята на bash, изпълнете следната команда в Terminal:

$ echo $ HISTSIZE

По същия начин размерът по подразбиране на файла с историята на bash е 500. Това е максималният брой записи, които се съдържат във файла с история.

За да увеличите размера на историята на bash, да речем 10000, добавете следните редове в ~ /.файл bashrc:

$ HISTSIZE = 10000
$ HISTFILESIZE = 10000

За да проверите дали размерът на историята на bash се е променил успешно, изпълнете следните команди в терминала:

$ echo $ HISTSIZE
$ echo $ HISTFILESIZE

3. Добавете команди Bash към файла с история

Когато сесията на bash е затворена, можете да изберете дали да презапишете или да добавите командите във файла с история, като използвате променливата histappend. За да видите текущите настройки, изпълнете следната команда в Терминал:

$ shopt histappend

„Включено“ в изхода показва, че опцията histappend е активирана и командите ще бъдат добавени във файла с история, вместо да презаписват. Докато се показва „изключено“, опцията histappend е деактивирана и файлът ще бъде заменен.

Отворете ~ /.bashrc файл и:

Добавете следния ред, ако искате да добавите командите към файла с история, вместо да презапишете:

$ shopt -s histappend

Или добавете следния ред, ако искате да деактивирате опцията за добавяне и искате да презапишете файла при излизане:

$ shopt -u histappend

4. Съхранявайте Bash History незабавно

Bash по подразбиране записва сесията във файла с история на bash само след като сесията приключи. За да промените това поведение по подразбиране и да го направите незабавно да запазите всяка команда, която сте изпълнили, можете да използвате PROMPT_COMMAND.

Редактирайте ~ /.bashrc файл и добавете следния ред:

$ PROMPT_COMMAND = 'история -a'

Сега, когато изпълните някоя команда, тя веднага ще бъде добавена към файла с история.

5. Контролирайте Bash History

Можем да контролираме начина, по който bash запазва историята на командите ни чрез променливата HISTCONTROL. Можем да го посочим, за да игнорира дублиращи се записи и / или да игнорира записи с водещи бели интервали.

За да приложите тези функции, отворете ~ /.bashrc и добавете следния ред със стойности, разделени с двоеточие, както следва:

$ export HISTCONTROL = ignorespace: ignoredups

6. Игнорирайте конкретни команди

Също така можем да контролираме кои команди да игнорираме в историята, като използваме променлива HISTIGNORE. Това е списък с шаблони, разделени с двоеточие, в които можем да посочим всички команди, които искаме да игнорираме от историята.

Например, ако не искаме да изброяваме основните команди като история, ls, pwd команди в списъка с история, тогава добавяме следния ред в ~ /.файл bashrc:

$ export HISTIGNORE = "история: ls: pwd:"

С историята на командите на bash на Linux можете да направите много повече, отколкото просто да повтаряте старите команди. В тази статия научихме как да използваме историята на bash, за да видим командите, които са изпълнени преди това, и също така се научихме да контролираме начина, по който bash запазва историята на командите.

Топ 10 игри за игра на Ubuntu
Платформата на Windows е една от доминиращите платформи за игри поради огромния процент игри, които се развиват днес, за да поддържат Windows. Може ли...
5 най-добри аркадни игри за Linux
В днешно време компютрите са сериозни машини, използвани за игри. Ако не можете да получите новия висок резултат, ще разберете какво имам предвид. В т...
Битка за Уеснот 1.13.6 Разработка освободена
Битка за Уеснот 1.13.6, издаден миналия месец, е шестата версия за разработка в 1.13.x серия и предоставя редица подобрения, най-вече на потребителски...