Черупка

Извличане на най-доброто от историята на Linux Bash

Извличане на най-доброто от историята на Linux Bash

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

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

Ще използваме приложението Terminal на Linux за изпълнение на командите, споменати в този урок.

Преглед на цялата история

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

$ история

Историята ще бъде отпечатана на екрана в следния формат по подразбиране:

В горното изображение можете да видите списък с всички команди с номер, присвоен на всяка от тях. Командата номер 1 съответства на първата изпълнена команда, а последната номерирана команда представлява последната изпълнена от вас команда.

Ако сте изпълнявали много команди, откакто сте използвали bash, ще забележите, че тук ще бъдат показани стотици и дори хиляди от тези команди. За достъп до няколко подходящи команди можете да филтрирате резултатите, показани от функцията за история. Можете също така да персонализирате командата за история, за да показва определен брой команди за вас.

Филтриране на резултатите от историята

Ако искате да филтрирате изхода на историята си въз основа на конкретна ключова дума, която може да сте използвали в предишните команди, можете да използвате командата history, както следва:

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

Пример: В този пример искам да видя само командите за пинг, които някога съм изпълнявал в черупката. Затова ще използвам следната команда:

$ история | grep пинг

Можете да видите, че моят изход сега показва само командите, включително моята ключова дума за търсене “ping” Advertisement

Преглед на редица скорошни команди

Можете също да видите определен брой команди, например:

ИЛИ

N Брой скорошни команди

Можете да видите определен брой наскоро изпълнени команди чрез следната команда:

$ история | опашка -n

Пример:

В този пример искам да видя последните 3 команди, които бях изпълнил, с ключовата дума 'ping':

$ история | grep ping | опашка -3

Изходът показва само 3 скорошни команди за пинг вместо цялата история

N Брой на най-старите команди

Можете да видите определен брой най-старите команди за изпълнение чрез следната команда:

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

Пример:

В този пример искам да видя най-старите 3 команди, които съм изпълнил, с ключовата дума 'ping':

$ история | grep ping | head -3

Изходът показва само 3-те най-стари команди за пинг вместо цялата история

Избройте всички команди с дата и клеймо

Ако искате да видите историята на командите си заедно с датата и клеймото, моля, използвайте следната команда за експортиране:

$ export HISTTIMEFORMAT = "% F,% T"

Сега, когато искате да видите историята, просто изпълнете командата history, за да видите изхода в следния формат:

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

Навигиране на команди от История

Докато сте в командния ред, можете да навигирате през предварително изпълнени команди и също така да извикате някои наскоро използвани команди, като предоставите ключова дума.

Превъртане през команди

Можете да използвате следните контроли на клавиатурата, за да навигирате през командите за история

Стрелка нагоре / Ctrl + PИзползвайки тези контроли, можете да покажете предишната команда, която сте използвали. Можете да натиснете тези контроли няколко пъти, за да се върнете към определена команда в историята.
Стрелка надолу / Ctrl + NИзползвайки тези контроли, можете да покажете следващата команда, която сте използвали. Можете да натиснете тези контроли няколко пъти, за да преминете напред към определена команда в историята.
Alt + RАко редактирате команда, която сте изтеглили от историята, на текущ ред, можете да използвате тази контрола, за да я върнете към първоначалната команда.

Извикване на команди

Можете да извикате, стартирате или да изберете да не изпълнявате конкретна команда от историята, като използвате следните контроли:

Ctrl + RИзползвайки този контрол, можете да извикате команда от историята, като посочите низ за търсене.
Ctrl + OИзползвайки този контрол, можете да изпълните командата, която сте извикали чрез Ctrl + R
Ctrl + GИзползвайки този контрол, можете да излезете от историята, без да изпълните командата, която сте извикали чрез Ctrl + R

Пример:

В този пример натиснах ctrl + R и след това предоставих низ за търсене 'ar'. Историята показва командата „арка“.

Когато стартирах командата 'arch', като натиснах ctrl + O, тя показа CPU архитектурата на моята система:

Използване на Bash History

Истинската магия на историята на bash е чрез използване на различни команди и персонализиране на самата команда за история, за да се използва най-добре функцията за история:

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

$ !#

Пример:

Тук изпълнявам командата номер 95 от моята история:

$ !95

Резултатът показва резултата от 'lscpu', който беше посочен като номер на команда 95 в моята история на bash. Тази команда показва моите спецификации на процесора и операционната система.

$ !!

Пример:

Тук можете да видите, че изпълних командата "арка". Изпълнявайки гореспоменатата команда, мога да стартирам отново командата 'arch', за да разгледам архитектурата на процесора си, както следва:

$ ![ключова дума]

Пример:

Ще използвам следната команда за повторно изпълнение на последната команда с ключовата дума 'dconf' в нея:

$ !dconf

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

Използване на аргументи от предишни команди

Linux bash ви позволява да стартирате нова команда, като използвате аргументи от предишната команда. Особено полезно е, когато искате да избегнете повторно въвеждане на дълги или сложни аргументи. За целта можете да използвате следната команда:

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

$ [Команда] !$

Променливата !$ има последния аргумент от предишната команда, съхраняван в него.

Пример:

В този пример ще създам файл с дълго име.

Nano [longnameOfaFile]

След това ще го копирам на друго място, като избягвам да въвеждам дългото име отново, както следва:

Cp !$ [дестинация]

Можете да видите, че успях да копирам файл, без да пренаписвам името на файла с помощта на променливата !$

Използване на първия аргумент от предишната команда

Понякога само първият аргумент от предишната команда е полезен в текущата.

В този случай можете да използвате следната команда:

$ [команда] !^

Пример:

В следващия пример изпълних командата ping, като посочих името на хоста и броя като аргументи. Сега искам да използвам името на хоста (първи аргумент), а не 2 (последния аргумент) в новата си команда. За тази цел ще използвам следната команда:

$ пинг !^

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

Можете също да използвате всички аргументи от предишната команда, като използвате следната команда:

$ !*

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

Можете също да използвате команди от историята си, като използвате повторно техните аргументи. Използвайте следната команда за тази цел:

$ [команда] ![ключова дума]: #

Пример:

$ ехо !cp: 2

Тази команда ще вземе следните параметри:

команда: ехо

Ключова дума: cp

#: 2 (втори аргумент на командата)

Следният изход показва втория аргумент на последната cp команда, която изпълних:

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

Следващата команда ще съхрани всички аргументи от търсената команда за история и ще ги използва в текущата команда:

$ команда ![ключова дума]: *

Пример:

В следващата команда ще отпечатам всички аргументи на последната cp команда, като използвам командата echo, както следва:

$ ехо ![cp]: *

Модифициране и изпълнение на предишни команди

Ако сте въвели грешно команда или искате да я изпълните отново, като промените малко текст в нея; следният начин е да го направите:

$ ^ [предишен текст] ^ [нов текст]

Пример:

Погрешно написах командата „grep“ като „gep“ и сега искам да стартирам командата, като коригирам текста:

$ ^ gep ^ grep

Сега можете да видите, че моята коригирана команда ще работи правилно, както следва:

Изчистване на историята

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

$ история -c

Тази команда ще изчисти историята ви и ще премахне цялото съдържание от файла ~ /.bash_history

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

Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...
Vulkan за потребители на Linux
С всяко ново поколение графични карти виждаме, че разработчиците на игри преместват границите на графичната вярност и се приближават една крачка до фо...