Гид по технологиям

Как использовать команду ls в Windows — CMD и PowerShell

5 min read Команды терминала Обновлено 31 Dec 2025
Команда ls в Windows — CMD и PowerShell
Команда ls в Windows — CMD и PowerShell

Иллюстрация: настройки внешнего вида терминала Linux

Краткое объяснение

ls — короткая команда для отображения списка файлов и папок в каталоге. В Linux это стандартная утилита; в Windows её поведение достигается разными способами: через встроенную команду dir в Command Prompt и через Get-ChildItem (алисы ls, dir, gci) в PowerShell. Определение: ls — команда для просмотра содержимого каталога.

Почему это важно

  • Быстрое перечисление файлов важно при отладке, автоматизации и навигации по проектам.
  • Знание эквивалентов сокращает время работы при переходе между Linux и Windows.

Что такое «ls» в Windows

В Windows самой команды ls в классическом Command Prompt нет. При вводе “ls” в CMD вы получите ошибку: ‘ls’ is not recognized as an internal or external command, operable program or batch file. Однако:

  • В CMD используйте команду dir для аналогичной задачи.
  • В PowerShell ls — это псевдоним (alias) для Get-ChildItem и выполняет те же функции, что и ls в Unix-подобных системах.

Как использовать «ls» в Command Prompt (CMD)

Если вы работаете в классическом CMD, выполняйте перечисленное ниже.

  1. Откройте меню Пуск, введите “Командная строка” или “Command Prompt” и выберите “Запуск от имени администратора” при необходимости.
  2. Перейдите в нужный каталог командой cd, например:
cd C:\Users\ИмяПользователя\Документы
  1. Выполните:
dir
  1. Полезные ключи dir (CMD):
dir /A       # показать все файлы (включая скрытые)
dir /B       # вывод в «коротком» формате (только имена)
dir /O       # сортировка (например /OD по дате)
dir /S       # рекурсивно показать файлы в подкаталогах
dir /T:W     # использовать время последней модификации (W)

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

dir /A /B

Важно: формат даты/времени и разделитель каталогов в Windows отличаются от Linux. При автоматизации учитывайте эти различия.

Использование команды dir для перечисления файлов в CMD Windows

Как использовать ls в PowerShell

PowerShell мощнее и ближе по возможностям к шеллам Unix — там ls работает сразу как алиас.

  1. Откройте меню Пуск → введите “PowerShell” → выберите Windows PowerShell или PowerShell (при наличии).
  2. Перейдите в каталог:
cd 'C:\Users\ИмяПользователя\Документы'
  1. Выполните простую команду:
ls
# или
Get-ChildItem
# или
gci
  1. Полезные параметры и сочетания (PowerShell):
ls -Force            # показать скрытые и системные элементы
ls -Recurse          # рекурсивно пройти все подкаталоги
ls -File             # показать только файлы
ls -Directory        # показать только каталоги
ls | Where-Object {$_.Length -gt 1MB}  # фильтрация по размеру
ls | Select-Object Name,Length,LastWriteTime  # отобрать поля

Пример: показать файлы старше 30 дней и вывести имя и дату:

ls -File -Recurse | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-30) } | Select-Object FullName, LastWriteTime

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

Set-Alias ls Get-ChildItem
# или добавить в профиль PowerShell:
"Set-Alias ls Get-ChildItem" | Out-File -FilePath $PROFILE -Append

Скриншот вывода ls в PowerShell с перечислением файлов

Альтернативы и когда использовать каждую

  • Command Prompt (dir): простые одноразовые задачи, совместимость со старыми скриптами .bat.
  • PowerShell (Get-ChildItem/ls): мощная фильтрация, объекты .NET, лучше для сложных сценариев автоматизации.
  • Git Bash / MSYS / Cygwin: если вы привыкли к GNU-утилитам (реализуют оригинальный ls и многие другие команды).
  • WSL (Windows Subsystem for Linux): полноценная Linux-среда внутри Windows, когда нужен полный набор GNU-утилит и скриптов.

Резюме выбора:

  • Нужна совместимость с Windows-скриптами → CMD/dir.
  • Нужна мощная фильтрация и скрипты на PowerShell → PowerShell/ls.
  • Нужна среда Linux → WSL или Git Bash.

Быстрые правила и эвристики

  • Если вы портируете shell-скрипт с Linux → замените ls опции на эквиваленты PowerShell или используйте WSL.
  • Для одноразовой проверки каталога достаточно dir или ls в PowerShell.
  • Для парсинга вывода лучше использовать объекты PowerShell, а не текстовые манипуляции.

Чек-лист по задачам (роль: разработчик / админ / новичок)

  • Новичок:
    • Открыть PowerShell
    • Перейти в папку командой cd
    • Выполнить ls и просмотреть результат
  • Разработчик:
    • Использовать ls | Where-Object для фильтрации
    • Привести результат к нужным полям через Select-Object
    • Автоматизировать в скрипте PowerShell
  • Системный администратор:
    • Настроить профиль PowerShell с нужными алиасами
    • Проверить совместимость скриптов в CMD и PowerShell
    • При необходимости развернуть WSL для unix-утилит

Критерии приёмки

  • Команда dir в CMD показывает файлы каталога и не выдает ошибки.
  • В PowerShell команда ls выполняет Get-ChildItem и дает структурированный вывод.
  • Скрипты, использующие ls, корректно обработаны либо через PowerShell, либо через WSL/Git Bash.

Устранение проблем (Troubleshooting)

  • Ошибка ‘ls’ не распознана в CMD: используйте dir или установите оболочку с GNU-утилитами.
  • Неправильный формат вывода при парсинге: вместо текстового парсинга в PowerShell работайте с объектами (Get-ChildItem возвращает объекты).
  • Псевдоним ls не сохраняется между сессиями: добавьте Set-Alias в файл профиля $PROFILE.

Короткая методология (mini-method): как перейти от Linux ls к рабочему сценарию в Windows

  1. Определите, какие опции ls вы используете (рекурсивность, фильтрация, формат вывода).
  2. Если простая перечисление → используйте dir в CMD.
  3. Если нужны фильтры и объекты → PowerShell + Get-ChildItem.
  4. Если нужен полный GNU-опыт → установите WSL или Git Bash.

Примеры часто используемых команд

# CMD: компактный список всех файлов
dir /A /B

# PowerShell: рекурсивно показать только файлы и вывести имя и размер
ls -File -Recurse | Select-Object FullName, Length

# PowerShell: найти все .log файлы старше 7 дней
ls -Recurse -Filter *.log | Where-Object { $_.LastWriteTime -lt (Get-Date).AddDays(-7) }

# Создать псевдоним ls в профиле PowerShell
if (!(Test-Path -Path $PROFILE)) { New-Item -ItemType File -Force -Path $PROFILE }
"Set-Alias ls Get-ChildItem" | Out-File -FilePath $PROFILE -Append

Примеры: когда ls не подходит

  • Скрипт Linux использует специфичные опции ls (например –color=auto) — в PowerShell нет эквивалента; лучше использовать WSL.
  • Парсинг текстового вывода ls — ненадежен. В PowerShell используйте объекты.

Decision flow (краткое дерево выбора)

flowchart TD
  A[Нужен вывод списка файлов?] --> B{Работаете в CMD или PowerShell?}
  B --> |CMD| C[Используйте dir]
  B --> |PowerShell| D[Используйте ls / Get-ChildItem]
  D --> E{Нужны GNU-утилиты?}
  E --> |Да| F[Установите WSL или Git Bash]
  E --> |Нет| G[Оставайтесь в PowerShell, используйте объекты]

Безопасность и приватность

Перечисление файлов само по себе не меняет данные, но будьте осторожны при автоматическом выполнении команд, которые читают или пересылают содержимое (например, при создании списков с полными путями и затем отправке их в сеть).

Резюме

Команда ls в Windows достигается двумя путями: через dir в классическом CMD и через Get-ChildItem (алиас ls) в PowerShell. Для полного GNU-опыта используйте WSL или Git Bash. Для автоматизации предпочитайте PowerShell и работу с объектами вместо текстового парсинга.

Ключевые действия: откройте нужную оболочку, перейдите в каталог (cd), выполните dir или ls и примените фильтры/алиасы по необходимости.

Важно: при переносе скриптов с Linux проверяйте используемые опции ls и корректно переводите логику на PowerShell или в WSL.

Спасибо, что прочитали — попробуйте команды в своей среде и добавьте нужные алиасы в профиль для удобства.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Делиться купленными фильмами в Apple TV
Руководство

Делиться купленными фильмами в Apple TV

Как сделать брошюру в Word — полноценное руководство
Руководство

Как сделать брошюру в Word — полноценное руководство

Как работает Handoff в экосистеме Apple
Apple

Как работает Handoff в экосистеме Apple

Загрузить отредактированные фото в Instagram
Социальные сети

Загрузить отредактированные фото в Instagram

Gmail на рабочем столе: клиенты и расширения
Почта

Gmail на рабочем столе: клиенты и расширения

Откатиться на Office 2013 и заблокировать обновление
Инструкции

Откатиться на Office 2013 и заблокировать обновление