Как да използвате историята на командите в Windows PowerShell
Windows PowerShell има вградена функция за история на команди, която предоставя подробна информация за командите, които изпълнявате. Подобно на командния ред, PowerShell помни само историята на командите за текущата сесия.
Как да използвате буфера за командния ред
PowerShell има два типа история на командите. Първо, има буфер за командния ред, който всъщност е част от графичното приложение на терминала PowerShell и не е част от базовото приложение Windows PowerShell. Той предоставя няколко основни функции:
- Стрелка нагоре: Извикайте предишната команда, която сте въвели. Натиснете бутона неколкократно, за да преминете през историята на вашите команди.
- Стрелка надолу: Извикайте следващата въведена команда. Натиснете бутона неколкократно, за да преминете през историята на вашите команди.
- F8: Търсете в историята на команди за команда, съответстваща на текста в текущата команда. Така че, ако искате да търсите команда, която започва с „p“, трябва да напишете „p“ в командния ред и след това многократно да натиснете F8, за да преминете през команди в историята, които започват с „a“.
По подразбиране буферът помни последните 50 команди, които сте въвели. За да промените това, щракнете с десния бутон върху заглавната лента на прозореца за подсказване на PowerShell, изберете „Properties“ и променете стойността на „Buffer Size“ под Command History.
Как да видите историята на PowerShell
Самата Windows PowerShell поддържа история на командите, които сте въвели в текущата сесия на PowerShell. Можете да използвате няколко включени cmdlet за преглед и работа с историята ви.
За да видите историята на въведените от вас команди, изпълнете следната команда:
Get-История
Можете да търсите в хронологията си, като свържете получения резултат към Изберете-String
и посочване на текста, който искате да търсите. Заменете „Пример“ в кратката команда по-долу с текста, който искате да търсите:
Get-History | "Пример" за избор на низ
За да видите по-подробна история на команди, която показва състоянието на изпълнение на всяка команда, заедно с началното и крайното време, изпълнете следната команда:
Get-History | Списък с форматиране-Собственост *
По подразбиране Get-История
cmdlet показва само 32-те най-нови записи в историята. Ако искате да прегледате или търсите по-голям брой записи в историята, използвайте -Броя
опция, за да укажете колко записи в историята трябва да показва PowerShell, като например:
Вземете-История-Брой 1000 Вземи-История-Брой 1000 | Select-String -Pattern "Пример" Get-History -Ступ 1000 | Списък с форматиране-Собственост *
Как да стартирате команди от вашата история
За да изпълните команда от историята си, използвайте следната кратка команда, като посочите Id номера на историята, както е показано от Get-История
кратката команда:
Invoke-History #
За да изпълните две команди от историята си назад, използвайте Invoke-История
два пъти на същия ред, разделени с точка и запетая. Например, за да изпълните бързо първата команда в историята си, а след това втората, бихте изпълнили:
Invoke-History 1; Invoke-History 2
Как да изчистите вашата PowerShell история
За да изчистите историята на въведените команди, изпълнете следното cmdlet:
Чиста история
Обърнете внимание, че буферът на командния ред е отделен от историята на PowerShell. Така че, дори след като тичаш Чиста история
, можете да продължите да натискате клавишите със стрелки нагоре и надолу, за да превъртате през въведените от вас команди. Ако обаче тичаш Get-История
, ще видите, че историята на PowerShell всъщност е празна.
PowerShell не помни историята ви между сесиите. За да изтриете двете командни истории за текущата сесия, всичко, което трябва да направите, е да затворите прозореца на PowerShell.
Ако искате да изчистите прозореца на PowerShell след изчистване на историята, можете да го направите, като изпълните ясно
команда:
ясно
Как да запазите и импортирате вашата PowerShell история
Ако искате да запишете историята на командите PowerShell за текущата сесия, за да можете да се обърнете към нея по-късно, можете да го направите.
Get-History | Export-Clixml -Path c: потребителски имена \ t
Това изнася историята на командите като подробен XML файл, допълнен със стойности "StartExecutionTime" и "EndExecutionTime" за всяка команда, която ви казва кога е стартирана командата и колко време е необходимо за завършване.
След като експортирате историята на PowerShell към такъв XML файл, вие (или някой друг, на когото изпращате XML файла) можете да го импортирате в друга сесия на PowerShell с кратка команда Add-History:
Add-History -InputObject (Импортиране-Clixml -Path C: потребители: \ t
Ако пуснете Get-История
cmdlet след импортиране на такъв XML файл, ще видите, че командите от XML файла са импортирани в историята на текущата сесия на PowerShell.