Почетна » како да » Како користити Басх историју у Линук или мацОС терминалу

    Како користити Басх историју у Линук или мацОС терминалу

    Басх схелл је стандардно окружење терминала укључено у већину Линук дистрибуција, укључено у МацОС, и доступно за инсталацију на Виндовс 10. Запамти команде које уписујеш и чува их у историјској датотеци. Вероватно знате неколико основа о историји басха, али је много моћнија него што бисте могли да схватите.

    Пречице на тастатури

    Да бисте се кретали кроз вашу повијест басха, можете користити неколико корисних пречица за тастатуру. Притисните ове пречице и команде које сте раније користили ће се појавити у промпту.

    • Горе стрелица или Цтрл + П: Идите на претходну команду у вашој историји. Притисните тастер више пута да пређете уназад кроз команде које сте користили.
    • Стрелица надоле или Цтрл + Н: Идите на следећу команду у вашој историји. Притисните тастер више пута да бисте напредовали кроз команде које сте користили.
    • Алт + Р: Вратите све измене команде које сте извукли из ваше историје ако сте их изменили на тренутној линији.

    Басх такође има посебан режим „опозив“ који можете да користите за претрагу команди које сте претходно покренули, уместо да их прегледате један по један.

    • Цтрл + Р: Позовите последњу команду која одговара знаковима које сте унели. Притисните ову пречицу и почните да куцате да бисте претражили вашу басх историју за команду.
    • Цтрл + О: Покрените команду коју сте пронашли помоћу Цтрл + Р.
    • Цтрл + Г: Оставите режим претраживања историје без покретања команде.

    Погледајте своју Басх историју

    Можете да одштампате целу историју басха на екрану покретањем једне команде:

    историје

    Видећете листу свих команди у вашој историји басха, заједно са бројем лево од сваког. Наредба са "1" поред ње је најстарија команда у вашој историји басха, док је наредба са највећим бројем најновији.

    Са излазом можете да урадите све што желите. На пример, можете да га превезете до грепкоманду за претрагу историје команди.

    историја | греп иоур_сеарцх

    Могао би да га пребациш на Реп да бисте видели само мали број недавних команди које сте покренули. На пример, следећа команда ће приказати последњих 5 уноса у вашој историји.

    историја | реп -5

    Покрени команде из ваше историје

    Басх може брзо “проширити” претходне команде или их проширити и модифицирати. Ова особина је позната као "проширење историје" и користи знак узвика, познат као "прасак". Само их откуцајте на промпту и притисните Ентер да бисте их покренули као да бисте покренули било коју другу наредбу.

    Да бисте из своје историје покренули одређену команду по броју, користите следећу команду:

    !#

    На пример, рецимо да желите да покренете 12. наредбу из ваше басх историје. То је команда са “12” лево од ње када покренете историје команду. Укуцали бисте следећу команду.

    !12

    Да бисте поново покренули последњу команду коју сте покренули, откуцајте следеће. Ово има исти ефекат као и притискање стрелице горе једном да бисте видели претходну команду, а затим притисните тастер Ентер.

    !!

    На команду се такође може позвати одређени број линија назад. На пример, !-2 би покренула другу до последње команде коју си трчао. !! значи исто као и !-1 .

    Ова експанзија функционише било где на линији. Можете додати све што вам се свиђа прије или послије !! или било који други израз у овом одељку. На пример, можете да унесете следећу команду да бисте поново покренули последњу команду кроз коју сте прошли судо, дајући му роот привилегије. Ово је посебно корисно ако заборавите да додате  судо пре покретања команде.

    судо !!

    Или, на пример, можете поново да покренете претходну команду и преусмерите њен излаз на греп да бисте потражили неки текст.

    !! | греп тект

    Да бисте тражили команду у историји и покренули је, откуцајте следеће. Ово ће покренути последњу команду која одговара тексту који наведете:

    !текст

    Дакле, ако сте недавно покренули команду која је почела са пинг, можете да покренете следећу команду да бисте је потражили. Ово ће претраживати уназад кроз вашу историју, пронаћи последњу команду која почиње са “пи“, И одмах га покрените:

    !пи

    Можете додати а : п на било које од горе наведених проширења и басх ће исписати наредбу на терминал без покретања. Ово је корисно ако желите да потврдите да сте изабрали исправну команду пре него што је покренете.

    !12: п
    !!: п
    !текст: стр

    Поновна употреба аргумената из ваше историје

    Басх вам такође омогућава да покренете нову команду, али користите аргументе из претходних команди у вашој историји. Ово вам може помоћи да брзо поново користите дуге или компликоване аргументе без потребе да их поново уписујете.

    цомманд! $

    На пример, рецимо да сте покренули команду тоуцх / хоме / цхрис / неке_лонг_филе_наме_иоу_донт_вант_то_типе_агаин . Сада желите да покренете команду нано / хоме / цхрис / неке_лонг_филе_наме_иоу_донт_вант_то_типе_агаин. Уместо да куцате целу ствар од нуле, можете покренути:

    нано! $

    Тхе !$ би басх аутоматски попунио последњи аргумент из ваше претходне команде.

    Ово само попуњава последњи аргумент. Дакле, ако трчите пинг гоогле.цом -ц 4 и онда трчите пинг! $ , ово би се само проширило на "пинг 4“.

    Да бисте поправили ову ситуацију, можете користити следећи трик да бисте проширили први аргумент на линији, а не последњи:

    цомманд! ^

    Дакле, ако побегнеш пинг гоогле.цом -ц 4 и онда трчао пинг! ^ , басх би ово проширио на "пинг гоогле.цом ".

    Да бисте попунили све аргументе који су коришћени у претходној команди уместо само једног аргумента, употребили бисте следеће:

    цомманд! *

    Дакле, ако побегнеш пинг! * уместо тога, басх би аутоматски попунио све аргументе које сте користили у претходној команди.

    Можете користити исти трик који користите да бисте покренули команде из ваше историје да бисте добили аргументе од њих. Само користите следећи образац.

    цомманд! абц: #

    На пример, покренули смо команду судо хостнаме убунту раније. Ако покренемо следећу команду, басх ће претраживати уназад кроз историју да би пронашао последњу команду која почиње са словима коју уносимо и попунити аргумент који наведемо. Дакле, ако побегнемо ецхо! су: 2 , басх ће претражити назад да пронађе последњу команду која почиње са “су"И попуните други аргумент, а то је"убунту“.

    Други трикови раде како сте очекивали. На пример, замена броја са звездицом, позната као џокер, изазива басх да попуни све аргументе из команде:

    цомманд! абц: *

    Поново покрените претходну команду и измените је

    Басх вам такође омогућава да поново покренете претходну команду и наведете нешто што треба да се промени. Ово може бити корисно за исправљање грешке у команди. На пример, следећа команда ће поново покренути претходну команду, замењујући текст “абц"У њему са текстом"киз“.

    ^ абц ^ киз

    На пример, ако сте случајно трчали пинг гогле.цом, онда би могао да бежиш ^ гог ^ гоог и басх би покренуо команду пинг гоогле.цом уместо тога.

    Где се чува ваша историја и како је очистити

    Басх схелл подразумевано чува историју команди које сте покренули у историјској датотеци корисничког налога у ~ / .басх_хистори. На пример, ако је ваше корисничко име боб, ту датотеку ћете наћи на /хоме/боб/.басх_хистори.

    Пошто се ваша историја чува у датотеци, она траје између сесија. Можете да покренете неке команде, одјавите се, вратите се следећег дана, и те команде ће и даље бити у вашој историјској датотеци спремне за преглед и коришћење. Сваки кориснички налог има своју историјску датотеку са засебном историјом команди.

    Да бисте избрисали своју повијест басха, можете покренути сљедећу наредбу. Ово брише садржај датотеке .басх_хистори вашег корисничког налога:

    хистори -ц

    Басх памти само ограничени број команди по подразумеваној вредности, спречавајући да историјски фајл постане превелик. Број уноса историје басх памти се контролише ХИСТСИЗЕпроменљива. Подразумевано је обично 500 или 1000 уноса. Можете да покренете следећу команду да бисте видели величину басх историје на вашем систему.

    ецхо $ ХИСТСИЗЕ

    Да бисте поставили историју на нулу, покрените следећу команду.

    ХИСТСИЗЕ = 0

    За тренутну сесију, басх неће складиштити све уносе историје ако не покренете команду као ХИСТСИЗЕ = 1000 да бисте га вратили на одређени број уноса.

    Како игнорисати просторе и дупликате

    Басх вам омогућава да игноришете уносе историје који почињу са размаком ако подесите ХИСТЦОНТРОЛвариабле то игнореспаце.

    ХИСТЦОНТРОЛ = игнореспаце

    Откуцајте размак пре команде пре него што га покренете у басх љусци и наредба ће се покренути нормално, али се неће појавити у вашој историји ако је ова променљива омогућена. Ово вам омогућава да задржите повијест мало чистије, одабиром покретања наредби без да се оне појављују у вашој повијести.

    Басх вам такође омогућава да игноришете дупле команде које могу да закрче вашу историју. Да то урадите, поставите ХИСТЦОНТРОЛ до игноредупс.

    ХИСТЦОНТРОЛ = игноредупс

    Да бисте користили оба игнореспаце и игноредупс , подесите ХИСТЦОНТРОЛ вариабле то игнореботх.

    ХИСТЦОНТРОЛ = игноребот

    Имајте на уму да басх варијабле које поставите остају само за тренутну сесију. Морат ћете их додати у .басхрц датотеку свог корисничког рачуна да би се те вриједности аутоматски поставиле у свакој почетној сесији басх-а, ако желите.

    Басх схелл је комплексан алат са много више опција од ових. Консултујте секције Басх историје и проширење историје у званичном приручнику басх детаљније информације и друге напредне трикове које можете да користите.