Домашня » як » Використання історії команд у оболонці Windows PowerShell

    Використання історії команд у оболонці Windows PowerShell

    Windows PowerShell має вбудовану функцію історії команд, яка надає детальну інформацію про запущені команди. Як і командний рядок, PowerShell запам'ятовує лише історію ваших команд для поточного сеансу.

    Як використовувати буфер командного рядка

    PowerShell технічно має два типи історії команд. По-перше, є буфер командного рядка, який фактично є частиною графічного додатка PowerShell і не є частиною базової програми Windows PowerShell. Він містить кілька основних функцій:

    • Стрілка вгору: Нагадаємо попередню команду, яку ви ввели. Натискайте клавішу кілька разів, щоб пройти історію команд.
    • Стрілка вниз: Нагадаємо наступну введену команду. Натискайте клавішу кілька разів, щоб пройти історію команд.
    • F8: Пошук історії команд для команди, що відповідає тексту поточної командного рядка. Отже, якщо ви хочете шукати команду, що починалася з “p”, ви вводите “p” у командному рядку, а потім неодноразово натискайте F8, щоб перемикати команди в історії, які починаються з “a”.

    За замовчуванням буфер запам'ятовує останні 50 введених команд. Щоб змінити це, клацніть правою кнопкою миші на рядку заголовка вікна запиту PowerShell, виберіть "Властивості" та змініть значення "Розмір буфера" в історії команд.

    Як переглянути історію PowerShell

    Сама Windows PowerShell зберігає історію команд, введених у поточній сесії PowerShell. Для перегляду та роботи з історією можна використовувати кілька вбудованих командлет.

    Щоб переглянути історію введених команд, запустіть такий командлет:

    Get-History

    Ви можете шукати свою історію, передаючи результуючий вивід у формат Select-String cmdlet і вкажіть текст, який потрібно шукати. Замінити "Приклад" у командлеті нижче текстом, який потрібно шукати:

    Get-History | Вибір "String -Pattern" Приклад "

    Щоб переглянути більш детальну історію команд, яка відображає стан виконання кожної команди, а також час початку та завершення, виконайте таку команду:

    Get-History | Список-Формат-Власність *

    За замовчуванням Get-History cmdlet показує лише 32 найновіших записів історії. Якщо ви хочете переглянути або шукати більшу кількість записів історії, використовуйте -Рахувати параметр, який визначає кількість записів історії, які PowerShell має показувати, наприклад:

    Get-History -Сума 1000 Get-History -Ступ 1000 | Select-String -Pattern "Приклад" Get-History -Ступ 1000 | Список-Формат-Власність *

    Як запускати команди з вашої історії

    Щоб запустити команду зі своєї історії, скористайтеся наступним командлетом, вказавши номер ідентифікатора елемента історії, як показано у Get-History cmdlet:

    Invoke-History #

    Щоб запустити дві команди зі своєї історії назад, використовуйте Invoke-History двічі на одному рядку, розділеному крапкою з комою. Наприклад, щоб швидко виконати першу команду в історії, а потім другу, виконайте такі дії:

    Invoke-History 1; Invoke-History 2

    Як очистити історію PowerShell

    Щоб очистити історію введених команд, запустіть такий командлет:

    Чиста історія

    Зверніть увагу, що буфер командного рядка окремо від історії PowerShell. Отже, навіть після запуску Чиста історія, Ви можете продовжувати натискати клавіші зі стрілками вгору та вниз для прокручування команд, які ви ввели. Однак, якщо ви працюєте Get-History, ви побачите, що історія 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: користувачі

    Якщо ви запустите Get-History після імпортування такого XML-файлу ви побачите, що команди з файлу XML імпортувалися в історію поточної сесії PowerShell.