Команды windows для работы с текстовыми файлами

Обучающие советы по использованию командной строки Windows.
  1. Как открыть командную строку Windows?
  2. Параметры команд и получение помощи
  3. Запуск системных компонентов и программ из командной строки
  4. Работа с файлами и папками из командной строки
  5. Востребованные сетевые команды командной строки
  6. Редко используемые, но очень полезные команды

Выполнение множества задач в операционных системах Windows возможно не только при использовании привычного графического пользовательского интерфейса, но и при помощи интерпретатора командной строки (командной строки, консоли). Через него можно изменять различные системные параметры, управлять файлами и папками, запускать системные компоненты и любые программы, выполнять иные операции. Рассмотрим наиболее важные команды командной строки Windows, которые могут пригодиться любому пользователю.

Как открыть командную строку Windows?

Некоторые из консольных команд можно выполнить лишь из учетной записи администратора. Потому лучше сразу запомнить, как запускать интерпретатор с максимальным количеством прав доступа к системе. В ОС Windows 7/8/10 делается это просто:

  • Откройте «Поиск» в/около меню «Пуск».
  • Впишите поле поиска «Командная строка».
  • В результатах поиска отобразится нужная нам программа. Кликните по ней правой кнопкой мыши, затем выберите из выпадающего меню пункт «Запустить от имени администратора».

Запуск командной строки

Но для выполнения простых команд консоль Windows можно запускать и без прав администратора. Проще всего это сделать следующим образом:

  • Нажмите на клавиатуре клавиши «Win» и «R».
  • Откроется окно «Выполнить».
  • Впишите в него команду cmd и нажмите «ОК».

Запуск командной строки

Так или иначе, системное приложение «Командная строка Windows» будет запущена и готова выполнению пользовательских команд:

Командная строка Windows

Параметры команд и получение помощи

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

  • У многих команд существуют изменяемые параметры, уточняющие выполнение командой той или иной функции.
  • По любой команде можно получить помощь прямо в окне интерпретатора. Для этого следует сразу после команды вписать «/?«, что также является параметром.

Возьмем, к примеру, одну из наиболее востребованных команд ping. Впишите в консоль следующую строку:

ping /?

Вызов справки по команде ping

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

Запуск системных компонентов и программ из командной строки

Здесь стоит отметить, что запускать системные компоненты и программы все же проще не напрямую из командной строки, а из ранее упомянутого приложения «Выполнить». Но разницы в синтаксисе (написании) самих команд никакой нет. В обоих случаях после ввода команды достаточно нажать «Enter».

Вот список наиболее востребованных команд для запуска системных приложений и компонентов:

  • control — запуск «Панели управления Windows».

Выполнение команды "control"

  • regedit — запуск «Редактора реестра».

Выполнение команды "regedit"

  • devmgmt.msc — запуск «Диспетчера устройств».

Выполнение команды "msc"

  • taskmgr — запуск «Диспетчера задач».

Выполнение команды "taskmgr"

  • services.msc — запуск приложения «Службы».

Выполнение команды "services.msc"

  • appwiz.cpl — «Программы и компоненты» («Установка и удаление программ»).

Выполнение команды "appwiz.cpl"

И это далеко не полный список команд запуска системных приложений и компонентов, а лишь самые востребованные у нас — обычных пользователей.

А вот 4 команды для запуска предустановленных (стандартных) в Windows программ:

  • calc — запуск «Калькулятора».

Калькулятор Windows

  • mspaint — запуск графического редактора «Paint».

Графический редактор mspaint

  • notepad — запуск текстового редактора «Блокнот».

Текстовый редактор notepad

  • wordpad — запуск текстового редактора «WordPad»

Тектовый редактор wordpad

Вообще, из командной строки можно запустить любую другую программу или файл. Рассмотрим, как это сделать, а заодно познакомимся с некоторыми командами по управлению файлами и папками.

Работа с файлами и папками из командной строки

Бывают ситуации, когда невозможно запустить стандартный файловый менеджер «Проводник Windows». Например, из-за действия вирусов-блокировщиков или при системных сбоях. В любом случае все, что можно сделать при помощи «Проводника», можно сделать и при помощи командной строки. Начнем с самого простого — просмотра содержимого папок.

Просмотр содержимого папки. При запуске командной строки перед мигающим курсором можно увидеть адрес расположения папки учетной записи на жестком диске. В нашем случае — это «C:Usersvzgn»:

Просмотр содержимого папки

Давайте, выведем на экран список все других объектов (файлов и папок), содержащихся в данной папке. Для этого используйте команду dir:

Выполнение команды DIR

Объекты, напротив которых написано <DIR> — это папки, все остальное — файлы (напротив них указан размер в байтах).

Команду dir можно применять вообще папкам, расположенным в вообще любом месте на жестком диске. Для этого после команды следует указать путь до каталога. К примеру, для просмотра содержимого папки «Windows» на диске «C:» следует ввести команду:

dir c:windows

Запомните одно простое правило. Если в именах папок/файлов присутствуют пробелы, их следует писать в двойных («имя папки или файла») кавычках.

Открытие файла из командной строки. Для открытия файла достаточно вписать его полное название вместе с расширением в командную строку. Что не вводить имя файла целиком, используйте клавишу «Tab» (с ее помощью можно поочередно перебирать имена всех объектов в текущей папке).

Открытие файла из командной строки

В нашем случае был открыт файл .pgAdmin4.startup.log при помощи «Блокнота». Если бы это был музыкальный файл, запустился бы аудиопроигрыватель, если DOC/DOCX-файл — редактор «MS Word» и т.д. Таким образом, открытие файла в командной строке равнозначно двойному клику по файлу в «Проводнике Windows».

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

Перейдем в папку «Music». Т.к. она находится в текущем каталоге, достаточно ввести в консоль:

cd music

Выполнение команды CD

Теперь наше местоположение изменилось на «C:UsersvzgnMusic».

Давайте, перейдем в какую-нибудь папку, расположенную на другом локальном диске. Это можно сделать несколькими способами, но воспользуемся самым легким для запоминания.

  • Для начала перейдем в сам локальный диск (изменим наше местоположение). Для этого достаточно использовать (независимо от текущего местоположения) команду e:. Вместо e можно использовать любую другую букву локального диска (или даже флешки, например):

  • Допустим, нам известно, что на диске «E» существует папка «Install«, а в ней — пака «Web«. Перейти в нее можно одной командой:

cd e:installweb

Переход в папку на другом диске через командную строку

Запуск/открытие программы/файлы в другой папке или на другом диске. Запустим программу, расположенную где-нибудь глубоко на диске. Для запуска файла или программы можно просто указать полный путь до него. Текущее местоположение в этом случае не имеет значения. Запустим, например, текстовый редактор «Notepad++» одной командой:

C:»Program Files»Notepad++notepad++.exe

Запуск программы через командную строку

Обратите внимание, что имя папки «Program Files» взято в кавычки, т.к. в нем присутствует пробел.

Создание, удаление и переименование файлов и папок. Из командной строки можно выполнить все эти операции над файлами и папками.

  • Создание простого текстового файла — copy nul простой_текстовый_файл.txt. Перед названием файла можно указать путь до конечной папки, в которой тот будет создан (если не указать, файл создастся в текущей папке).

Создание файла в командной строке

  • Создание папки — mkdir папка. Папка также создается в текущем местоположении.

Создание папки в командной строке

  • Удаление файла (или нескольких) — del простой_текстовый_файл.txt (если требуется удалить несколько файлов, просто вписываем их имена друг за другом через пробел). Удаляем созданный ранее файл.
  • Удаление папки — rmdir папка. Удаляем созданную ранее папку.

Удаление папки в командной строке

  • Переименование папки/файла — ren простой_текстовый_файл.txt новое_имя_файла.txt или ren папка новое_имя_папки. Переименуем созданный файл и папку.

Переименование папок и файлов в в командной строке

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

Востребованные сетевые команды командной строки

Из командной строки Windows можно взаимодействовать с сетевыми подключениями, изменять их настройки, просматривать различную информацию и многое другое. Рассмотрим наиболее востребованные сетевые команды.

Команда ping

Наверное, это самая популярная команда среди пользователей ОС Windows (как, впрочем, и других операционных систем). Предназначена она для проверки доступности и качества связи между компьютером и целевым IP-адресом. Также команда может применяться для определения IP-адреса сайта по доменному имени сайта и для выполнения других задач.

Определим, есть ли связь с каким-нибудь IP-адресом. Пусть это будет — 173.194.73.139 (IP-адрес поисковой системы Google). Вводим следующую команду:

ping 173.194.73.139

Выполнение команды PING

Как видим, обмен пакетами с указанным IP-адресом осуществляется, значит, связь есть. Если бы ее не было, картина была бы следующая (уберем из IP Google последнюю цифру):

Выполнение команды PING

«100% потерь» означает, что связь установить не удалось.

А теперь определим IP-адрес сайта по его доменному имени. Возьмем адрес softsalad.ru:

ping softsalad.ru

Определение IP при помощи команды PING

На изображении выше можно увидеть IP-адрес сайта, определенный по его доменному имени.

Команда tracert

А эта команда применяется для отслеживания сетевого маршрута от компьютера до целевого IP-адреса (можно использовать и доменное имя сайта):

tracert softsalad.ru

Выполнение команды TRACERT

Видите, чтобы «достучаться» до сайта компьютеру в данном случае потребовалось обратиться к 12 промежуточным IP-адресам (ваш провайдер, сервер сайта и т.д.).

Команда ipconfig

С помощью этой команды можно получить информацию о настройках IP-протокола компьютера (или, грубо говоря — настройки сетевых карт). Воспользуемся данной командой с атрибутом /all, который позволит вывести более подробную информацию:

ipconfig /all

Выполнение команды ipconfig /all

Команда getmac

Если требуется определить только MAC-адрес сетевой карты, используем эту команду без всяких атрибутов:

getmac

Выполнение команды GETMAC

Редко используемые, но очень полезные команды

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

Превращаем ноутбук в Wi-Fi-роутер (включение раздачи интернета с ноутбука или настольного компьютера с Wi-Fi-адаптером)

Для реализации этой затеи нужно поочередно выполнить три несложные команды:

  1. netsh wlan set hostednetwork mode=allow
  2. netsh wlan set hostednetwork mode=allow ssid= MiWiFi key= MiWiFipassword keyUsage=persistent. Вместо MiWiFi и MiWiFipassword можно использовать свои фразы. Первый параметр задает имя беспроводной сети, второй — пароль (должен состоять из 8 символов или более).
  3. netsh wlan start hostednetwork.

Как раздать интернет с ноутбука из командной строки

Если после выполнения каждой команды вы видите сообщения, аналогичные тем, что приведены на изображении выше, значит, все прошло успешно. Теперь к ноутбуку можно подключиться, например, с телефона так же, как и к обычному Wi-Fi-роутеру.

Удалениям службу Windows (или любую другую) через командную строку

Если попробовать удалить службу через штатное приложение «Службы», то ничего не получится (в нем попросту не предусмотрено такой функции). Однако это бывает необходимым, особенно после установки различных программ, которые устанавливают службы, но «забывают» их удалять при деинсталляции. Это легко реализуется через командную строку. Однако для начала необходимо узнать имя службы, и это можно сделать через стандартное Windows-приложение:

  • Запустите программу «Службы», используя команду msc.
  • Найдите в отобразившемся списке службу, которую необходимо удалить, и кликните по ней два раза мышкой:

Службы Windows

  • Нас интересует текст в блоке «Имя службы».
  • Теперь вернитесь в окно командной строки и впишите в него команду:

sc delete имя_службы

  • Подставьте вместо фразы «имя_службы» имя удаляемой службы. Если оно содержит пробелы, как в нашем случае, заключите имя службы в кавычки.

Удаление службы из командной строки

  • Служба удалена.

Выключаем/перезагружаем/отправляем в сон/гибернацию компьютер с задержкой. Если необходимо выключить, перезагрузить или отправить в сон компьютер с задержкой по времени, не обязательно использовать какие-либо сторонние программы — все можно сделать при помощи командной строки. Для этого достаточно использовать команду:

shutdown /s /t 60 /f

В данном случае компьютер будет выключен (параметр «/s«) через 60 секунд (параметр «/t 60«) с принудительным завершением работы всех приложений без предупреждения пользователя (параметр «/f» — обязательный при использовании таймера «/t«).

Вместо выключения компьютера «/s» использовать:

  • /l — завершение сеанса (выход из учетной записи пользователя с блокировкой, если для входа требуется пароль).
  • /r — перезагрузка компьютера.
  • /hybrid /s — «отправка» компьютера в сон (параметр «/s» использовать обязательно).
  • /h — режим гибернации (или режим максимального энергосбережения, при котором ключевые компоненты компьютера остаются включенными).

Для выключения компьютера, например, через 2 часа следует указывать в параметре «/t» число 7200 (1 час равен 3600 секундам).

Выключение компьютера из командной строки

Сразу после выполнения команды на экран будет выведено уведомление:

Уведомление о выключении компьютера

Выполнение команды всегда можно отменить (если была использована задержка), воспользовавшись:

shutdown /a

Отмена выклчения компьютера

Просмотр списка запущенных процессов и завершение работы любого из них. Если по каким-то причинам не удается запустить «Диспетчер задач», но имеется доступ к командной строке, запущенный процесс может быть снят при помощи специальных команд:

  • Сначала выведем на экран список всех запущенных процессов при помощи команды tasklist:

Просмотр запущенных процессов из командной строки

  • Нас интересует идентификатор «PID» завершаемого процесса. Возьмем для примера PID процесс «NVDisplay.Container.exe» — 1100.
  • Для завершения его работы используем команду taskkill /pid 1100 /f (параметр «/f» необходим для принудительного завершения работы процесса).

Завершение работы процесса из командной строки

Чиним интернет при помощи командной строки. Разнообразные неполадки с сетевыми подключениями можно устранить «одним махом» через командную строку путем сброса настроек TCP/IP (не будем вдаваться в подробности, но если вам интересно, об это можно почитать тут — Netsh Winsock — что это и зачем нужно?.

Для выполнения этой задачи нужно поочередно ввести две команды:

netsh int ip reset

netsh winsock reset

Сброс параметров IP из командной строки

Перезагружаем компьютер для применения изменений.

Создание и чтение текстовых файлов в командной строкеЕсли вы оказались без доступа к чему-либо кроме командной строки или Windows PowerShell и по какой-то причине вам требуется возможность создания или чтения текстовых файлов, это вполне реализуемо, причем более чем одним методом.

В этой инструкции подробно о работе с текстовыми файлами в командной строки или PowerShell (разумеется, можно и в Терминале Windows) — создание и сохранение текстовых файлов, их вывод и чтение в консоли.

Создание текстовых файлов в командной строке

Возможность создания текстовых файлов доступна как в командной строке (cmd.exe), так и в PowerShell. Начнем с первого варианта.

Во всех случаях учитывайте, что при использовании кириллицы потенциально возможны проблемы с кодировкой, а в некоторых случаях кодировка может отличаться при использовании разных команд.

Команда ECHO

Команда командной строки echo предназначена для вывода текстовых сообщений в окне консоли, например, при выполнении сценария в bat-файле, но может быть использована и для вывода текста в файл, благодаря возможности использования оператора «>» для перенаправления вывода из консоли в файл.

Пример команды:

echo Содержимое текстового файла > file.txt

В результате её выполнения в текущей рабочей папке командной строки будет создан файл с именем file.txt и содержимым «Содержимое текстового файла».

Создание текстового файла с помощью команды echo

COPY CON

Команда copy с параметром con позволяет скопировать содержимое консоли в файл. Использование возможности будет состоять из следующих шагов:

  1. Введите команду
    copy con имя_файла.txt

    файл не будет создан, но после выполнения указанной команды у вас появится возможность набрать содержимое этого файла, которое по завершении процесса будет в него сохранено.

  2. Курсор переместится на строчку ниже, и вы сможете набирать текст так, как делаете это обычно, включая перенос строки. Создание текстового файла с помощью copy con
  3. Для завершения набора и сохранения текстового файла нажмите сочетание клавиш Ctrl+Z, а затем — Enter. Это добавит отметку конца файла и сохранит его в текущей папке с указанным на 1-м шаге именем. Сохранение текстового файла с помощью copy con

Создание текстового файла в PowerShell

PowerShell также имеет набор встроенных командлетов для сохранения текстовых данных в файл.

Out-File

Использование Out-File в PowerShell по своей функциональности сходно с оператором перенаправления вывода в командной строке. Вывод консоли перенаправляется в заданный файл.

Пример использования:

"Текстовая строка" | Out-File -FilePath .file.txt

В этом примере в текущей папке PowerShell будет создан файл с именем file.txt и содержимым «Текстовая строка».

New-Item

Создание нового текстового файла в PowerShell возможно с помощью командлета New-Item. Пример команды, в которой создается текстовый файл file.txt, содержащий «Текстовая строка» в текущем расположении:

New-Item -Path . -Name "file.txt" -ItemType "file" -Value "Текстовая строка"

Создание текстового файла с помощью New-Item в PowerShell

Set-Content и Add-Content

Ещё два командлета PowerShell для работы с текстовыми файлами:

  • Set-Content — перезаписывает содержимое файла
  • Add-Content — добавляет содержимое в конце выбранного файла

Их использование можно увидеть на примере следующей команды:

Add-Content -Path .file.txt -Value "Ещё одна текстовая строка"

Добавление текста к файлу в PowerShell

Вывод (чтение) текстового файла в командной строке и PowerShell

Теперь перейдем к способам просмотреть текстовые файлы в командной строке или PowerShell. Как и в предыдущем случае, учитывайте, что для файлов, содержащих кириллицу, возможны проблемы с отображением символов в правильной кодировке.

TYPE

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

type file.txt

Вывод текстового файла с помощью команды type

MORE

Если файл объемный и содержит большое количество строк, используйте команду more, например:

more file.txt

Выполнив команду, вы увидите часть содержимого текста, которая помещается в окне консоли, далее вы можете использовать следующие клавиши:

Вывод текстового файла с помощью команды more

  • Enter — для отображения следующей строки файла.
  • Пробел — для отображения следующих строк документа, которые поместятся в активное окно консоли.
  • P — Показать следующие N строк. После нажатия этой клавиши с последующим указанием количества строк, будет выведено соответствующее количество строк текстового документа.
  • S — пропустить следующие N строк, работает аналогично предыдущему варианту.
  • Клавиша «=» — для отображения текущего номера строки.
  • Q — для прекращения выполнения команды more.

Get-Content

Вывести содержимое текстового файла в PowerShell можно с помощью Get-Content с указанием пути к файлу, например:

Get-Content file.txt

Чтение текстового файла с помощью Get-Content в PowerShell

Также вы можете выводить определенные строки файла, с помощью команд вида (вывод первых или последних 10 строк соответственно):

Get-Content file.txt | Select-Object -First 10
Get-Content file.txt | Select-Object -Last 10

Или присвоить содержимое файла переменной и вывести конкретную строку:

$file_text = Get-Content file.txt
$file_text[2]

Текстовый редактор edit.com в Windows

Помимо использования ручного ввода команд, вы можете использовать консольные текстовые редакторы — сторонние в версиях для Windows, такие как Vim, Nano, Kinesics Text Editor или даже старый встроенный edit.com (может отсутствовать в вашей версии системы и требовать патча NTVDMx64).

Содержание

  1. Полезные команды в консоли Windows
  2. Содержимое текущей папки — dir
  3. Открыть файл
  4. Перейти в другую папку — cd
  5. Создать папку — mkdir или md
  6. Удалить папку — rmdir или rd
  7. Показать дерево папок — tree
  8. Удаление файла — del или erase
  9. Переименование файла — ren или rename
  10. Команды одной строкой
  11. Справка по командам — help
  12. Как редактировать текстовые файлы в командной строке Windows?
  13. Изучите командную строку в терминале
  14. Создание файлов
  15. 13 инструментов для обработки текста в командной оболочке
  16. Содержание
  17. Обработка текста в командной оболочке
  18. paste
  19. Замена текста
  20. Реальные примеры
  21. Фильтрация CSV с помощью grep и awk
  22. Вывод адреса IPv4, связанного с сетевым интерфейсом
  23. Извлечение значения из файла конфигурации
  24. Извлечение IP-адресов из файла журнала
  25. Переименование функции в исходном файле
  26. Углубляемся: циклы for и xargs
  27. Резюме
  28. Что дальше
  29. Цикл довузовской подготовки кафедры ЭФУ
  30. СТРУКТУРА ПРАКТИКУМА
  31. ЗАДАНИЕ №1
  32. ЗАДАНИЕ №2
  33. ЗАДАНИЕ №3
  34. ЗАДАНИЕ №4
  35. ЗАДАНИЕ №5
  36. ВВЕДЕНИЕ
  37. 1. ОСНОВЫ КОМАНДНОЙ СТРОКИ MS WINDOWS
  38. 1. Начало работы с командной строкой
  39. 2. Структура файловой системы Windows
  40. 3. Работа с текстовыми файлами в Cmd.exe
  41. 4. Копирование и перемещение файлов и директорий
  42. 2. ЭФФЕКТИВНАЯ РАБОТА С КОМАНДНОЙ СТРОКОЙ
  43. 1. Полезные инструменты командной строки
  44. 2. Настройка параметров командной оболочки
  45. 3. Перенаправление ввода/вывода и конвейеры
  46. 3.ЧТО ДОЛЖЕН ЗНАТЬ НЕ ТОЛЬКО СИСАДМИН
  47. 1. Начало работы и внешний вид FAR
  48. 2. Основные операции FAR Manager
  49. 3. Дополнительные возможности FAR
  50. 1.3. Работа с текстовыми файлами в Cmd.exe
  51. Пуск > Все программы > Стандартные > Блокнот
  52. Start > All Programs > Accessories > Notepad
  53. Пример 1.18. Вывод текстового файла на экран
  54. Пример 1.19. Вывод текстового файла на экран
  55. TYPE [диск:][путь]имя_файла
  56. MORE /E [/C] [/P] [/S] [/Tn] [+n] [файлы]
  57. Пример 1.20. Удаление файла (не обязательно текстового)
  58. DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
  59. ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена
  60. Список команд Windows ( Windows CMD ) с описанием и примерами.
  61. Способы запуска командной строки
  62. Справочник по командам CMD Windows
  63. Прочие материалы по работе с командной строкой Windows:

Полезные команды в консоли Windows

20190919 c427188a 60

Программистам часто приходится работать в консоли — например, чтобы запустить тестирование проекта, закоммитить новый код на Github или отредактировать документ в vim. Всё это происходит так часто, что все основные действия с файлами становится быстрее и привычнее выполнять в консоли. Рассказываем и показываем основные команды, которые помогут ускорить работу в терминале под ОС Windows.

Для начала нужно установить терминал или запустить командную строку, встроенную в Windows — для этого нажмите Win+R и введите cmd. Терминал часто встречается и прямо в редакторах кода, например, в Visual Studio Code.

Содержимое текущей папки — dir

Выводит список файлов и папок в текущей папке.

Открыть файл

Чтобы открыть файл в текущей папке, введите его полное имя с расширением. Например, blog.txt или setup.exe.

Перейти в другую папку — cd

Команда cd без аргументов выводит название текущей папки.

Перейти в папку внутри текущего каталога

Перейти на одну папку вверх

Перейти в папку на другом диске

Чтобы просто изменить диск, введите c: или d:

Создать папку — mkdir или md

Создаём пустую папку code внутри папки html :

Создаём несколько пустых вложенных папок — для этого записываем их через косую черту.

Удалить папку — rmdir или rd

При этом удалить можно только пустую папку. Если попытаться удалить папку, в которой что-то есть, увидим ошибку.

Показать дерево папок — tree

Если вы хотите посмотреть содержимое всего диска, введите tree в корне нужного диска. Получится красивая анимация, а если файлов много, то ещё и немного медитативная.

Удаление файла — del или erase

Команда для удаления одного или нескольких файлов.

Переименование файла — ren или rename

Последовательно вводим ren, старое и новое имя файла.

Команды одной строкой

Очистить консоль — cls

Информация о системе — systeminfo

Информация о сетевых настройках — ipconfig

Список запущенных процессов — tasklist

Справка по командам — help

Команда help без аргументов выводит список всех возможных команд. help вместе с именем команды выведет справку по этой команде.

В этой статье приведены не все команды и не все их возможности, но вы всегда можете воспользоваться командой help и узнать о том, что ещё может командная строка.

Консоль — важный инструмент веб-разработчика

Научитесь пользоваться всеми инструментами в HTML Academy, чтобы работать с кодом в большой компании.

Источник

Как редактировать текстовые файлы в командной строке Windows?

В Unix я бы просто использовал vi, но я не знаю, что это за команда в Windows. На самом деле я пытаюсь редактировать файлы через SSH с помощью Windows Server 2008.

Я не ручаюсь за его функциональность и устаревший графический интерфейс, но он установлен по умолчанию даже в Windows 7.

Изменить: За исключением 64-битных версий Windows.

Самое простое решение для всех версий Windows:

И никакого дополнительного программного обеспечения не требуется.

Самое простое решение для всех версий в Windows:

И никакого дополнительного программного обеспечения не требуется.

В командной строке Windows введите copy con , за которым следует имя целевого файла. ( copy con c: file.txt ).

Затем введите текст, который вы хотите поместить в файл.

В командной строке Windows введите copy con , а затем имя целевого файла. ( copy con c: file.txt ).

Затем введите текст, который вы хотите поместить в файл.

Верьте или нет, EDLIN.EXE все еще около по крайней мере в этой системе Vista.

Простите, я тихонько рыдаю про себя …

lazy placeholder

Хотите верьте, хотите нет, но EDLIN.EXE все еще находится рядом с по крайней мере в этой системе Vista.

Простите, я тихонько рыдаю про себя …

Кроме того, Nano иногда добавляет дополнительные символы новой строки при сохранении файлов. Кажется, это какая-то ошибка с переносом слов в Nano.

Я также видел порты vi для Windows, хотя я использовал тот, который, похоже, делает окно командной строки таким маленьким, как это может быть, оставив только строку заголовка (что означает, что остальная часть окна также может быть невидимой, поскольку вы не можете видеть, что делаете). Однако версия Vim для Windows, похоже, работает довольно хорошо.

Кроме того, Nano иногда добавляет дополнительные символы новой строки при сохранении файлов. Кажется, это какая-то ошибка с переносом слов в Nano.

Я также видел порты vi для Windows, хотя я использовал тот, который, похоже, делает окно командной строки таким маленьким, как это может быть, оставив только строку заголовка (что означает, что остальная часть окна также может быть невидимой, поскольку вы не можете видеть, что делаете). Однако версия Vim для Windows, похоже, работает довольно хорошо.

Если у вас установлен git для Windows, то, скорее всего, и nano, и vim доступны по адресу

Для запуска из командной строки (cmd.exe)

Для запуска в PowerShell

Они оба отлично работают даже по ssh.

lazy placeholder

Если у вас установлен git для Windows, то, скорее всего, nano и vim доступны по адресу

Для запуска из команды подсказка (cmd.exe)

Для запуска в PowerShell

Оба они отлично работают даже по ssh.

В Win10 просто включите подсистему linux, тогда у вас будет большая часть вещей Linux, таких как vim и nano :

lazy placeholder

В Win10 просто включите подсистему linux, тогда у вас будет большая часть Linux такие вещи, как vim и nano :

lazy placeholder

(Также может быть доступна версия Scoop, но я не проверял.)

(Также может быть доступна версия Scoop, но я не проверял.)

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

Создание папок — это круто, но папка без содержимого так же полезна, как и пустая коробка!

Теперь, когда вы знакомы с созданием папок через командную строку, пришло время заполнить эти папки файлами..

Создание файлов

Как вы понимаете, разные Для курсов потребуются файлы разных типов внутри. Например, на уроке гуманитарных наук, таком как история искусства, может потребоваться конец курсовой работы. Скорее всего, это текстовый файл. 🎨 Может быть, на уроке биологии потребуются исследования и результаты этого семестра! Скорее всего, это электронная таблица. 🐢

Вы можете создавать все типы файлов из самой командной строки.

Это намного быстрее, чем создание файла по отдельности через различные приложения, такие как Microsoft Excel или текстовый редактор, и запустив «Сохранить как».

Touch — команда звучит довольно жутко, но вот что она делает:

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

Если файл еще не существует, ваша система создаст этот файл для вас.

команда будет выглядеть так:

Это так просто! Теперь, если вы снова посмотрите в Finder, вы увидите, что этот файл был создан внутри вашей папки «История искусства». В настоящее время он пуст, но вы можете открыть его в любое время из Терминала, чтобы редактировать содержимое, как обычно:

Теперь пора создать второй файл. Этот второй файл будет в папке «Биология». Это означает, что мы должны сменить каталоги на папку Biology!

На этом этапе вы вернетесь в каталог «Второй семестр».

Вот как выглядит вся серия команд:

lazy placeholderЗапустите команду open, чтобы открыть файл

Обратите внимание, что после запуска open research-sizes.csv файл открывается автоматически в Microsoft Excel. Терминал достаточно умен, чтобы знать, какое приложение должно открывать файлы какого типа. 👍

lazy placeholderФайл открывается в правильном приложении автоматически!

Пример кода

В предыдущей главе вы видели, как создать базовую структуру папок для статического веб-сайта. Была папка CSS и папка для изображений.

Однако обе они пусты. Давайте добавим файл!

Выполните коснитесь плюс имя файла — index.html — для его создания:

lazy placeholderСоздание файла index.html

Я даже могу открыть HTML-файл в моем браузере, чтобы просмотреть содержимое моего файла:

Теперь вы понимаете, насколько универсальным и оптимизированным является создание файлов из командной строки. Это намного быстрее, чем создание файлов по отдельности с помощью различных приложений, таких как Word.

Вам просто нужно знать имя вашего файла и расширение вы хотите, и вы можете сэкономить много времени и полностью избежать процесса Сохранить как в разных приложениях.

В следующей главе вы увидите, как перемещать и копировать часть этого контента вы создали.

Источник

13 инструментов для обработки текста в командной оболочке

Содержание

Обработка текста в командной оболочке

Одна из причин, которые делают командную оболочку бесценным инструментом, — это большое количество команд обработки текста и возможность легко объединять их в конвейер, создавая сложные шаблоны обработки. Эти команды делают тривиальными многие задачи по анализу текста и данных, преобразованию данных между разными форматами, по фильтрации строк и т. д.

При работе с текстовыми данными главный принцип заключается в том, чтобы разбить любую сложную проблему на множество более мелких — и решить каждую из них с помощью специализированного инструмента.

Заставьте каждую программу хорошо выполнять одну функцию — «Основы философии Unix»

Примеры из этой главы на первый взгляд могут показаться немного надуманными, но это сделано специально. Каждый из инструментов разработан для решения одной небольшой задачи. Однако в сочетании они становятся чрезвычайно мощными.

Мы рассмотрим некоторые из наиболее распространенных и полезных команд обработки текста в командной оболочке и продемонстрируем реальные рабочие процессы, соединяющие их вместе. Я предлагаю взглянуть на маны этих команд, чтобы увидеть всю широту возможностей в вашем распоряжении.

Файл CSV с примерами доступен в онлайне. Можете скачать его для проверки материала.

Команда cat используется для составления списка из одного или нескольких файлов и отображения их содержимого на экране.

head выводит первые n строк в файле. Это может быть очень полезно для того, чтобы заглянуть в файл неизвестной структуры и формата, не заваливая всю консоль кучей текста.

По умолчанию отображается всё вышеперечисленное.

Например, можем найти все вхождения слова mutex в файле.

Рассмотрим некоторые опции grep и их поведение.

Например, следующая команда извлекает первый столбец из последних пяти строк нашего CSV-файла.

paste

paste объединяет вместе два разных файла в один многоколоночный файл.

uniq обнаруживает и отфильтровывает соседние одинаковые строки в указанном файле или входном потоке.

Поскольку uniq отфильтровывает только соседние строки, в наших данных могут ещё остаться дубликаты. Чтобы отфильтровать все одинаковые строки из файла, нужно сначала отсортировать его содержимое.

Примечание. uniq особенно полезен в сочетании с сортировкой, поскольку конвейер | sort | uniq позволяет удалить все дублирующиеся строки в файле или потоке.

awk — это чуть больше, чем просто инструмент обработки текста: на самом деле у него целый язык программирования. В чём awk действительно хорош — так это в разбиении файлов на столбцы, и делает это с особенным блеском, когда в файлах перемешаны пробелы и табы.

Как видим, столбцы разделены либо пробелами, либо табуляциями, и не всегда одинаковым количеством пробелов. cut здесь бесполезен, потому что работает только с одним символом-разделителем. Но awk легко разберётся с таким файлом.

Хотя awk способен на гораздо большее, выдача колонок составляет, наверное, 99% вариантов использования в моём личном случае.

tr расшифровывается как translate. Эта команда заменяет одни символы на другие. Она работает либо с символами, либо с классами символов, такими как строчные, печатные, пробелы, буквенно-цифровые и т. д.

[:space:] представляет все типы пробелов, от простого пробела до табуляции или символа новой строки.

Все символы, похожие на пробелы, переведены в запятую. Обратите внимание, что символ % в конце выдачи означает отсутствие завершающей новой строки. Действительно, этот символ тоже переведён в запятую.

[:lower:] представляет все строчные символы, а [:upper:] — все прописные. Таким образом, преобразование между ними становится тривиальным.

Команды редактора могут включать один или несколько адресов, функцию и параметры. Таким образом, команды выглядят следующим образом:

Хотя sed выполняет множество функций, мы рассмотрим только замену текста как один из самых распространённых вариантов использования.

Замена текста

Команда замены sed выглядит следующим образом:

Пример: замена первого экземпляра слова в каждой строке в файле:

Адрес говорит редактору, в какой строке или диапазоне строк выполнять подстановку.

Реальные примеры

Фильтрация CSV с помощью grep и awk

Вывод адреса IPv4, связанного с сетевым интерфейсом

Команда ifconfig выводит сведения по указанному сетевому интерфейсу. Например:

Извлечение значения из файла конфигурации

Извлечение IP-адресов из файла журнала

Следующий реальный код ищет в журнале БД сообщение Too many connections from (за ним следует IP-адрес) и отображает десять главных нарушителей.

Давайте разберем, что делает этот конвейер. Во-первых, как выглядит строка в журнале.

Команда sed ‘s@/@@’ удаляет начальный слэш.

Переименование функции в исходном файле

Углубляемся: циклы for и xargs

Затем можем использовать команду xargs для осуществления действий с каждой строки выходных данных (то есть всех файлов, содержащих строку bool_from_str ).

Затем выполняются следующие команды:

Эта команда затем исполнит

Примечание. Из синопсиса sed на ман-странице видно, что команда может принять несколько аргументов.

Эта команда выполнит

Резюме

Любую задачу, включающую текст, можно свести к конвейеру более мелких задач, каждая из которых выполняет простое действие и передаёт свои выходные данные в следующую задачу.

Например, если нам хочется узнать, сколько уникальных IP-адресов в файле журнала, и чтобы эти IP-адреса всегда появлялись в одном и том же столбце, то можно запустить следующую последовательность команд:

Примеры в этой статье были надуманными, но я предлагаю вам прочитать удивительную статью «Инструменты командной строки могут быть в 235 раз быстрее, чем ваш кластер Hadoop», чтобы получить представление о том, насколько полезны и мощны эти команды на самом деле и какие реальные проблемы они могут решить.

Что дальше

Если интересно поучаствовать в проекте, подписывайтесь на список рассылки!

Источник

Цикл довузовской подготовки кафедры ЭФУ

СТРУКТУРА ПРАКТИКУМА

ЗАДАНИЕ №1

ЗАДАНИЕ №2

ЗАДАНИЕ №3

ЗАДАНИЕ №4

ЗАДАНИЕ №5

ВВЕДЕНИЕ

1. ОСНОВЫ КОМАНДНОЙ СТРОКИ MS WINDOWS

1. Начало работы с командной строкой

2. Структура файловой системы Windows

3. Работа с текстовыми файлами в Cmd.exe

4. Копирование и перемещение файлов и директорий

2. ЭФФЕКТИВНАЯ РАБОТА С КОМАНДНОЙ СТРОКОЙ

1. Полезные инструменты командной строки

2. Настройка параметров командной оболочки

3. Перенаправление ввода/вывода и конвейеры

3.ЧТО ДОЛЖЕН ЗНАТЬ НЕ ТОЛЬКО СИСАДМИН

1. Начало работы и внешний вид FAR

2. Основные операции FAR Manager

3. Дополнительные возможности FAR

1.3. Работа с текстовыми файлами в Cmd.exe

После построения дерева каталогов (Рис. 1.5) перейдем к рассмотрению способов создания и редактирования простых текстовых файлов (Таблица 1.2).

Для пользователей Windows самым очевидным инструментом такой работы является приложение «Блокнот» (Notepad), запускаемое в русском варианте графического интерфейса Windows как:

Пуск > Все программы > Стандартные > Блокнот

или в англоязычном интерфейсе:

Start > All Programs > Accessories > Notepad

Для корректного отображения текста фалов, созданных в текстовом редакторе Notepad, необходимо установить для командной строки кодовую страницу 1251 (Для каждого национального алфавита используется своя, так называемая, кодовая страница. необходимая для корректного отображения национальных шрифтов) и выбрать для отображения текста один из True Type шрифтов: Consolas или Lucida Console (выбор шрифтов подробно рассмотрен в следующем параграфе – § 2.2 «Настройка параметров командной строки»). Для просмотра текущей кодовой страницы, в данный момент используемой командным интерпретатором и для ее изменения, служит команда CHCP (Пример 2.4).

Приложение «Блокнот» может быть запущено и из командной строки (Пример 1.18). В данном примере создается текстовый файл papa1.txt (Рис. 1.5) с использованием абсолютного пути, включающего имя директории и имя файла.

Пример 1.18. Вывод текстового файла на экран

После подтверждения запроса на создание файла и набора соответствующего текста (Рис. 1.6), необходимо сохранить и закрыть файла (Файл > Сохранить), после чего убедиться в существовании файла командами DIR или TREE.

Рис. 1.6. Текстовый файл в редакторе Notepad.

Для просмотра существующих текстовых файлов из командной строки применяются команды TYPE или MORE (Пример 1.19).

Пример 1.19. Вывод текстового файла на экран

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

Команда TYPE осуществляет вывод содержимого одного или нескольких текстовых файлов в формате:

TYPE [диск:][путь]имя_файла

Команда MORE выводит данные текстового файла по частям, размером в один экран. Наиболее простой форматы ее использования выглядит следующим образом:

MORE /E [/C] [/P] [/S] [/Tn] [+n] [файлы]

/E – Разрешение использования дополнительных возможностей.

/C – Очистка экрана перед выводом каждой страницы.

/P – Учет символов перевода страницы.

/S – Сжатие нескольких пустых строк в одну строку.

/Tn –Замена табуляции n пробелами (по умолчанию n = 8).

+n – Начало вывода первого файла со строки с номером n.

Для разделения имен в списке отображаемых файлов используются пробелы. Если включен режим использования дополнительных возможностей, то MORE будет работать как консольное приложение, в командной строке которого можно вводить следующие команды:

P n – Вывод следующих n строк.

S n – Пропуск следующих n строк.

F – Вывод следующего файла.

Q – Завершение работы.

= – Вывод номера строки.

? – Вывод строки подсказки.

– Вывод следующей страницы.

– Вывод следующей строки.

Помимо текстового редактора Notepad, являющегося неотъемлемой частью стандартного набора приложений Windows, командная строка позволяет создавать и редактировать текстовые файлы при помощи утилиты Edit – текстового редактора унаследованного еще от MS DOS. Меню (допускающее управление мышью) и команды (сочетания клавиш) этого редактора практически аналогичны Notepad – и в этом нет ничего удивительного, поскольку Notepad является прямым наследником Edit. В рамках данного лабораторного практикума использование этой весьма полезной утилиты осложняют проблемы с русификацией.

Для создания текстовых файлов непосредственно в командной строке можно использовать копирование текста (§ 1.4) со стандартной консоли (клавиатуры), а также перенаправление стандартного ввода/вывода команд в текстовый файл (§ 2.3).

Если в командной строке Windows набрать и подтвердить путь к текстовому файлу (с расширением «.txt»), то это приведет к открытию текстового файла в редакторе Notepad – поскольку txt-файлы, по умолчанию, ассоциированы с этим приложением Windows.

Удаление одного или нескольких файлов в командной строке Windows осуществляется равноценными по действию командами DEL и ERASE (Пример 1.20). Для реализации примера необходимо создать в Notepad текстовый файл (скажем, ERROR.TXT) и размесить его в своем рабочем каталоге (в примерах практикума – это каталог D:WINLAB).

Пример 1.20. Удаление файла (не обязательно текстового)

В общем случае команды DEL и ERASE имеют нижеследующий формат (далее по тексту формата: «имена» – список из одного или нескольких файлов или каталогов, если указан каталог, будут удалены все файлы в этом каталоге):

DEL [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена

ERASE [/P] [/F] [/S] [/Q] [/A[[:]атрибуты]] имена

/P – Запрос подтверждения перед удалением каждого файла.

/F – Принудительное удаление файлов, только для чтения.

/S – Удаление указанных файлов из всех подкаталогов.

/Q – Отключение запроса на подтверждение удаления файлов.

/A – Отбор файлов для удаления по атрибутам:

R – Файлы, доступные только для чтения;

S – Системные файлы; H – Скрытые файлы;

A – Файлы, готовые для архивирования;

I – Файлы с неиндексированным содержимым;

L – Точки повторной обработки;

Префикс «-» имеет значение НЕ.

При включении расширенной обработки команд DEL и ERASE результаты вывода для ключа /S принимают обратный характер, то есть выводятся только имена удаленных файлов, а не файлов, которые не удалось найти.

Источник

Список команд Windows ( Windows CMD ) с описанием и примерами.

Командная строка Windows является стандартным средством диагностики, настройки и управления компонентами операционной системы и прикладным программным обеспечением. В отличие от графической среды пользователя, командная строка является более гибким и универсальным инструментом, позволяющим решать многие задачи администрирования системы стандартными средствами Windows без установки дополнительного программного обеспечения.

Способы запуска командной строки

Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.

Справочник по командам CMD Windows

Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.

На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.

Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.

IPCONFIG просмотр и управление конфигурацией протокола IP

PING утилита проверки доступности узла

SHIFT сдвиг входных параметров для командного файла

Прочие материалы по работе с командной строкой Windows:

Источник

Здесь представлен фрагмент будущей книги «Основные инструменты и практики для начинающего разработчика программного обеспечения» Бальтазара Рубероля и Этьена Броду. Книга должна помочь образованию подрастающего поколения разработчиков. Она охватит такие темы, как освоение консоли, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git, основы SQL, инструменты вроде Make, jq и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы. В настоящее время авторы упорно работают над этим проектом и приглашают всех поучаствовать в списке рассылки.

Содержание

  • cat
  • head
  • tail
  • wc
  • grep
  • cut
  • paste
  • sort
  • uniq
  • awk
  • tr
  • fold
  • sed
  • Реальные примеры
  • Углубляемся: циклы for и xargs
  • Итоги
  • Что дальше

Обработка текста в командной оболочке

Одна из причин, которые делают командную оболочку бесценным инструментом, — это большое количество команд обработки текста и возможность легко объединять их в конвейер, создавая сложные шаблоны обработки. Эти команды делают тривиальными многие задачи по анализу текста и данных, преобразованию данных между разными форматами, по фильтрации строк и т. д.

При работе с текстовыми данными главный принцип заключается в том, чтобы разбить любую сложную проблему на множество более мелких — и решить каждую из них с помощью специализированного инструмента.

Заставьте каждую программу хорошо выполнять одну функцию — «Основы философии Unix»

Примеры из этой главы на первый взгляд могут показаться немного надуманными, но это сделано специально. Каждый из инструментов разработан для решения одной небольшой задачи. Однако в сочетании они становятся чрезвычайно мощными.

Мы рассмотрим некоторые из наиболее распространенных и полезных команд обработки текста в командной оболочке и продемонстрируем реальные рабочие процессы, соединяющие их вместе. Я предлагаю взглянуть на маны этих команд, чтобы увидеть всю широту возможностей в вашем распоряжении.

Файл CSV с примерами доступен в онлайне. Можете скачать его для проверки материала.

cat

Команда cat используется для составления списка из одного или нескольких файлов и отображения их содержимого на экране.

$ cat Documents/readme
Thanks again for reading this book!
I hope you're following so far!

$ cat Documents/computers
Computers are not intelligent
They're just fast at making dumb things.

$ cat Documents/readme Documents/computers
Thanks again for reading this book!
I hope you are following so far!

Computers are not intelligent
They're just fast at making dumb things.

head

head выводит первые n строк в файле. Это может быть очень полезно для того, чтобы заглянуть в файл неизвестной структуры и формата, не заваливая всю консоль кучей текста.

$ head -n 2 metadata.csv
metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name
mysql.galera.wsrep_cluster_size,gauge,,node,,The current number of nodes in the Galera cluster.,0,mysql,galera cluster size

Если -n не указано, head выводит первые десять строк указанного файла или входящего потока.

tail

tail — аналог head, только он выводит последние n строк в файле.

$ tail -n 1 metadata.csv
mysql.performance.queries,gauge,,query,second,The rate of queries.,0,mysql,queries

Если хотите вывести все строки, расположенном после n-й строки (включая её), можете использовать аргумент -n +n.

$ tail -n +42 metadata.csv
mysql.replication.slaves_connected,gauge,,,,Number of slaves connected to a replication master.,0,mysql,slaves connected
mysql.performance.queries,gauge,,query,second,The rate of queries.,0,mysql,queries

В нашем файле 43 строки, поэтому tail -n +42 выводит только 42-ю и 43-ю строки из него.

Если параметр -n не указан, tail выведет последние десять строк в указанном файле или входном потоке.

tail -f или tail --follow отображают последние строки в файле и каждую новую строку по мере записи в файл. Это очень полезно для просмотра активности в реальном времени, например, что записывается в логи веб-сервера и т. д.

wc

wc (word count) выводит количество символов (-c), слов (-w) или строк (-l) в указанном файле или потоке.

$ wc -l metadata.csv
43  metadata.csv
$ wc -w metadata.csv
405 metadata.csv
$ wc -c metadata.csv
5094 metadata.csv

По умолчанию отображается всё вышеперечисленное.

$ wc metadata.csv
43     405    5094 metadata.csv

Если текстовые данные передаются по конвейеру или перенаправлены в stdin, то отображается только счётчик.

$ cat metadata.csv | wc
43     405    5094
$ cat metadata.csv | wc -l
43
$ wc -w < metadata.csv
405

grep

grep — это швейцарский нож фильтрации строк по заданному шаблону.

Например, можем найти все вхождения слова mutex в файле.

$ grep mutex metadata.csv
mysql.innodb.mutex_os_waits,gauge,,event,second,The rate of mutex OS waits.,0,mysql,mutex os waits
mysql.innodb.mutex_spin_rounds,gauge,,event,second,The rate of mutex spin rounds.,0,mysql,mutex spin rounds
mysql.innodb.mutex_spin_waits,gauge,,event,second,The rate of mutex spin waits.,0,mysql,mutex spin waits

grep может обрабатывать либо файлы, указанные в качестве аргументов, либо поток текста, переданный на его stdin. Таким образом, мы можем сцеплять несколько команд grep для дальнейшей фильтрации текста. В следующем примере мы фильтруем строки в нашем файле metadata.csv, чтобы найти строки, содержащие и mutex, и OS.

$ grep mutex metadata.csv | grep OS
mysql.innodb.mutex_os_waits,gauge,,event,second,The rate of mutex OS waits.,0,mysql,mutex os waits

Рассмотрим некоторые опции grep и их поведение.

grep -v выполняет инвертное сопоставление: фильтрует строки, которые не соответствуют шаблону аргументов.

$ grep -v gauge metadata.csv
metric_name,metric_type,interval,unit_name,per_unit_name,description,orientation,integration,short_name

grep -i выполняет сопоставление без учёта регистра. В следующем примере grep -i os находит как OS, так и os.

$ grep -i os metadata.csv
mysql.innodb.mutex_os_waits,gauge,,event,second,The rate of mutex OS waits.,0,mysql,mutex os waits
mysql.innodb.os_log_fsyncs,gauge,,write,second,The rate of fsync writes to the log file.,0,mysql,log fsyncs

grep -l выводит список файлов, содержащих совпадение.

$ grep -l mysql metadata.csv
metadata.csv

Команда grep -c подсчитывает, сколько раз найден образец.

$ grep -c select metadata.csv
3

grep -r рекурсивно ищет файлы в текущем рабочем каталоге и всех его подкаталогах.

$ grep -r are ~/Documents
/home/br/Documents/computers:Computers are not intelligent
/home/br/Documents/readme:I hope you are following so far!

grep -w показывает только совпадающие целиком слова.

$ grep follow ~/Documents/readme
I hope you are following so far!
$ grep -w follow ~/Documents/readme
$

cut

cut извлекает часть файла (или, как обычно, входного потока). Команда определяет разделитель полей (который разделяет столбцы) с помощью опции -d, а порядковые номера столбцов для извлечения с помощью опции -f.

Например, следующая команда извлекает первый столбец из последних пяти строк нашего CSV-файла.

$ tail -n 5 metadata.csv | cut -d , -f 1
mysql.performance.user_time
mysql.replication.seconds_behind_master
mysql.replication.slave_running
mysql.replication.slaves_connected
mysql.performance.queries

Поскольку мы имеем дело с CSV, то столбцы разделяются запятой, а за извлечение первого столбца отвечает опция -f 1.

Можно выбрать и первый, и второй столбцы, используя опцию -f 1,2.

$ tail -n 5 metadata.csv | cut -d , -f 1,2
mysql.performance.user_time,gauge
mysql.replication.seconds_behind_master,gauge
mysql.replication.slave_running,gauge
mysql.replication.slaves_connected,gauge
mysql.performance.queries,gauge

paste

paste объединяет вместе два разных файла в один многоколоночный файл.

$ cat ingredients
eggs
milk
butter
tomatoes
$ cat prices
1$
1.99$
1.50$
2$/kg
$ paste ingredients prices
eggs    1$
milk    1.99$
butter  1.50$
tomatoes    2$/kg

По умолчанию paste использует разделитель табуляции, но его можно изменить с помощью параметра -d.

$ paste ingredients prices -d:
eggs:1$
milk:1.99$
butter:1.50$
tomatoes:2$/kg

Ещё один распространённый способ использования paste — объединение всех строк в потоке или файле с помощью заданного разделителя, используя комбинацию аргументов -s и -d.

$ paste -s -d, ingredients
eggs,milk,butter,tomatoes

Если в качестве входного файла указан параметр -, то вместо него будет считываться stdin.

$ cat ingredients | paste -s -d, -
eggs,milk,butter,tomatoes

sort

Команда sort, собственно, сортирует данные (в указанном файле или входном потоке).

$ cat ingredients
eggs
milk
butter
tomatoes
salt
$ sort ingredients
butter
eggs
milk
salt
tomatoes

sort -r выполняет обратную сортировку.

$ sort -r ingredients
tomatoes
salt
milk
eggs
butter

sort -n сортирует поля по их арифметическому значению.

$ cat numbers
0
2
1
10
3
$ sort numbers
0
1
10
2
3
$ sort -n numbers
0
1
2
3
10

uniq

uniq обнаруживает и отфильтровывает соседние одинаковые строки в указанном файле или входном потоке.

$ cat duplicates
and one
and one
and two
and one
and two
and one, two, three
$ uniq duplicates
and one
and two
and one
and two
and one, two, three

Поскольку uniq отфильтровывает только соседние строки, в наших данных могут ещё остаться дубликаты. Чтобы отфильтровать все одинаковые строки из файла, нужно сначала отсортировать его содержимое.

$ sort duplicates | uniq
and one
and one, two, three
and two

uniq -c в начале каждой строки вставляет количество её вхождений.

$ sort duplicates | uniq -c
   3 and one
   1 and one, two, three
   2 and two

uniq -u отображает только уникальные строки.

$ sort duplicates | uniq -u
and one, two, three

Примечание. uniq особенно полезен в сочетании с сортировкой, поскольку конвейер | sort | uniq позволяет удалить все дублирующиеся строки в файле или потоке.

awk

awk — это чуть больше, чем просто инструмент обработки текста: на самом деле у него целый язык программирования. В чём awk действительно хорош — так это в разбиении файлов на столбцы, и делает это с особенным блеском, когда в файлах перемешаны пробелы и табы.

$ cat -t multi-columns
John Smith    Doctor^ITardis
Sarah-James Smith^I    Companion^ILondon
Rose Tyler   Companion^ILondon

Примечание. cat -t отображает табы как ^I.

Как видим, столбцы разделены либо пробелами, либо табуляциями, и не всегда одинаковым количеством пробелов. cut здесь бесполезен, потому что работает только с одним символом-разделителем. Но awk легко разберётся с таким файлом.

awk '{ print $n }' выводит n-й столбец в тексте.

$ cat multi-columns | awk '{ print $1 }'
John
Sarah-James
Rose
$ cat multi-columns | awk '{ print $3 }'
Doctor
Companion
Companion
$ cat multi-columns | awk '{ print $1,$2 }'
John Smith
Sarah-James Smith
Rose Tyler

Хотя awk способен на гораздо большее, выдача колонок составляет, наверное, 99% вариантов использования в моём личном случае.

Примечание. { print $NF } выводит последний столбец в строке.

tr

tr расшифровывается как translate. Эта команда заменяет одни символы на другие. Она работает либо с символами, либо с классами символов, такими как строчные, печатные, пробелы, буквенно-цифровые и т. д.

На стандартных входных данных tr <char1> <char2> заменяет все вхождения <char1> на <char2>.

$ echo "Computers are fast" | tr a A
computers Are fAst

tr может переводить классы символов с помощью нотации [:class:]. Полный список доступных классов описан на справочной странице tr, но некоторые продемонстрируем здесь.

[:space:] представляет все типы пробелов, от простого пробела до табуляции или символа новой строки.

$ echo "computers are fast" | tr '[:space:]' ','
computers,are,fast,%

Все символы, похожие на пробелы, переведены в запятую. Обратите внимание, что символ % в конце выдачи означает отсутствие завершающей новой строки. Действительно, этот символ тоже переведён в запятую.

[:lower:] представляет все строчные символы, а [:upper:] — все прописные. Таким образом, преобразование между ними становится тривиальным.

$ echo "computers are fast" | tr '[:lower:]' '[:upper:]'
COMPUTERS ARE FAST
$ echo "COMPUTERS ARE FAST" | tr '[:upper:]' '[:lower:]'
computers are fast

tr -c SET1 SET2 преобразует любой символ, не входящий в набор SET1, в символы набора SET2. В следующем примере все символы, кроме указанных гласных, заменяются пробелами.

$ echo "computers are fast" | tr -c '[aeiouy]' ' '
 o  u e   a e  a

tr -d удаляет указанные символы, а не заменяет их. Это эквивалент tr <char> ''.

$ echo "Computers Are Fast" | tr -d '[:lower:]'
C A F

tr также может заменить диапазоны символов, например, все буквы между a и e или все числа между 1 и 8, используя нотацию s-e, где s — начальный символ, а e — конечный.

$ echo "computers are fast" | tr 'a-e' 'x'
xomputxrs xrx fxst
$ echo "5uch l337 5p34k" | tr '1-4' 'x'
5uch lxx7 5pxxk

Команда tr -s string1 сжимает все множественные вхождения символов в string1 в одно-единственное. Одним из наиболее полезных применений tr -s является замена нескольких последовательных пробелов одним.

$ echo "Computers         are       fast" | tr -s ' '
Computers are fast

fold

Команда fold сворачивает все входные строки до заданной ширины. Например, может быть полезно убедиться, что текст помещается на дисплеях небольшого размера. Так, fold -w n укладывает строки по ширине n символов.

$ cat ~/Documents/readme | fold -w 16
Thanks again for
 reading this bo
ok!
I hope you're fo
llowing so far!

Команда fold -s будет разбивать строки только на символах пробела. Её можно объединить с предыдущей, чтобы ограничить строким заданным количеством символом.

Thanks again
for reading
this book!
I hope you're
following so
far!

sed

sed — это неинтерактивный потоковый редактор, который используется для преобразования текста во входном потоке строка за строкой. В качестве входных данных используется или файл, или stdin, а на выходе тоже или файл, или stdout.

Команды редактора могут включать один или несколько адресов, функцию и параметры. Таким образом, команды выглядят следующим образом:

[address[,address]]function[arguments]

Хотя sed выполняет множество функций, мы рассмотрим только замену текста как один из самых распространённых вариантов использования.

Замена текста

Команда замены sed выглядит следующим образом:

s/PATTERN/REPLACEMENT/[options]

Пример: замена первого экземпляра слова в каждой строке в файле:

$ cat hello
hello hello
hello world!
hi
$ cat hello | sed 's/hello/Hey I just met you/'
Hey I just met you hello
Hey I just met you world
hi

Мы видим, что в первой строчке заменяется только первый экземпляр hello. Чтобы заменить все вхождения hello во всех строках, можно использовать опцию g (означает global).

$ cat hello | sed 's/hello/Hey I just met you/g'
Hey I just met you Hey I just met you
Hey I just met you world
hi

sed позволяет использовать любые разделители, кроме /, что особенно улучшает читаемость, если в самих аргументах команды есть слэши.

$ cat hello | sed 's@hello@Hey I just met you@g'
Hey I just met you Hey I just met you
Hey I just met you world
hi

Адрес говорит редактору, в какой строке или диапазоне строк выполнять подстановку.

$ cat hello | sed '1s/hello/Hey I just met you/g'
Hey I just met you hello
hello world
hi
$ cat hello | sed '2s/hello/Hey I just met you/g'
hello hello
Hey I just met you  world
hi

Адрес 1 указывает заменять hello на Hey I just met you в первой строке. Можем указать диапазон адресов в нотации <start>,<end>, где <end> может быть либо номером строки, либо $, то есть последней строкой в файле.

$ cat hello | sed '1,2s/hello/Hey I just met you/g'
Hey I just met you Hey I just met you
Hey I just met you world
hi
$ cat hello | sed '2,3s/hello/Hey I just met you/g'
hello hello
Hey I just met you world
hi
$ cat hello | sed '2,$s/hello/Hey I just met you/g'
hello hello
Hey I just met you world
hi

По умолчанию sed выдаёт результат в свой stdout, но может отредактировать и оригинальный файл с опцией -i.

$ sed -i '' 's/hello/Bonjour/' sed-data
$ cat sed-data
Bonjour hello
Bonjour world
hi

Примечание. В Linux достаточно только -i. Но в macOS поведение команды немного отличается, поэтому сразу после -i нужно добавить ''.

Реальные примеры

Фильтрация CSV с помощью grep и awk

$ grep -w gauge metadata.csv | awk -F, '{ if ($4 == "query") { print $1, "per", $5 } }'
mysql.performance.com_delete per second
mysql.performance.com_delete_multi per second
mysql.performance.com_insert per second
mysql.performance.com_insert_select per second
mysql.performance.com_replace_select per second
mysql.performance.com_select per second
mysql.performance.com_update per second
mysql.performance.com_update_multi per second
mysql.performance.questions per second
mysql.performance.slow_queries per second
mysql.performance.queries per second

В этом примере grep в файле metadata.csv сначала фильтрует строки, содержащие слово gauge, затем те, у которых query в четвёртой колонке, и выводит название метрики (1-я колонка) с соответствующим значением per_unit_name (5-я колонка).

Вывод адреса IPv4, связанного с сетевым интерфейсом

$ ifconfig en0 | grep inet | grep -v inet6 | awk '{ print $2 }'
192.168.0.38

Команда ifconfig <interface name> выводит сведения по указанному сетевому интерфейсу. Например:

en0: flags=8863<UP,BROADCAST,SMART,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    ether 19:64:92:de:20:ba
    inet6 fe80::8a3:a1cb:56ae:7c7c%en0 prefixlen 64 secured scopeid 0x7
    inet 192.168.0.38 netmask 0xffffff00 broadcast 192.168.0.255
    nd6 options=201<PERFORMNUD,DAD>
    media: autoselect
    status: active

Затем запускаем grep для inet, что выдаст две строки соответствия.

$ ifconfig en0 | grep inet
    inet6 fe80::8a3:a1cb:56ae:7c7c%en0 prefixlen 64 secured scopeid 0x7
    inet 192.168.0.38 netmask 0xffffff00 broadcast 192.168.0.255

Затем с помощью grep -v исключаем строку с ipv6.

$ ifconfig en0 | grep inet | grep -v inet6
inet 192.168.0.38 netmask 0xffffff00 broadcast 192.168.0.255

Наконец, с помощью awk запрашиваем второй столбец в этой строке: это IPv4-адрес, связанный с нашим сетевым интерфейсом en0.

$ ifconfig en0 | grep inet | grep -v inet6 | awk '{ print $2 }'
192.168.0.38

Примечание. Мне предложили заменить grep inet | grep -v inet6 такой надёжной командой awk:

$ ifconfig en0 | awk ' $1 == "inet" { print $2 }'
192.168.0.38

Она короче и конкретно нацелена на IPv4 с условием $1 == "inet".

Извлечение значения из файла конфигурации

$ grep 'editor =' ~/.gitconfig  | cut -d = -f2 | sed 's/ //g'
/usr/bin/vim

В файле конфигурации git текущего пользователя ищем значение editor =, обрезаем знак =, извлекаем второй столбец и удаляем все пробелы вокруг.

$ grep 'editor =' ~/.gitconfig
     editor = /usr/bin/vim
$ grep 'editor =' ~/.gitconfig  | cut -d'=' -f2
 /usr/bin/vim
$ grep 'editor =' ~/.gitconfig  | cut -d'=' -f2 | sed 's/ //'
/usr/bin/vim

Извлечение IP-адресов из файла журнала

Следующий реальный код ищет в журнале БД сообщение Too many connections from (за ним следует IP-адрес) и отображает десять главных нарушителей.

$ grep 'Too many connections from' db.log | 
  awk '{ print $12 }' | 
  sed 's@/@@' | 
  sort | 
  uniq -c | 
  sort -rn | 
  head -n 10 | 
  awk '{ print $2 }'
   10.11.112.108
   10.11.111.70
   10.11.97.57
   10.11.109.72
   10.11.116.156
   10.11.100.221
   10.11.96.242
   10.11.81.68
   10.11.99.112
   10.11.107.120

Давайте разберем, что делает этот конвейер. Во-первых, как выглядит строка в журнале.

$ grep "Too many connections from" db.log | head -n 1
2020-01-01 08:02:37,617 [myid:1] - WARN  [NIOServerCxn.Factory:1.2.3.4/1.2.3.4:2181:NIOServerCnxnFactory@193] - Too many connections from /10.11.112.108 - max is 60

Затем awk '{ print $12 }' извлекает из строки IP-адрес.

$ grep "Too many connections from" db.log | awk '{ print $12 }'
/10.11.112.108
...

Команда sed 's@/@@' удаляет начальный слэш.

$ grep "Too many connections from" db.log | awk '{ print $12 }' | sed 's@/@@'
10.11.112.108
...

Примечание. Как мы уже видели ранее, в sed можно использовать любой разделитель. Хотя обычно в качестве разделителя используется /, здесь мы заменяем именно этот символ, что слегка ухудшит читаемость выражения подстановки.

sed 's////'

sort | uniq -c сортирует IP-адреса в лексикографическом порядке, а затем удаляет дубликаты, добавляя перед IP-адресами количество вхождений каждого.

$ grep 'Too many connections from' db.log | 
  awk '{ print $12 }' | 
  sed 's@/@@' | 
  sort | 
  uniq -c
   1379 10.11.100.221
   1213 10.11.103.168
   1138 10.11.105.177
    946 10.11.106.213
   1211 10.11.106.4
   1326 10.11.107.120
   ...

sort -rn | head -n 10 сортирует строки по количеству вхождений, численно и в обратном порядке, чтобы главные нарушители выводились в первую очередь, из которых отображаются 10 строк. Последняя команда awk { print $2 } извлекает сами IP-адреса.

$ grep 'Too many connections from' db.log | 
  awk '{ print $12 }' | 
  sed 's@/@@' | 
  sort | 
  uniq -c | 
  sort -rn | 
  head -n 10 | 
  awk '{ print $2 }'
  10.11.112.108
  10.11.111.70
  10.11.97.57
  10.11.109.72
  10.11.116.156
  10.11.100.221
  10.11.96.242
  10.11.81.68
  10.11.99.112
  10.11.107.120

Переименование функции в исходном файле

Представим, что мы работаем над проектом и хотели бы переименовать недачно названную функцию (или класс, переменную и т. д.) в исходном файле. Можно сделать это с помощью команды sed -i, которая выполняет замену прямо в оригинальном файле.

$ cat izk/utils.py
def bool_from_str(s):
    if s.isdigit():
        return int(s) == 1
    return s.lower() in ['yes', 'true', 'y']

$ sed -i 's/def bool_from_str/def is_affirmative/' izk/utils.py
$ cat izk/utils.py
def is_affirmative(s):
    if s.isdigit():
        return int(s) == 1
    return s.lower() in ['yes', 'true', 'y']

Примечание. На macOS вместо sed -i используйте sed -i ''.

Однако мы переименовали функцию только в оригинальном файле. Это сломает импорт bool_from_str в любом другом файле, поскольку эта функция больше не определена. Нужно найти способ переименовать bool_from_str повсюду в нашем проекте. Такого можно добиться с помощью команд grep, sed, а также циклов for или с помощью xargs.

Углубляемся: циклы for и xargs

Чтобы заменить в нашем проекте все вхождения bool_from_str, сначала нужно рекурсивно найти их с помощью grep -r.

$ grep -r bool_from_str .
./tests/test_utils.py:from izk.utils import bool_from_str
./tests/test_utils.py:def test_bool_from_str(s, expected):
./tests/test_utils.py:    assert bool_from_str(s) == expected
./izk/utils.py:def bool_from_str(s):
./izk/prompt.py:from .utils import bool_from_str
./izk/prompt.py:                    default = bool_from_str(os.environ[envvar])

Поскольку нас интересуют только файлы c совпадениями, также необходимо использовать опцию -l/--files-with-matches:

-l, --files-with-matches
        Only the names of files containing selected lines are written to standard out-
        put.  grep will only search a file until a match has been found, making
        searches potentially less expensive.  Pathnames are listed once per file
        searched.  If the standard input is searched, the string ``(standard input)''
        is written.

$ grep -r --files-with-matches bool_from_str .
./tests/test_utils.py
./izk/utils.py
./izk/prompt.py

Затем можем использовать команду xargs для осуществления действий с каждой строки выходных данных (то есть всех файлов, содержащих строку bool_from_str).

$ grep -r --files-with-matches bool_from_str . | 
  xargs -n 1 sed -i 's/bool_from_str/is_affirmative/'

Опция -n 1 указывает, что каждая строка в выходных данных должна выполнить отдельную команду sed.

Затем выполняются следующие команды:

$ sed -i 's/bool_from_str/is_affirmative/' ./tests/test_utils.py
$ sed -i 's/bool_from_str/is_affirmative/' ./izk/utils.py
$ sed -i 's/bool_from_str/is_affirmative/' ./izk/prompt.py

Если команда, которую вы вызываете с помощью xargs (в нашем случае sed), поддерживает несколько аргументов, то следует отбросить аргумент -n 1 для производительности.

grep -r --files-with-matches bool_from_str . | xargs sed -i 's/bool_from_str/is_affirmative/'

Эта команда затем исполнит

$ sed -i 's/bool_from_str/is_affirmative/' ./tests/test_utils.py ./izk/utils.py ./izk/prompt.py

Примечание. Из синопсиса sed на ман-странице видно, что команда может принять несколько аргументов.

SYNOPSIS
     sed [-Ealn] command [file ...]
     sed [-Ealn] [-e command] [-f command_file] [-i extension] [file ...]

Действительно, как мы видели в предыдущей главе, file ... означает, что принимаются несколько аргументов, представляющих собой имена файлов.

Мы видим, что произведены замены для всех вхождений bool_from_str.

$ grep -r is_affirmative .
./tests/test_utils.py:from izk.utils import is_affirmative
./tests/test_utils.py:def test_is_affirmative(s, expected):
./tests/test_utils.py:    assert is_affirmative(s) == expected
./izk/utils.py:def is_affirmative(s):
./izk/prompt.py:from .utils import is_affirmative
./izk/prompt.py:                    default = is_affirmative(os.environ[envvar])

Как это часто бывает, существует несколько способов достижения одного и того же результата. Вместо xargs мы могли бы использовать циклы for, чтобы перебирать строки по списку и выполнять действие над каждым элементом. У этих циклов такой синтаксис:

for item in list; do
    command $item
done

Если обернуть нашу команду grep в $(), то оболочка выполнит её в подоболочке, результат чего затем будет повторён в цикле for.

$ for file in $(grep -r --files-with-matches bool_from_str .); do
  sed -i 's/bool_from_str/is_affirmative/' $file
done

Эта команда выполнит

$ sed -i 's/bool_from_str/is_affirmative/' ./tests/test_utils.py
$ sed -i 's/bool_from_str/is_affirmative/' ./izk/utils.py
$ sed -i 's/bool_from_str/is_affirmative/' ./izk/prompt.py

Синтаксис циклов for кажется мне более чётким, чем у xargs, однако последняя может выполнять команды параллельно, используя параметры -P n, где n — максимальное количество параллельных команд, выполняемых одновременно, что может дать выигрыш в производительности.

Резюме

Все эти инструменты открывают целый мир возможностей, так как позволяют извлекать и преобразовывать данные, создавая целые конвейеры из команд, которые, возможно, никогда не предназначались для совместной работы. Каждая из них выполняет относительно небольшую функцию (сортировка sort, объединение cat, фильтры grep, редактирование sed, вырезание cut и т. д.).

Любую задачу, включающую текст, можно свести к конвейеру более мелких задач, каждая из которых выполняет простое действие и передаёт свои выходные данные в следующую задачу.

Например, если нам хочется узнать, сколько уникальных IP-адресов в файле журнала, и чтобы эти IP-адреса всегда появлялись в одном и том же столбце, то можно запустить следующую последовательность команд:

  • grep строк, которые соответствуют шаблону строк с IP-адресами
  • найти столбец с IP-адресом, извлечь его с помощью awk
  • отсортировать список IP-адресов с помощью sort
  • устранить смежные дубликаты с помощью uniq
  • подсчитать количество строк (то есть уникальных IP-адресов) с помощью wc -l

Поскольку есть множество нативных и сторонних инструментов обработки текста, также много способов решить любую задачу.

Примеры в этой статье были надуманными, но я предлагаю вам прочитать удивительную статью «Инструменты командной строки могут быть в 235 раз быстрее, чем ваш кластер Hadoop», чтобы получить представление о том, насколько полезны и мощны эти команды на самом деле и какие реальные проблемы они могут решить.

Что дальше

  1. Подсчитайте количество файлов и каталогов, расположенных в вашем домашнем каталоге.
  2. Отобразите содержимое файла только прописными буквами.
  3. Подсчитайте, сколько раз встречалось каждое слово в файле.
  4. Подсчитайте количество гласных в файле. Отсортируйте результат от наиболее распространённой до наименее распространённой буквы.


Будущая книга «Основные инструменты и практики для начинающего разработчика программного обеспечения» (Essential Tools and Practices for the Aspiring Software Developer) Бальтазара Рубероля и Этьена Броду поможет создать продуктивную среду разработки и познакомиться с полезными инструментами и практиками, которые нужны для профессионального роста. Как уже было сказано, она охватит такие темы, как освоение терминала, настройка и эффективная работа в командной оболочке, управление версиями кода с помощью git, основы SQL, инструменты вроде Make, jq и регулярные выражения, основы сетевого взаимодействия, а также лучшие практики разработки программного обеспечения и совместной работы.

Если интересно поучаствовать в проекте, подписывайтесь на список рассылки!

Бывает, что некоторые команды Windows cmd сложно вспомнить, и сохранение их на компьютере или на бумаге в качестве шпаргалки является хорошей практикой. Этот список не является полным, но он содержит наиболее часто используемые команды. Не стесняйтесь добавить свои наиболее часто используемые команды в комментариях ниже, а так же поделиться этим списком.

Управление файлами и папками

  • COPY — Копирование файлов в другое место
  • DIR — Отображение файлов и папок в текущем каталоге
  • DEL или ERASE — Удаление файлов
  • EDIT — Запуск редактора файлов
  • CD — Изменить каталог
  • EXPAND — Распаковать сжатые файлы
  • FC — Сравнивает файлы и показывает различия между ними
  • FIND — Найти текстовую строку в файле
  • MD или MAKEDIR — Создать папку
  • MOVE — Переместить файлы из одной папки в другую
  • PRINT – отобразить содержимое текстового файла
  • RD или RMDIR — удалить папку
  • REN или RENAME — переименовать файл или папку
  • REPLACE — Замена файлов в одном каталоге на файлы с тем же именем в другом каталоге
  • ROBOCOPY — Использует программу робокопи для копирования файлов и каталогов
  • TREE — Показывает структуру каталогов диска или папки
  • TYPE — Отображает содержимое текстовых файлов
  • OPENFILES — Управление открытыми локальными или сетевыми файлами
  • XCOPY — Копирование файлов и деревьев каталогов

Приложения и процессы

  • SCHTASKS – Запланированный запуск приложения приложения (планировщик задач)
  • SHUTDOWN — Выключение или перезагрузка компьютера
  • TASKLIST — Список выполняемых задач
  • TASKKILL — Остановить или прекратить выполнение задачи (для остановки задачи используется PID, который можно узнать из TASKLIST).
  • REG — Запустить редактор реестра
  • RUNAS — Запуск задачи от имени другого пользователя

Управление дисками

  • CHKDISK — Проверяет диск и показывает статистику
  • DEFRAG — Запуск дефрагментации диска
  • CHKNTFS — Отображает или изменяет выполнение проверки диска при загрузке
  • COMPACT — Отображает и изменяет сжатие файлов в разделах NTFS
  • CONVERT — преобразование дискового тома FAT в NTFS
  • DISKPART — Отображение и настройка свойств разделов диска
  • FORMAT — Форматирование диска
  • FSUTIL — Отображение и настройка свойств файловой системы
  • LABEL — Создание, изменение или удаление метки тома диска
  • RECOVER — Восстановление данных с поврежденного или испорченного диска
  • VOL — Отображение метки тома и серийного номера диска

Системная информация

  • DATE — Выводит или устанавливает текущую дату
  • TIME — Выводит или устанавливает системное время
  • DRIVERQUERY — Отображает текущее состояние и свойства драйвера устройства
  • HOSTNAME — Отображает имя компьютера
  • SYSTEMINFO — Отображает информацию о конфигурации компьютера
  • VER — Позволяет просмотреть версию Windows
  • GPRESULT — Отображает текущие примененные групповые политики (RSoP)
  • GPUPDATE — Обновление групповых политик

Сеть

  • IPCONFIG — Отображает информацию о сетевых интерфейсах
  • PING — Отправляет ICMP-запросы на целевой хост, проверяет его доступность
  • TRACERT – Отображение пути пакетов в сети
  • NSLOOKUP — Поиск IP-адреса по имени ресурса
  • ROUTE — Отображает таблицы сетевых маршрутов
  • ARP — Показывает таблицу с IP-адресами, преобразованными в физические адреса
  • NETSH — Запускает программу управления сетевыми настройками
  • GETMAC — Показывает MAC-адрес сетевого адаптера
  • TFTP — Запускает TFTP-клиент в консоли

Настройка командной строки

  • CLS — Очистить экран
  • CMD — Отображает другую командную строку
  • COLOR — Устанавливает цвет текста и фона в консоли
  • PROMPT – Изменение начального текста командной строки
  • TITLE — Присвоение заголовка для текущего сеанса
  • HELP — Запуск справки CMD
  • EXIT — Выход из командной строки

Аverage rating : 4

Оценок: 2

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

191028
Санкт-Петербург
Литейный пр., д. 26, Лит. А

+7 (812) 403-06-99

700
300

ООО «ИТГЛОБАЛКОМ ЛАБС»

700
300

Почему в мире творится такой хаос? Да потому что администратор нашей системы забыл о выполнении своих обязанностей. Или просто потерял список cmd команд от нашего мира. Хотя это несколько оригинальный взгляд на существующий порядок вещей, но, тем не менее, он отражает часть нужной нам правды: с помощью командной строки можно легко навести порядок в своем компьютере:

  • Что такое командная строка
    • Работа с командной строкой в операционной системе Windows
    • Основные команды для работы с файлами и директориями
    • Команды для работы с сетью
    • Еще несколько нужных команд

Командная строка представляет собой наиболее простой инструмент для управления операционной системой компьютера. Управление происходит с помощью целого ряда зарезервированных команд и набора символов текстовой клавиатуры без участия мыши (в операционной системе Windows).

В системах на основе UNIX при работе с командной строкой возможно применение мыши.

Часть команд пришла к нам еще из MS-DOS. Командную строку также называют консолью. Она применяется не только для администрирования операционной системы, но и для управления обычными программами. Чаще всего в такой набор команд включаются наиболее редко употребляемые.

Преимуществом применения cmd основных команд является то, что при этом затрачивается минимальное количество ресурсов системы. А это важно при возникновении аварийных ситуаций, когда все мощности компьютера, так или иначе, задействованы.

В cmd реализована возможность выполнения и создания целых пакетных файлов, представляющих собой определенный порядок выполнения целого ряда команд (сценариев). Благодаря этому их можно использовать для автоматизации выполнения определенных задач (управление учетными записями, архивация данных и другое).

Командной оболочкой Windows для манипуляции и перенаправления команд определенным утилитам и средствам операционной системы является интерпретатор Cmd.exe. Он загружает консоль и перенаправляет команды в понятном для системы формате.

Вызвать консоль в Windows можно несколькими способами:

  • Через утилиту «Выполнить» — для ее запуска нужно задействовать комбинацию клавиш «Win»+ «R». Затем ввести в поле команду cmd и нажать «Ok»;
  • Работа с командной строкой в операционной системе Windows

  • Через меню «Пуск» — переходим во «Все программы» — «Стандартные» — «Командная строка».

Оба способа подразумевают запуск консоли от имени текущего пользователя. То есть со всеми правами и ограничениями, которые наложены на его роль в операционной системе. Для запуска cmd с правами администратора нужно в меню «Пуск» выделить значок программы и в контекстном меню выбрать соответствующий пункт:

Работа с командной строкой в операционной системе Windows - 2

После запуска утилиты можно получить справочную информацию о командах и формате их написания в консоли. Для этого нужно ввести оператор help и нажать на «Enter»:

Наиболее часто употребляемыми являются следующие команды:

  • RENAME – переименование директорий и файлов. Синтаксис команды:

RENAME | REN [диск/путь] исходное имя файла/каталога | конечное имя_файла
Пример: RENAME C:UsersдомашнийDesktoptost.txt test.txt

  • DEL (ERASE) – используется для удаления только файлов, а не каталогов. Ее синтаксис:

DEL | ERASE [метод обработки] [имя_файла]
Пример: Del C:UsersдомашнийDesktoptest.txt/P

Под методом обработки имеется в виду специальный флаг, позволяющий реализовать определенное условие при осуществлении удаления файла. В нашем примере флаг «P» включает вывод диалога разрешения на удаления каждого файла:

Основные команды для работы с файлами и директориями

Более подробно о возможных значениях параметра «метод обработки» можно узнать из технической документации по операционной системе Windows.

  • MD – позволяет создать папку по указанному пути. Синтаксис:

MD [диск:] [путь]
Пример:
MD C:UsersдомашнийDesktoptest1test2

В примере будет создана подпапка test2 в папке test1. Если одна из корневых папок пути не существует, то она тоже будет создана:

  • RD (RMDIR) – удаление определенной папки или всех директорий по указанному пути. Синтаксис:

RD | RMDIR [ключ_обработки] [диск/путь]
Пример:
rmdir /s C:UsersдомашнийDesktoptest1test2

В примере используется флаг s, который вызовет удаление всей ветви директорий, указанных в пути. Поэтому не стоит без необходимости использовать команду rmdir с этим ключом обработки.

В следующем разделе мы подробно рассмотрим сетевые команды cmd.

Командная строка позволяет управлять не только файловой системой ПК, но и его сетевыми возможностями. В состав сетевых команд консоли входит большое количество операторов для мониторинга и тестирования сети. Наиболее актуальными из них являются:

  • ping – команда служит для мониторинга возможностей сетевого подключения ПК. Удаленному компьютеру отправляется установленное количество пакетов, а затем отправляется им назад. Учитывается время передачи пакетов и процент потерь. Синтаксис:

ping [-t] [-a] [-n счетчик] [-l размер] [-f] [-i TTL] [-v тип] [-r счетчик] [-s счетчик] [{-j список_узлов | -k список_узлов}] [-w интервал] [имя_конечного_ПК]

Пример реализации команды:
ping example.microsoft.com
ping –w 10000 192.168.239.132

В последнем примере cmd ping команды запрос посылается адресату с указанным IP адресом. Интервал ожидания между пакетами составляет 10 000 (10 сек). По умолчанию этот параметр установлен на 4 000:

Команды для работы с сетью

  • tracert – служит для определения сетевого пути к указанному ресурсу путем посыла специального эхо-сообщения через протокол
  • ICMP (Control Message Protocol). После запуска команды с параметрами выводится список всех маршрутизаторов, через которые проходит путь следования сообщения. Первый в списке элемент является первым маршрутизатором со стороны запрашиваемого ресурса.

Синтаксис tracer команды cmd:
tracert [-d] [-h максимальное_число_переходов] [-j список_узлов] [-w интервал] [имя_конечного_ресурса]
Пример реализации:
tracert -d -h 10 microsoft.com

В примере прослеживается маршрут к указанному ресурсу. При этом увеличивается скорость совершения операции за счет применения параметра d, который предотвращает попытки команды получить разрешение на чтение IP адресов. Количество переходов (прыжков) ограничено 10 с помощью установленного значения параметра h. По умолчанию, количество прыжков равно 30:

    Команды для работы с сетью - 2

  • shutdown – используется для перезагрузки, отключения и выхода из сеанса определенного пользователя локальной машины или удаленного ПК. Синтаксис этой cmd команды сети:

shutdown [{-l|-s|-r|-a}] [-f] [-m [имя_ПК]] [-t xx] [-c «сообщения»] [-d[u][p]:xx:yy]
Пример:
shutdown /s /t 60 /f /l /m 191.162.1.53

Произойдет выключение (s) удаленного ПК (m) с указанным IP адресом (191.162.1.53) через 60 секунд (t). При этом принудительно будет выполнен выход из всех приложений (f) и сеанса текущего пользователя (l).

При работе с ПК может пригодиться еще несколько команд из огромного списка операторов cmd. Вот некоторые из них:

  • format – выполняет форматирование CD диска в дисководе, имя которого указано в параметрах. Синтаксис команды:

format том [/fs: Файловая_Система] [/v: метка] [/q] [/a: размер] [/c] [/x]

При написании синтаксиса какой-либо команды квадратными скобками выделяются необязательные параметры.

Это подтверждает следующий пример написания команды:
format e: — будет отформатирован носитель в дисководе E;

  • set – служит для работы с переменными среды. Эта cmd команда позволяет создавать, удалять и присваивать значение переменным, которые можно использовать во время работы с командной строкой. Синтаксис:

set [[/a [выражение]] [/p [имя_переменной=]] строка]
Пример:
set include=c:inc

  • start – предназначена для запуска указанной программы или команды в отдельном окне:

Пример:
start notepad

Еще несколько нужных команд

Теперь с багажом полученных знаний можно не то что своим компьютером управлять, но и целой реальностью. Осталось только запустить соответствующий экземпляр cmd. Да и не все описанные в статье команды могут подойти для управления «действующим экземпляром» нашей реальности.

Содержание

  • Перечень основных команд
    • Запуск системных утилит
    • Работа с файлами и папками
    • Работа с текстовыми файлами
    • Работа с учетными записями
    • Работа с процессами
    • Работа в сети
    • Другие команды
  • Вопросы и ответы

Интерпретатор командной строки в Windows 7

В Windows 7 существуют такие операции, которые невозможно или затруднительно выполнить через обычный графический интерфейс, но их реально осуществить через интерфейс «Командной строки» при помощи интерпретатора CMD.EXE. Рассмотрим основные команды, которые могут применять пользователи при использовании указанного инструмента.

Читайте также:
Основные команды Linux в «Терминале»
Запуск «Командной строки» в Windows 7

Перечень основных команд

С помощью команд в «Командной строке» запускаются различные утилиты и выполняются определенные операции. Зачастую основное командное выражение используется вместе с рядом атрибутов, которые записываются через косую черту (/). Именно эти атрибуты инициируют выполнение конкретных операций.

Мы не ставим перед собой цель описать абсолютно все команды, применяемые при использовании инструмента CMD.EXE. Для этого пришлось бы написать не одну статью. Мы же постараемся уместить на одной странице информацию о наиболее полезных и популярных командных выражениях, разбив их на группы.

Запуск системных утилит

Прежде всего, рассмотрим выражения, которые отвечают за запуск важных системных утилит.

CHKDSK – запускает утилиту Check Disk, которая выполняет проверку жестких дисков компьютера на ошибки. Данное командное выражение можно вводить с дополнительными атрибутами, которые, в свою очередь, запускают выполнение определенных операций:

  • /f – восстановление диска в случае обнаружения логических ошибок;
  • /r – восстановление секторов накопителя в случае обнаружения физических повреждений;
  • /x – отключение указанного жесткого диска;
  • /scan – сканирование на упреждение;
  • C:, D:, E: … — указание логических дисков для сканирования;
  • /? – вызов справки о работе утилиты Check Disk.

Запуск утилиты Check Disk с атрибутами через интерфейс командной строки в Windows 7

SFC – запуск утилиты проверки целостности системных файлов Windows. Данное командное выражение чаще всего используется с атрибутом /scannow. Оно запускает инструмент, который проверяет файлы ОС на соответствие стандартам. В случае повреждений, при наличии установочного диска существует возможность восстановления целостности системных объектов.

Запуск утилиты sfc через интерфейс командной строки в Windows 7

Работа с файлами и папками

Следующая группа выражений предназначена для работы с файлами и папками.

APPEND – открытие файлов в указанной пользователем папке в том виде, как если бы они находились в требуемом каталоге. Обязательным условием является указание пути к папке, к которой будет применено действие. Запись производится по следующему шаблону:

append [;] [[диск компьютера:]путь[;...]]

При использовании данной команды можно применять следующие атрибуты:

  • /e – запись полного списка файлов;
  • /? – запуск справки.

Применение команды APPEND с атрибутами через интерфейс командной строки в Windows 7

Lumpics.ru

ATTRIB – команда предназначена для изменения атрибутов файлов или папок. Так же, как и в предыдущем случае, обязательным условием является ввод вместе с командным выражением полного пути к обрабатываемому объекту. Для установки атрибутов используются следующие ключи:

  • h – скрытый;
  • s – системный;
  • r – только для чтения;
  • a – архивный.

Для того чтобы применить или отключить атрибут, перед ключом соответственно ставится знак «+» или «-».

Применение команды ATTRIB через интерфейс командной строки в Windows 7

COPY – применяется для копирования файлов и каталогов из одной директории в другую. При использовании команды обязательно указание полного пути объекта копирования и папки, в которую оно будет производиться. С данным командным выражением можно использовать следующие атрибуты:

  • /v – проверка корректности копирования;
  • /z – копирование объектов из сети;
  • /y – перезапись конечного объекта при совпадении имен без подтверждения;
  • /? – активация справки.

Применение команды COPY с атрибутами через интерфейс командной строки в Windows 7

DEL – удаление файлов из указанной директории. Командное выражение предусматривает возможность использования ряда атрибутов:

  • /p – включение запроса подтверждения удаления перед манипуляцией с каждым объектом;
  • /q – отключение запроса при удалении;
  • /s – удаление объектов в каталогах и подкаталогах;
  • /a: — удаление объектов с указанными атрибутами, которые назначаются при помощи тех же ключей, что и при использовании команды ATTRIB.

Применение команды DEL с атрибутами через интерфейс командной строки в Windows 7

RD – является аналогом предыдущего командного выражения, но удаляет не файлы, а папки в указанной директории. При использовании можно применять те же самые атрибуты.

Применение команды RD с атрибутами через интерфейс командной строки в Windows 7

DIR – выводит список всех подкаталогов и файлов, которые расположены в указанной директории. Вместе с основным выражением применяются такие атрибуты:

  • /q – получение информации о владельце файла;
  • /s – отображение перечня файлов из указанного каталога;
  • /w – вывод списка в несколько колонок;
  • /o – сортировка перечня выводимых объектов (e – по расширению; n – по имени; d – по дате; s – по размеру);
  • /d – отображение списка в несколько колонок с сортировкой по этим колонкам;
  • /b – отображение исключительно имен файлов;
  • /a – отображение объектов с определенными атрибутами, для указания которых используются те же ключи, что и при использовании команды ATTRIB.

Применение команды DIR с атрибутами через интерфейс командной строки в Windows 7

REN – используется для переименования каталогов и файлов. В качестве аргументов к данной команде указывается путь к объекту и его новое название. Например, для переименования файла file.txt, который расположен в папке «Folder», находящейся в корневой директории диска D, в файл file2.txt, нужно ввести следующее выражение:

REN D:folderfile.txt file2.txt

Применение команды REN с атрибутами через интерфейс командной строки в Windows 7

MD – предназначена для создания новой папки. В синтаксисе команды обязательно следует указать диск, на котором будет располагаться новый каталог, и директорию его размещения в том случае, если он является вложенным. Например, для создания каталога folderN, который расположен в директории folder на диске E, следует ввести такое выражение:

md E:folderfolderN

Применение команды MD через интерфейс командной строки в Windows 7

Работа с текстовыми файлами

Следующий блок команд предназначен для работы с текстом.

TYPE – отображает на экране содержимое текстовых файлов. Обязательными аргументом данной команды является полный путь к объекту, текст в котором следует просмотреть. Например, для просмотра содержимого файла file.txt, находящегося в папке «Folder» на диске D, требуется ввести следующее командное выражение:

TYPE D:folderfile.txt

Применение команды TYPE через интерфейс командной строки в Windows 7

PRINT – распечатка содержимого текстового файла. Синтаксис данной команды аналогичен предыдущему, но вместо вывода текста на экран производится его распечатка.

Применение команды PRINT через интерфейс командной строки в Windows 7

FIND – производит поиск текстовой строки в файлах. Вместе с этой командой обязательно указывается путь к объекту, в котором выполняется поиск, а также название искомой строки, заключенное в кавычки. Кроме того, вместе с данным выражением применяются следующие атрибуты:

  • /c – выводится общее количество строк, содержащих искомое выражение;
  • /v – вывод строк, которые не содержат искомое выражение;
  • /I – поиск без учета регистра.

Применение команды FIND с атрибутами через интерфейс командной строки в Windows 7

Работа с учетными записями

С помощью командной строки можно просматривать информацию о пользователях системы и управлять ими.

FINGER – отображение информации о зарегистрированных в операционной системе пользователях. Обязательным аргументом данной команды является имя юзера, о котором требуется получить данные. Кроме того, можно использовать атрибут /i. В этом случае вывод информации будет производиться в списочном варианте.

Применение команды FINGER с атрибутами через интерфейс командной строки в Windows 7

TSCON – выполняет присоединение сеанса пользователя к сеансу терминала. При использовании данной команды обязательно требуется указать ID сеанса или его имя, а также пароль того юзера, которому он принадлежит. Пароль следует указывать после атрибута /PASSWORD.

Применение команды TSON с атрибутами через интерфейс командной строки в Windows 7

Работа с процессами

Следующий блок команд предназначен для управления процессами на компьютере.

QPROCESS – предоставление данных о запущенных процессах на ПК. Среди выводимой информации будет представлено наименование процесса, имя пользователя, его запустившего, название сеанса, ID и PID.

Применение команды QPROCESS через интерфейс командной строки в Windows 7

TASKKILL – используется для завершения процессов. Обязательным аргументом является наименование элемента, который нужно остановить. Он указывается после атрибута /IM. Также можно произвести завершение не по имени, а по идентификатору процесса. В этом случае используется атрибут /PID.

Применение команды TASKKILL с атрибутами через интерфейс командной строки в Windows 7

Работа в сети

С помощью командной строки существует возможность управлять различными действиями в сети.

GETMAC – запускает отображение MAC-адреса подключенной к компьютеру сетевой карты. В случае наличия нескольких адаптеров отображаются все их адреса.

Применение команды GETMAC через интерфейс командной строки в Windows 7

NETSH – инициирует запуск одноименной утилиты, с помощью которой производится демонстрация информации о параметрах сети и их изменение. Данная команда, ввиду своей очень широкой функциональности, имеет огромное количество атрибутов, каждый из которых отвечает за выполнение определенной задачи. Для получения подробной информации о них можно воспользоваться справкой, применив следующее командное выражение:

netsh /?

Запуск справки для команды netsh через интерфейс командной строки в Windows 7

NETSTAT – отображение статистической информации о сетевых подключениях.

Применение команды NETSTAT через интерфейс командной строки в Windows 7

Другие команды

Также существует ряд других командных выражений, применяемых при использовании CMD.EXE, которые нельзя выделить в отдельные группы.

TIME – просмотр и установка системного времени ПК. При вводе данного командного выражения происходит вывод на экран текущего времени, которое в самой нижней строке можно изменить на любое другое.

Применение команды TIME через интерфейс командной строки в Windows 7

DATE – команда по синтаксису полностью аналогична предыдущей, но применяется не для вывода и изменения времени, а для запуска данных процедур в отношении даты.

Применение команды DATE через интерфейс командной строки в Windows 7

SHUTDOWN – выключает компьютер. Данное выражение можно использовать, как локально, так и удаленно.

Применение команды SHUTDOWN через интерфейс командной строки в Windows 7

BREAK – отключение или запуск режима обработки сочетания кнопок Ctrl+C.

Применение команды BREAK через интерфейс командной строки в Windows 7

ECHO – выводит текстовые сообщения и применяется для переключения режимов их отображения.

Применение команды ECHO через интерфейс командной строки в Windows 7

Это далеко не полный список всех команд, которые применяются при использовании интерфейса CMD.EXE. Тем не менее мы попытались раскрыть наименования, а также вкратце описать синтаксис и основные функции самых востребованных из них, для удобства разбив на группы по назначению.

Like this post? Please share to your friends:
  • Комбинация клавиш выделить все на компьютере windows 10
  • Команды для устранения неполадок windows 10
  • Команды windows для восстановления жесткого диска
  • Комбинация клавиш автозагрузка в windows 7
  • Команды для удаления кортана windows 10