Bourne Again Shell, по-известен като bash, е по подразбиране за повечето Linux дистрибуции. Това е изключително мощен, що се отнася до командните черупки, и притежава всички видове хитри трикове за тези, които желаят да се научат. Една от най-добрите характеристики е, по мое мнение, командна история.

Има много опции, които да използвате с историята на bash, някои от които използвам почти всеки път, когато отварям командата. Днес ще отразя някои от най-полезните аспекти на историята, но със сигурност няма да мога да ги покрия.

Стрелки нагоре / надолу

Много от вас вероятно знаят това, но за всеки, който не го направи, това ще направи живота ви много по-лесен. Всеки път, когато сте в командния корпус, просто използвайте стрелките нагоре и надолу на клавиатурата си, за да преминете през списъка с команди, въведени по-рано. Следващия път, когато въведете дълга команда, която се окаже, че има печатна грешка, не е нужно да въвеждате отново цялото нещо, просто натиснете стрелката нагоре и направете каквито и да е редакции.

!!

Подобна характеристика на тази, посочена по-горе, е двойният взрив (!). Въведените в обвивката символи представляват последната въведена команда. Да приемем, че се опитвате да изпълните команда само, за да разберете, че ви трябва root права, за да го направите. Вместо да въвеждате отново цялата команда, можете просто да влезете

 sudo !! 

Баш ще замени !! за предишната команда, както в примера по-долу.

Това също работи по-назад, можете да направите нещо подобно

 ! -5 

да припомни командата 5 записи обратно в историята.

! (Дума)

Вероятно преди няколко дни въведете дълга и сложна команда в черупката си, например серия от опции за "wterm". Можете да намерите и повторно въведете от командата, като използвате вграденото търсене в историята. Вие просто добавяте първите няколко букви от командата след! и Баш ще го намерят.

Бъдете внимателни с тази. Може да се окажете с нещо, различно от това, което очаквахте. Не използвайте това за потенциално опасни команди като "rm" или "fdisk".

!? (Дума)

Това е подобно на последната функция в това, че търси в историята за въведената дума, но за разлика от (дума) това ще намери думата навсякъде в командата, а не само началото.

Бъдете внимателни с тази. Може да се окажете с нещо, различно от това, което очаквахте. Не използвайте това за потенциално опасни команди като "rm" или "fdisk".

Ctrl-R

Това може да бъде моят личен любим исторически инструмент. Това е малко като ! горе, но интерактивно. В командния ви корпус натиснете Ctrl-R и ще започне търсене. Докато пишете, башът ще търси историята и ще ви покаже резултатите, докато пишете. Когато показва командата, която искате, просто натиснете клавиша enter и ще изпълни тази команда. Това може да бъде по-безопасно от неща като ! защото можете да видите коя команда ще бъде преди да я стартирате, така че не е нужно да се досещате или да разчитате на паметта.

Ръчно търсене

Може би не ви харесва начинът, по който работи Ctrl-R, или искате да видите всички команди, които сте въвели, или само тези, които съдържат определена дума. Командата за историята ще ви покаже пълната история на командите ви заедно с номера на историята на всяка команда (задръжте тази мисъл, ние ще покрием тези номера в един миг).

Можете също така да посочите броя на елементите, които ще покаже командата за историята . За да видите последните 10 записа в историята, можете да въведете

 история 10 

За да видите всички записи в историята, които съдържат определена дума, можете да използвате grep, за да филтрирате резултатите, както е показано по-долу.

! (Брой)

Когато използвате командата " История", за да видите списъка си с история на командите, ще забележите, че всеки елемент в списъка има свързан с него номер. Можете да го използвате, за да си припомните конкретната команда. Например, елемент 87 може да се изпълни отново чрез въвеждане

 ! 87 

в черупката си.

Смяна на думата

Това е доста страхотно. Колко пъти сте написали някаква голяма команда, само за да осъзнаете, че сте сложили, да речем, HDD, когато искате HDD ? Ами баш ви е покрит. Можете да замените дума в предишната команда с друга, като използвате "^", както в примера по-долу

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

По подразбиране историята се запазва в ~ / .bash_history. Можете да се справите с този файл, въпреки че смятате за подходящо, но има някои полезни неща, които можете да опитате да го управлявате автоматично. А именно, задаване на променливи за околната среда HISTSIZE и HISTFILESIZE . За да зададете броя на записите, които могат да бъдат записани в историческия файл, на 1000, въведете

 износ HISTFILESIZE = 1000 

в черупката си. Това ще ограничи файла до 1000 записа. Ако искате да направите тази промяна постоянна, поставете тази команда за експортиране във вашия .bashrc или .bash_profile файл.