Команды командной строки Windows CMD
Командная строка Windows — очень удобный инструмент, если уметь им правильно пользоваться. Преимущество командной строки в том, что можно выполнять огромное множество задач быстро и эффективно, причем некоторые из них недоступны в графической среде. Но ради этого придется пожертвовать интуитивной понятностью графического интерфейса и запомнить огромное количество команд командной строки.
У тех кто не работал с командной строкой в первую очередь возникает вопрос: Как открыть командную строку Windows?
Запуск командной строки Windows.
Программа консоли Windows, как и многие другие системные программы, находится в директории c:\Windows\system32 и называется cmd.exe. Так как консоль Windows является системной программой, то открыть командную строку в любой версии Windows, включая Windows10, можно через инструмент «Выполнить», введя название программы cmd.
Нажимаем сочетание клавиш Win+R или через меню Пуск > пр.
Альтернативный способ — открыть командную строку в Windows 10 через поиск. Для этого дастаточно в строке поиска на панели задач начать вводить слово «cmd» или «командная».
В результате поиска будет предложено несколько действий, одно из которых позволяет запустить Командную строку Windows 10 от имени администратора
В открывшейся консоли CMD мы увидим стандартное приветствие командной строки Windows. Текущей директорией является папка пользователя. Если консоль открыта от имени Администратора, то текущей директорией будет c:\windows\system32.
Команды командной строки.
Каждая команда командной строки представляет собой консольную программу. Помимо простых программ, позволяющих просматривать информацию о системе или выполнять операции с файлами и папками, есть довольно мощные утилиты для управления настройками операционной системы.
В командной строке Windows есть справочная информация по каждой программе, в которой описан синтаксис использования программы, праметры и аргументы, с которыми она работает.
Посмотреть справку по использованию команды можно используя следующий синтаксис.
имя_программы /?
Например справка по команде COPY будет выглядеть так.
Список всех доступных команд можно посмотреть используя команду HELP.
HELP
Для быстроты использования, команды создававлись в виде аббревиатуры или сокращения слов. Чтобы хорошо запоминать такие команды нужно понимать что означает ее сокращенная запись. В скобках приведены пояснения сокращений.
Операции с файлами и папками.ATTRIB (attribute) — отображение и изменение атрибутов файлов
CD (change directory) — перейти в другую папку
COPY — копирование файлов в другое место
DIR (directory) — вывести список папок и файлов директории
EDIT — запуск редактора файлов (исключен в Windows 10)
EDLIN — построчный текстовый редактор (исключен в Windows 10)
EXPAND — распаковка сжатых файлов
FC (file comparation) — сравнить файлы и вывести различия между ними
FIND — найти в файле текстовую строку
MD или MAKEDIR (make directory) — создать папку
MOVE — переместить файлы из одной папки в другую
RD или RMDIR (remove directory) — удалить папку
REN или RENAME — переименовать файл или папку
REPLACE — заменить файлы одного каталога файлами с аналогичным названием из другого каталога (заместить)
ROBOCOPY — запустить улучшенное средство копирования файлов и каталогов
TREE — показать структуру каталогов диска или папки
TYPE — вывести содержимое текстовых файлов на экран
XCOPY — копировать файлы и деревья каталоговРабота с дисками.
CHKDISK (check disk) —
CHKNTFS (check ntfs) — отобразить или изменить выполнение проверки диска при загрузке
COMPACT — отобразить и изменить сжатие файлов в разделах NTFS
CONVERT — преобразовать дисковый том FAT в NTFS
DISKPART (disk partition) — отобразить и настроить свойства раздела диска
FORMAT — форматировать диск
FSUTIL (file system utility) — отобразить и настроить свойства файловой системы
LABEL — создать, изменить или удалить метку тома диска
RECOVER — восстановить данные с плохого или поврежденного диска
VOL (volume) — вывести метку и серийный номер тома для диска
SCHTASKS (schedule tasks) — выполнить команду или запустить приложение по расписанию (планировщик задач)
SHUTDOWN — выключить или перезагрузить компьютер
TASKLIST — список выполняемых задач
TASKKILL — прекратить или остановить задачу (для остановки используется PID, который можно узнать при помощи TASKLIST)
RUNAS — запуск задачи от имени другого пользователя
SC (service configuration) — отображает или настраивает службы (фоновые процессы)
DATE — вывести или установить текущую дату
DRIVERQUERY — отобразить текущее состояние и свойства драйвера устройства
HOSTNAME — имя компьютера
SYSTEMINFO (system iformation) — информация о конфигурации компьютера
VER (version) — сведения о версии WindowsПросмотр и настройка сетевых параметров.
IPCONFIG — просмотр сведений о сетевых интерфейсах
PING — проверка сетевого соединения
TRACERT — определяет путь прохождения пакетов по сети
NSLOOKUP (name server lookup) — определяет ip-адрес по имени ресурса
ROUTE
ARP — таблица преобразований ip-адресов в физические
NETSH (network shell)- программа управления сетевыми настройками
GETMAC — показывает MAC-адрес сетевого адаптераНастройка и управление командной строкой.
CLS (clear screen) — очистить экран
CMD — запустить еще одну командную строку
COLOR — установить цвет текста и фона
PROMPT — изменить приглашение в командной строке
TITLE — назначить заголовок окна для текущего сеанса
EXIT — выход из командной строки
Самые полезные команды CMD в Windows
На чтение 4 мин Просмотров 144 Опубликовано
Команды CMD — наиболее предпочтительный способ делать что-либо для компьютерных экспертов и программистов. Сегодня мы собираемся изучить несколько полезных команд, которые сделают нашу работу простой и продуктивной.
1. Подсказка команды
Обычно, когда мы открываем нашу командную строку, мы видим, что в левом углу написан путь к текущему каталогу. Итак, теперь мы хотим изменить его по своему желанию. Здесь используется команда Prompt.
Синтаксис:
prompt name_that_you_want
2. Команда заголовка
Точно так же, как и в случае с приглашением, когда мы открываем командную строку, название приложения выглядит как « C: \ WINDOWS \ system32 \ cmd.exe ». Если мы хотим его изменить, мы используем команду title.
Синтаксис:
title name_that_you_want
3. Цветовая команда
Когда мы видим хакеров в фильмах, у которых на экране компьютера очень быстро движутся зеленые коды, мы очаровываемся. Может, вам скучно работать на черно-белом экране. Затем вы можете использовать команду цвета.
Для этого требуются две шестнадцатеричные цифры. Первый для фона и второй для переднего плана.
Пример: цвет 02 делает его зеленым текстом и черным фоном.
4. Открытие ярлыка CMD
Есть много способов открыть командную строку в Windows. Сегодня мы собираемся обсудить открытие CMD в любой папке. Да, откроем в любой папке. Просто перейдите в адресную строку этой папки, введите « cmd » и нажмите « Enter ».
5. Скрыть папки
Когда мы скрываем любую папку, идущую из ее свойств, она отображается, когда мы проверяем «Показать скрытые файлы», и то же самое происходит, когда мы используем « attrib + h filename ». Итак, теперь мы увидим команду, которая скроет вашу папку, и никто не сможет узнать ее снова вместо вас.
Синтаксис:
attrib +h +s +r filename
Примечание. Используйте « attrib -h -s -r имя файла », чтобы отобразить файл.
6. Проверьте состояние аккумулятора ноутбука
Итак, первая команда предназначена для проверки состояния батареи ноутбука. Командная строка предоставит вам краткую информацию и технические сведения об аккумуляторе вашего ноутбука. Чтобы просмотреть отчет о батарее, откройте командную строку от имени администратора и выполните следующую команду:
powercfg /batteryreport /output “C:\battery_report.html”
После нажатия клавиши ввода отчет о батарее вашего ноутбука будет сохранен по указанному вами маршруту в формате html. (здесь мы указали путь диска C).
Ознакомьтесь с этой подробной статьей, проверяющей состояние батареи ноутбука.
7. Просканируйте систему на наличие проблем
С помощью командной строки Windows вы можете проверить все системные файлы на наличие каких-либо системных проблем, таких как повреждение файлов, с помощью одной команды. Просто откройте командную строку в административном режиме и введите:
sfc /scannow
Эта команда просканирует все защищенные системные файлы и заменит поврежденные файлы кэшированной копией, которая находится в сжатой папке в% WinDir% \ System32 \ dllcache. Этот процесс займет некоторое время, поэтому не закрывайте командную строку до завершения проверки.
Сканировать на наличие системных проблем
8. Просмотрите лицензионный ключ Windows.
Иногда вам нужно перенести лицензию Windows 10 на новый компьютер. В то время очень важен лицензионный ключ продукта Windows. Давайте посмотрим, как получить лицензионный ключ Windows с помощью командной строки. Как и раньше, откройте командную строку в административном режиме и после ввода указанной ниже команды нажмите клавишу ввода.
wmic path softwarelicensingservice get OA3xOriginalProductKey
9. Сохраните деревья папок на диск
Иногда вы не можете найти обзор всех вложенных папок на диске и не знаете, где находится конкретная папка. В этой ситуации вам поможет командная строка. Это даст вам древовидное представление всех вложенных папок в этом каталоге. Введите эту команду, и после нажатия клавиши ввода вы увидите графическое представление всех папок.
tree
Вы также можете добавить « > c: \ export.txt » после дерева, чтобы сохранить результаты в текстовом файле, который вы можете просмотреть в вашем локальном хранилище.
10. Просмотр и удаление истории инкогнито
Возможно, вы знаете, что на вашем компьютере есть система доменных имен (DNS), которая преобразует URL-адрес сайта, который вы вводите в адресной строке браузера, в IP-адрес, эквивалентный этому сайту. Таким образом, ваша история инкогнито также сохраняется в кеше DNS, который иногда называют кешем преобразователя DNS.
- Чтобы просмотреть кеш DNS, введите в командной строке ipconfig / displaydnsи нажмите клавишу ВВОД, и вы увидите все сайты с их IP-адресами.
- Чтобы удалить кеш DNS, введите ipconfig / flushdns,и ваша история инкогнито будет очищена.
⚙ИСТОРИЯ КОМАНД В КОМАНДНОЙ СТРОКЕ CMD WINDOWS 10
Мы часто работаем с командной строкой или CMD, в средах Windows для выполнения множества задач, связанных с оборудованием или пользователями, таких как получение информации, создание новых профилей, редактирование параметров, открытие программ и многое другое.
Командная строка в операционных системах Windows включает функцию, которая позволяет хранить историю команд, которые мы использовали с помощью различных сочетаний клавиш, таких как те, которые показаны ниже.
Открыть CMD W10
1. Командная строка сочетаний клавишКлавиша вверх
Это позволяет нам визуализировать последнюю выполненную команду, мы можем продолжать нажимать ее, чтобы увидеть предыдущие выполненные команды
вверх
Вниз
Запомните следующую письменную команду. Мы можем нажать его рядом, чтобы увидеть историю команд
вниз
Ключ авпаг
Это позволяет нам получить первую команду, используемую в текущем сеансе
вниз на страницу
Клавиша RePag
Это позволяет нам получить самую последнюю команду текущего сеанса
PageUp
Клавиша Esc
Удалить общую командную строку
Esc
Таким же образом некоторые функциональные клавиши позволяют нам выполнять определенные действия в командной строке, такие как:
Клавиша F7
Эта опция позволяет нам видеть историю команд во всплывающем окне, где мы можем выбрать нужную команду, нажимая клавиши со стрелками
F7
Клавиша F8
Это позволяет нам искать всю историю команд, команду, которая соответствует текущему условию, например, мы можем ввести букву C в командной строке и нажать F8, чтобы отобразить все команды, начинающиеся с этой буквы. Затем мы можем нажать эту клавишу, чтобы отобразить все варианты
F8
Клавиша F9
Это позволяет нам извлечь команду, сохраненную в истории, указав ее номер в буфере истории. Мы увидим эти цифры во всплывающем окне, и в следующий раз для более быстрого доступа просто используйте клавишу F9 и соответствующий номер.
F9
Если мы хотим увидеть список всех команд, используемых в командной строке, мы будем использовать следующую команду:
доски / историяРезультат будет следующим:
Этот же результат получается с помощью клавиши F7.
2. Как скопировать предыдущие команды в командную строкуПредыдущая команда, которую мы выполняем в командной строке, называется шаблоном, и у нас есть несколько вариантов для копирования этих файлов.
Клавиша F1
Эта опция копирует символ индивидуально из предыдущей письменной команды, то есть буква за буквой.
F1
Клавиша F2
Эта опция позволяет нам скопировать часть предыдущей команды, которую мы написали, система попросит нас ввести, пока мы не хотим скопировать символ
F2
Клавиша F3
Эта опция позволяет нам выполнить ранее выполненную команду, то есть, если мы ввели, теперь ping -3 solvetic.com, теперь мы можем написать ping -5 и нажать F3 для завершения предыдущей команды.
F3
3. Как очистить историю команд в командной строкеНаиболее практичным способом очистки истории команд в командной строке является закрытие окна, поскольку в системах Linux помните, что история остается действительной даже после закрытия терминала. Мы можем выполнить следующую команду, чтобы в командной строке Windows не запомнил ни одной команды:
doskey / listsize = 0Используя эту опцию, мы не можем выполнять функции клавиши F7 или команды doskey / history, но она будет активна только во время текущего сеанса. Команда cls (Clear Screen) будет полезна для очистки истории команд, не закрывая активное окно, если ранее мы выполняли команду doskey / listsize = 0 .4. Как сохранить историю команд в командной строке
В какой-то момент мы можем захотеть поддержать историю файлов, выполняемых в командной строке для какой-либо административной или контрольной задачи.
Для этого мы будем использовать команду doskey и определенный путь для хранения этих команд. Синтаксис для использования будет следующим.
doskey / history> C: \ users \ User \ Desktop \ commands.txt
Символ> перенаправляет результат на указанный путь. Теперь мы идем по указанному пути и открываем созданный нами файл:
Таким образом, мы можем выполнять действия над командами командной строки в среде Windows простым и полезным способом.
FC | Сравните два файла или набор файлов и покажите различия между ними |
НАЙТИ | Найдите текстовую строку в одном или нескольких файлах. |
FINDSTR | Искать текстовые строки в файлах. |
ДЛЯ | Выполняйте команду одновременно для нескольких файлов, уменьшая количество кода, необходимого для выполнения нескольких задач. Это одна из команд, дающих наиболее практические преимущества. |
FORFILES | Используйте команду, похожую на FOR, выберите один или несколько файлов и выполните команду в каждом из них. Это позволяет использовать множество полезных опций, которые мало используются. |
ФОРМАТ | Позволяет предоставлять различные форматы жестким дискам или другим устройствам для использования с Windows |
ФСУТИЛ | Команда DOS, которая отображает или настраивает свойства файловой системы. В нем есть несколько подкоманд для эффективного администрирования файловой системы и томов. |
FTYPE | Отображает или изменяет типы файлов, используемые в ассоциации расширения файла |
ПЕРЕЙТИ К | Направляет интерпретатор команд Windows на строку в пакетном файле. |
GPRESULT | Команда MS-DOS, отображающая информацию о групповой политике по компьютеру или пользователю |
GPUPDATE | Обновляет изменения, сделанные в редакторе локальной групповой политики. Позволяет активировать любую из установленных политик сразу, при перезапуске или при входе в систему. Чтобы заставить их активироваться немедленно, используйте: GPUPDATE / force |
ГРАФТАБЛ | Позволяет Windows отображать расширенный набор символов в графическом режиме |
ПОМОГИТЕ | Предоставляет справочную информацию для команд Windows |
ICACLS | Команда MS-DOS, которая отображает, изменяет, создает резервные копии или восстанавливает списки управления доступом (ACL) для файлов и каталогов. |
ЕСЛИ | Выполняет команды условно, используется для определения значений ошибок, сравнения строк, подтверждения существования файла и выполнения математических сравнений. |
IPCONFIG | Отображает параметры сетевого подключения. По умолчанию для каждого адаптера, привязанного к TCP / IP, отображаются только IP-адрес, маска подсети и шлюз по умолчанию. |
МЕТКА | Эта команда CMD Создание, изменение или удаление метки тома диска |
MEM | Отображает количество свободной и используемой памяти в системе |
MD | Создайте каталог или папку |
MKDIR | Команда DOS для создания каталога, как указано выше |
MKLINK | Создавайте символические ссылки и жесткие ссылки |
РЕЖИМ | Настроить системное устройство |
БОЛЬШЕ | Команда MS-DOS, отображающая информационный экран за экраном |
ШАГ | Переместите один или несколько файлов из одного каталога в другой на том же диске |
MSTSC | Инициировать удаленное подключение к рабочему столу |
NBTSTAT | Показывает текущие соединения TCP / IP и статистику протокола с использованием NBT (NetBIOS через TCP / IP) |
СЕТЬ | Настраивайте самые разные параметры в сетях. |
NETCFG | Он используется для установки Windows Preinstallation Environment (WinPE), минимальной и облегченной версии Windows, используемой разработчиками. |
NETSH | Команда NETSH (сетевая оболочка) позволяет настраивать, конфликтовать и управлять различными сетевыми компонентами с помощью командной строки локально или удаленно. Показывает и настраивает состояние компонентов установленных сетевых протоколов. Команды Netsh организованы в виде дерева, каждая технология и протокол имеет свой собственный контекст. |
NETSTAT | Показывает текущие TCP / IP-соединения и статистику протокола. Позволяет контролировать все активные соединения |
NLSFUNC | Загрузите конкретную информацию о стране или регионе |
NLTEST | Команда NLTEST используется для тестирования по безопасным каналам между компьютерами Windows в разных доменах и между доверенными контроллерами домена. |
NSLOOKUP | Эта команда CMD отображает информацию о DNS-серверах, назначенных вашему сетевому подключению. Это позволяет делать запросы к этим серверам. |
OCSETUP | Запускает инструмент установки дополнительных компонентов Windows, который устанавливает дополнительные параметры Windows. |
ОТКРЫТЬ | Команда DOS, показывающая общие файлы, открытые удаленными пользователями |
ДОРОЖКА | Показать или установить путь поиска для исполняемых файлов |
ПАУЗА | Команда MS-DOS, которая приостанавливает консоль и отображает сообщение |
ПИНГ | Он позволяет тестировать сетевое соединение, отправлять и получать пакет данных. |
POPD | Восстанавливает предыдущее значение текущего каталога, сохраненного PUSHD |
POWERSHELL | Запускает экземпляр Windows PowerShell, новой командной консоли, включенной в Windows в системах после Windows Vista. Когда PS отображается в символе консоли, это означает, что вы находитесь в среде PowerShell, так что вы вводите с этого момента, что он будет связан с этим интерпретатором, чтобы вернуться в консоль, просто введите CMD и нажмите Enter. |
РАСПЕЧАТАТЬ | Распечатать текстовый файл |
ПОДСКАЗКА | Изменить командную строку Windows |
PUSHD | Команда MS-DOS, которая сохраняет текущий каталог, а затем изменяет его |
QAPPSRV | Отображает хост-серверы сеанса удаленных рабочих столов, доступные в сети. |
QPROCESS | Отображает информацию о процессах |
Я ХОЧУ | Показывает текущий статус и параметры конкретной услуги |
QUSER | Показать информацию о пользователях, вошедших в систему |
QWINSTA | Отображает информацию о сеансах удаленного рабочего стола |
РАСДИАЛЬНЫЙ | Он используется для запуска или остановки коммутируемого или коммутируемого соединения. |
RD | Удалить или удалить каталог или папку |
ВОССТАНОВИТЬ | Команда DOS для восстановления читаемой информации с поврежденного или неисправного диска |
REG | Он используется для управления всеми параметрами редактора реестра из командной строки и командных файлов. Можно добавлять, изменять ключи, значения, ветки экспорта и т. Д. Команда REG состоит из нескольких подкоманд, каждая из которых предназначена для разных целей: REG QUERY, REG ADD, REG DELETE, REG COPY, REG SAVE, REG RESTORE, REG LOAD, REG UNLOAD, REG COMPARE, REG EXPORT, REG IMPORT и REG FLAGS |
РЕГЕДИТ | Команда REGEDIT позволяет импортировать, экспортировать или удалять настройки в реестре из обычного текстового файла с расширением .reg. |
REGSVR32 | Зарегистрируйте библиотеки DLL, чтобы включить их в реестр |
РЕЛОГ | Relog создает новые записи производительности из существующих данных записи производительности путем изменения интервала выборки или преобразования формата файла. Поддерживает все форматы журналов производительности, включая сжатые журналы Windows NT 4.0 |
REM | Отметьте комментарии в пакетных файлах или в файле CONFIG.SYS. Строка в пакете, начинающаяся с REM, считается комментарием. |
REN | Команда DOS, которая переименовывает один или несколько файлов |
ПЕРЕИМЕНОВАТЬ | Переименуйте один или несколько файлов, как указано выше |
ЗАМЕНИТЬ | Заменить файлы |
RMDIR | Удалить каталог |
РОБОКОПИЯ | Расширенная утилита для копирования папок и каталогов в Windows. |
СБРОС СЕССИИ | (Rwinsta) Сброс аппаратного и программного обеспечения подсистемы сеанса на известные начальные значения |
МАРШРУТ | Команда DOS для управления таблицами сетевой маршрутизации |
RPCPING | Пингует сервер с помощью RPC |
РУНЫ | Он используется для запуска программы с использованием учетных данных или прав другого пользователя. |
СЕКЕДИТ | Проанализируйте безопасность системы и сравните с конкретным шаблоном |
УСТАНАВЛИВАТЬ | Показать, установить или удалить переменные среды Windows |
SETLOCAL | Запустить в консоли раздел изменений локальной среды |
НАБОР | Команда SETVER используется для установки номера версии MS-DOS, сообщаемой программе. |
SETX | Создайте или измените переменные среды в пользовательской или системной среде. Вы можете установить переменные на основе аргументов, ключей реестра или ввода файла |
SC | Показать или настроить службы (фоновые процессы). |
SCHTASKS | Запустите планировщик задач. Запланируйте выполнение команд и программ на компьютере. |
SFC | Microsoft Resource Checker Проверяет целостность всех защищенных системных файлов и заменяет неправильные версии правильными Microsoft. |
ТЕНЬ | Мониторинг другого сеанса служб удаленных рабочих столов |
КОМПАРТЕР | Команда SHARE используется для блокировки файлов и функций в MS-DOS. |
SXSTRACE | Утилита отслеживания WinSxs |
СДВИГ | Изменить положение заменяемых модификаторов в пакетных файлах |
НЕИСПРАВНОСТЬ | Позволяет локальное или удаленное выключение, перезагрузку, приостановку и гибернацию компьютера |
СОРТИРОВАТЬ | Сортировать результаты выбранной команды, например результаты поиска с НАЙТИ |
НАЧАЛО | Запускает другое окно для запуска программы или команды |
SUBST | Свяжите путь с буквой диска |
СИСТЕМНАЯ ИНФОРМАЦИЯ | Отображает определенные свойства и настройки оборудования |
ПРИНЯТЬ | Этот инструмент позволяет администратору восстановить доступ к запрещенному файлу, переназначив право собственности на файл. |
СПИСОК ЗАДАНИЙ | Показывает все запущенные задачи, включая сервисы |
ТАСККИЛЛ | Команда MS-DOS, которая завершает или прерывает запущенный процесс или приложение |
TCMSETUP | Эта команда DOS используется для настройки или отключения телефонного клиента интерфейса программирования приложений телефонии (TAPI). |
ВРЕМЯ | Показать или установить системное время |
Тайм-аут | Эта утилита принимает параметр тайм-аута, чтобы ждать в течение определенного периода времени (в секундах) или пока не будет нажата клавиша. Также принимает параметр для пропуска нажатия клавиш |
ЗАГЛАВИЕ | Устанавливает заголовок окна сеанса CMD.EXE |
TRACERPT | Команда TRACERPT используется для обработки данных в реальном времени или журналов трассировки событий. |
TRACERT | Он позволяет отслеживать маршрут между одним компьютером и другим в сети, он широко используется, чтобы узнать, где остановился пакет данных в сети. |
ДЕРЕВО | Команда DOS, которая графически отображает структуру каталогов диска или пути |
TSDISCON | Отключить сеанс удаленного рабочего стола |
TSKILL | Завершить процесс |
ТИП | Отображает содержимое текстового файла |
TYPEPERF | Typeperf записывает информацию о производительности в командное окно или в файл журнала. Чтобы остановить Typeperf, нажмите CTRL + C |
ЦУТИЛ | Утилита часового пояса Windows |
UNLODCTR | Удаляет имя счетчика и длинный текст для указанного повторяющегося счетчика |
ВИДЕТЬ | Показать версию Windows |
ПРОВЕРИТЬ | Сообщите Windows, следует ли проверять правильность записи файлов на диск. |
VOL | Отображает метку тома и серийный номер диска |
VSSADMIN | Инструмент администрирования службы теневого копирования томов, образы, созданные Windows для функции восстановления системы. Например, чтобы перечислить все существующие изображения, используйте: VSSADMIN list shadows |
W32TM | Инструмент, используемый для диагностики конфликтов локального компьютера или компьютера в сети со службой времени Windows (время Windows) при попытке синхронизации или обновления системных часов |
ЖДАТЬ | Этот инструмент отправляет или ожидает поступления сигнала в систему. Если / S не указано, сигнал будет транслироваться во все системы в домене. Если указано / S, сигнал будет отправлен только в указанный домен. |
WBADMIN | Инструмент командной строки резервного копирования |
WEVTUTIL | Утилита командной строки событий Windows. Получение информации об издателях и журналах событий, установка и удаление манифестов событий, выполнение запросов, а также экспорт, архивирование и удаление журналов |
ГДЕ | Команды DOS, показывающие расположение файлов, соответствующих шаблону поиска. По умолчанию поиск выполняется в текущем каталоге и по путям, указанным в переменной среды PATH. |
КТО Я | Эту утилиту можно использовать для получения информации об имени пользователя и группе, а также соответствующих идентификаторах безопасности (SID), привилегиях, идентификаторе входа (идентификатор входа) текущего пользователя (токен доступа ) в локальной системе. То есть, кто в данный момент вошел в систему. Если модификатор не указан, инструмент отображает имя пользователя в формате NTLM (домен \ имя пользователя) |
WINHLP32 | Команда MS-DOS, запускающая файлы справки Windows с расширением HLP |
WINRM | Инструмент командной строки удаленного администрирования Windows Удаленное управление Windows (WinRM) — это реализация Microsoft протокола WS-Management, который обеспечивает безопасный способ связи с локальными и удаленными компьютерами с помощью веб-служб. |
WINRS | Команда DOS, которая открывает командное окно в безопасном режиме с компьютером в сети |
WINSAT | Средство оценки системы Windows (WinSAT) |
WMIC | Отображает информацию WMI в интерактивной командной оболочке. Он обеспечивает доступ ко всем видам информации, как с локального компьютера, так и с другого в сети, перечисляет все доступные аппаратные и программные данные. |
XCOPY | Копировать файлы и деревья каталогов |
Команды командной строки ( cmd ) windows
Для начала скажу, что я зарабатываю через вот этого брокера, проверен он временем! А вот хороший пример заработка, человек зарабатывает через интернет МНОГО МНОГО МНОГО и показывает все на примерах, переходи и читай! Добавь страницу в закладки. А теперь читаете информацию ниже и пишите свой отзыв
Видео: Команды Windows
Список команд включает в себя наиболее полный перечень, представленный не только внутренними командами CMD, но и утилитами командной строки.
В разных версиях операционных систем семейства Windows набор команд, их входные параметры, синтаксис и отображение результатов могут различаться.
Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать или входить в состав дополнительных средств,например, Resource Kit или Software Development Kit, для другой.
Некоторые из приведенных команд, устарели, и не поддерживаются или не имеют смысла в современных операционных системах.
Названия наиболее распространенных команд, представленных на данной странице, являются ссылками и ведут на страницу с подробным описанием и примерами использования.
- APPEND — позволяет программам открывать файлы данных из указанных папок так, как будто они находятся в текущей папке.
- ARP — просмотр и изменение таблиц ARP (Address Resolution Protocol)
- ASSOC — просмотр или изменение сопоставлений расширений файлов приложениям
- AT — управление планировщиком задач
- ATTRIB — изменение атрибутов файлов
- BCDBOOT — копирование в системный раздел файлов загрузки и создание нового хранилища конфигурации загрузки (BCD)
- BCDEDIT — редактирование хранилища данных конфигурации загрузки (BCD)
- BOOTCFG — редактирование параметров загрузки в файле boot.ini
- BOOTREC — восстановление загрузочных записей и конфигурации загрузки Windows
- BOOTSECT — редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR
- BREAK — включить или выключить обработку комбинации клавиш CTRL+C в DOS
- CACLS — редактирование списков управления доступом к файлам (ACL — Access Control List)
- CALL — вызов из командного файла подпрограмм или других командных файлов
- CD — смена каталога (Change Directory)
- CHANGE — изменение настроек сервера терминалов. Контексты — LOGON, PORT, USER
- CHGLOGON — изменение настроек сервера терминалов, аналогично CHANGE LOGON
- CHGPORT — изменение настроек сервера терминалов, аналогично CHANGE PORT
- CHGUSR — изменение настроек сервера терминалов, аналогично CHANGE USER
- CHCP — просмотр или изменение текущей кодовой страницы
- CHKDSK — проверка диска (Check Disk)
- CHKNTFS — проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows
- CHOICE — реализация пользовательского ввода в командном файле
- CIPHER — отображение или изменение шифрования файлов
- CLIP — перенаправление вывода утилит командной строки в буфер обмена Windows
- CLS — очистка экрана в командной строке
- CMD — запуск новой копии интерпретатора командной строки
- CMDKEY — создание, отображение, удаление и сохранение имен пользователей и паролей
- COLOR — изменение цвета текста и фона в окне CMD
- COMMAND — запуск новой копии интерпретатора командной строки MS-DOS
- COMP — сравнение содержимого файлов
- COMPACT — управление сжатием и распаковкой файлов в разделах NTFS
- CONVERT — преобразование файловой системы из FAT в NTFS
- COPY — копирование файлов и каталогов
- DATE — отображение или изменение даты
- DEBUG — запуск отладчика DOS-Windows XP
- DEFRAG — дефрагментация диска
- DEL — удаление одного или нескольких файлов
- DevCon — управление устройствами в командной строке
- DIANTZ — тоже что и MAKECAB, создание архивов .cab.
- DIR — отображение списка файлов и каталогов
- DISKCOMP — сравнение содержимого двух гибких дисков
- DISKCOPY — копирование содержимого одного гибкого диска на другой
- DISKPART — управление разделами и дисками из командной строки
- DISM — управление компонентами образрв WIM.
- DISPDIAG — вывод дампов с диагностической информацией о графической подсистеме.
- DOSKEY — редактирование и повторный вызов команд Windows, использование макросов.
- DRIVERQUERY — отобразить информацию об установленных драйверах.
- ECHO — вывод текста на экран консоли
- EDIT — запуск текстового редактора
- ENDLOCAL — конец локальных изменений переменных окружения в командном файле
- ERASE — аналогично команде
- DEL — удаление файлов
- ESENTUTL — обслуживание баз данных Extensible Storage Engine для Windows
- EVENTCREATE — запись сообщения в журнал событий Windows
- EXIT — выход из процедуры или командного файла
- EXPAND — распаковка сжатых файлов CAB-файлов.
- EXTRACT — извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)
- FC — сравнение содержимого файлов FIND — поиск строки символов в файле
- FINDSTR — поиск строк в файлах с использованием регулярных выражений
- FOR — организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах
- FORFILES — выполнение указанной команды для каждого файла из заданной группы
- FORMAT — форматирование диска
- FSUTIL — управление файловой системой
- FTP — консольный FTP-клиент
- FTYPE — просмотр и изменение расширений файлов и сопоставленных им приложений
- GETMAC — отображение физического адреса сетевого адаптера (MAC-адреса)
- GOTO — команда безусловного перехода в командном файле
- GPRESULT — отображение результирующей политики (RSoP)
- GPUPDATE — обновление групповых политик.
- HELP — вызов справки командной строки Windows
- HOSTNAME — отображение имени компьютера
- iCACLS — управление списками доступа (ACL)
- IF — оператор условного выполнения команд в пакетном файле
- IPCONFIG просмотр и управление конфигурацией протокола IP
- LABEL — редактирование меток тома дисков
- LOGMAN — управление монитором оценки производительности системы
- LOGOFF — завершение сеанса пользователя
- MAKECAB — создание сжатых файлов формата
- CAB MEM — вывод справки об использовании памяти в MS-DOS
- MD — создание нового каталога
- MKLINK — создание символической ссылки на файл или каталог
- MODE — конфигурирование системных устройств в среде CMD
- MORE — постраничный вывод в консоли
- MOUNTVOL — управление точками монтирования томов
- MOVE — перемещение файлов и каталогов
- MOVEFILE — перемещение или удаление занятых файлов при следующей перезагрузке
- MSG — отправка сообщений пользователям.
- MSTSC — подключение к удаленному рабочему столу.
Список команд Windows ( Windows CMD ) с описанием и примерами.
Список команд Windows ( Windows CMD ) с описанием и примерами.Командная строка Windows является стандартным средством диагностики, настройки и управления компонентами операционной системы и прикладным программным обеспечением. В отличие от графической среды пользователя, командная строка является более гибким и универсальным инструментом, позволяющим решать многие задачи администрирования системы стандартными средствами Windows без установки дополнительного программного обеспечения.
Способы запуска командной строки
Командная строка Windows может быть запущена как и любое другое стандартное приложение — через Главное меню Windows, с использованием диалога Выполнить (комбинации клавиш Win+R, Win+X), а также с использованием открытия Проводником ( по двойному щелчку ) ярлыка или исполняемого файла C:\WINDOWS\System32\cmd.exe. В результате запуска откроется окно командной строки с приглашением к вводу команд. Приложение cmd.exe часто называют командным процессором или интерпретатором команд, а его основное окно – консолью Windows. Команды консоли представляют собой строку символов, которая может содержать встроенные команды командного процессора (HELP, ECHO и т.п.), имена и пути исполняемых или командных файлов (C:\Windows\System32\ping.exe), а также дополнительные параметры, если они требуются для выполнения конкретной команды (ping.exe yandex.ru). Результаты выполнения команд отображаются в окне консоли Windows и нередко зависят от наличия достаточных прав у текущего пользователя. Для выполнения команд в контексте учетной записи Администратора в операционных системах Windows Vista — Windows 10 необходимо использовать режим Запуск от имени Администратора.
Ссылки на материалы по настройке командной строки и приемах работы с ней размещены в конце страницы.
Справочник по командам CMD Windows
Данная страница представляет собой самый полный документ в русскоязычном сегменте Интернет, содержащий список команд командной строки всех версий Windows. Наименования подавляющего большинства команд являются ссылками и ведут на страницы с подробным их описанием и примерами использования. В разных версиях ОС семейства Windows набор поддерживаемых команд, их параметры командной строки, синтаксис и отображение результатов выполнения могут различаться. Одна и та же утилита командной строки может присутствовать в стандартной поставке одной версии Windows, но отсутствовать в другой, или входить в состав дополнительных средств, как например, Resource Kit или Software Development Kit.
На данной странице представлено описание не только внутренних команд CMD, но и стандартных утилит командной строки, входящих в состав конкретных версии операционной системы (ОС) семейства Windows. Некоторые из приведенных команд устарели, и больше не поддерживаются разработчиком или не имеют смысла в современных операционных системах, что отмечается в описании команды.
Список команд постоянно обновляется и включает в себя все новейшие команды, добавляемые в стандартную поставку при выходе новых версий или обновлений ОС Windows 10.
APPEND — позволяет программам открывать файлы данных из указанных папок так, как будто они находятся в текущей папке.
ARP — просмотр и изменение таблиц ARP (Address Resolution Protocol)
ASSOC — просмотр или изменение сопоставлений расширений файлов приложениям
AT — управление планировщиком задач
ATTRIB — изменение атрибутов файлов
Auditpol — управление политиками аудита.
BASH — командная оболочка BASH в подсистеме Windows для Linux (WSL).
BCDBOOT — копирование в системный раздел файлов загрузки и создание нового хранилища конфигурации загрузки (BCD)
BCDEDIT — редактирование хранилища данных конфигурации загрузки (BCD)
BOOTCFG — редактирование параметров загрузки в файле boot.ini
BOOTIM — вызов меню загрузки и восстановления (Выбор действия) Windows 10
BOOTREC — восстановление загрузочных записей и конфигурации загрузки Windows
BOOTSECT — редактирование загрузочных секторов для обеспечения загрузки NTLDR или BOOTMGR
BREAK — включить или выключить обработку комбинации клавиш CTRL+C в DOS
CACLS — редактирование списков управления доступом к файлам (ACL — Access Control List)
CALL — вызов из командного файла подпрограмм или других командных файлов
CD — смена каталога (Change Directory)
CHANGE — изменение настроек сервера терминалов. Контексты — LOGON, PORT, USER
CHGLOGON — изменение настроек сервера терминалов, аналогично CHANGE LOGON
CHGPORT — изменение настроек сервера терминалов, аналогично CHANGE PORT
CHGUSR — изменение настроек сервера терминалов, аналогично CHANGE USER
CHCP — просмотр или изменение текущей кодовой страницы
CHKDSK — проверка диска (Check Disk)
CheckNetIsolation — управление доступом приложений к интерфейсу замыкания на себя (localhost) в Windows 10
CHKNTFS — проверка признака ошибки файловой системы и управление проверкой диска при загрузке Windows
CHOICE — реализация пользовательского ввода в командном файле
CIPHER — отображение или изменение шифрования файлов на томах NTFS
CLEARMGR — управление очисткой дисков Windows
CLIP — перенаправление вывода утилит командной строки в буфер обмена Windows
CLS — очистка экрана в командной строке
CMD — запуск новой копии интерпретатора командной строки
CMDKEY — создание, отображение, удаление и сохранение имен пользователей и паролей
COLOR — изменение цвета текста и фона в окне CMD
COMMAND — запуск новой копии интерпретатора командной строки MS-DOS
COMP — сравнение содержимого файлов
COMPACT — управление сжатием и распаковкой файлов в разделах NTFS
CONVERT — преобразование файловой системы из FAT в NTFS
COPY — копирование файлов и каталогов
Cscript — сервер сценариев Windows с консольным интерфейсом
DATE — отображение или изменение даты
DEBUG — запуск отладчика DOS-Windows XP
DEFRAG — дефрагментация диска
DEL — удаление одного или нескольких файлов
DevCon — управление устройствами в командной строке
DIANTZ — тоже что и MAKECAB, создание архивов .cab.
DIR — отображение списка файлов и каталогов
DISKCOMP — сравнение содержимого двух гибких дисков
DISKCOPY — копирование содержимого одного гибкого диска на другой
DISKPART — управление разделами и дисками из командной строки
DISM — управление компонентами образрв WIM.
DISPDIAG — вывод дампов с диагностической информацией о графической подсистеме.
DJOIN — автономное присоединение компьютера к домену.
DOSKEY — редактирование и повторный вызов команд Windows, создание макросов DOSKey
DRIVERQUERY — отобразить информацию об установленных драйверах.
DxDiag — средство диагностики DirectX.
ECHO — вывод текста на экран консоли
EDIT — запуск текстового редактора
ENDLOCAL — конец локальных изменений переменных окружения в командном файле
ERASE — аналогично команде DEL — удаление файлов
ESENTUTL — обслуживание баз данных Extensible Storage Engine для Windows
EVENTCREATE — запись сообщения в журнал событий Windows
EXIT — выход из процедуры или командного файла
EXPAND — распаковка сжатых файлов CAB-файлов.
EXTRACT — извлечение содержимого, распаковка CAB-файлов в Windows (EXTRAC32)
FC — сравнение содержимого файлов
FIND — поиск строки символов в файле
FINDSTR — поиск строк в файлах с использованием регулярных выражений
FOR — организация циклической обработки результатов выполнения других команд, списков, и строк в текстовых файлах
FORFILES — выполнение указанной команды для каждого файла из заданной группы
FORMAT — форматирование диска
FSUTIL — управление файловой системой
FTP — консольный FTP-клиент
FTYPE — просмотр и изменение расширений файлов и сопоставленных им приложений
GETMAC — отображение физического адреса сетевого адаптера (MAC-адреса)
GOTO — команда безусловного перехода в командном файле
GPRESULT — отображение результирующей политики (RSoP)
GPUPDATE — обновление групповых политик.
HELP — вызов справки командной строки Windows
HOSTNAME — отображение имени компьютера
iCACLS — управление списками доступа (ACL)
IF — оператор условного выполнения команд в пакетном файле
IPCONFIG просмотр и управление конфигурацией протокола IP
LABEL — редактирование меток тома дисков
LOGMAN — управление монитором оценки производительности системы
LOGOFF — завершение сеанса пользователя
MAKECAB — создание сжатых файлов формата CAB
MBR2GPT — преобразование дисков MBR в GPT
MEM — вывод справки об использовании памяти в MS-DOS
MD — создание нового каталога
MKLINK — создание символической ссылки на файл или каталог
MODE — конфигурирование системных устройств в среде CMD
MORE — постраничный вывод в консоли
MOUNTVOL — управление точками монтирования томов
MOVE — перемещение файлов и каталогов
MOVEFILE — перемещение или удаление занятых файлов при следующей перезагрузке
MSG — отправка сообщений пользователям.
MSTSC — подключение к удаленному рабочему столу.
NBTSTAT — просмотр статистических данных NETBIOS через TCP/IP (NetBT)
NET — управление ресурсами локальной сети
NETCFG — отображение и изменение конфигурации компонентов сети
NETSH — командная сетевая оболочка (Network Shell)
NETSTAT — отображение статистики сетевых соединений
NSLOOKUP — просмотр данных DNS в командной строке
OPENFILES — управление открытыми по сети или локально файлами
PATH — отображение или изменение путей поиска исполняемых файлов
PATHPING — трассировка маршрута с возможностью оценки качества участков трассы
PAUSE — пауза при выполнении командного файла
PING утилита проверки доступности узла
PKGMGR — управление программными пакетами Windows
PNPUTIL — конфигурирование драйверов устройств PnP
POPD — возврат в каталог, ранее запомненный с помощью команды PUSHD
POWERCFG — настройка параметров системы электропитания Windows
PRINT — печать текстового файла
PROMPT — изменение строки приглашения в консоли
PUSHD — сохранить текущий путь каталога и перейти в указанный
PSR — записать действия пользователя в Windows 7/8/110 (Problem Steps Recorder)
QPROCESS — отобразить состояние процессов
QUERY — опросить состояние процессов и сеансов пользователей
QUSER — отобразить информацию о сеансах пользователей
RASDIAL — управление сеансами удаленного доступа
RASPHONE — управление сеансами удаленного доступа
RD — удаление каталога
REAGENTC — адимнистрирование стреды восстановления Windows
RECOVER — восстановление файлов на поврежденном диске
REG — утилита командной строки для работы с реестром Windows
REGEDIT — импорт и экспорт данных реестра Windows
REGSVR32 — регистрация или отмена регистрации DLL
REGINI — управление доступом к разделам реестра
REM — комментарии в командных файлах
RENAME (REN) — переименование файлов
REPLACE — замена или добавление файлов в катологах
RESET — сброс сеанса удаленного рабочего стола (RDP сессии)
RMDIR — удаление каталога
ROBOCOPY — утилита резервного копирования и синхронизации каталогов (Robust File and Folder Copy)
ROUTE — управление таблицей маршрутизации
RUNAS — запуск приложения от имени другого пользователя
RUNDLL32 — запуск DLL в качестве приложения
SC — управление службами Windows (Service Control)
SCHTASKS — управление планировщиком задач
SCLIST — отображение списка системных служб
SET — отображение и изменение переменных среды окружения Windows
SETLOCAL — установка локальных переменных в командном файле
SETX — утилита для создания системных переменных
SFC — проверка и восстановление системных файлов Windows
SHARE — просмотр, создание и удаление разделяемых в локальной сети ресурсов
SHIFT сдвиг входных параметров для командного файла
SHUTDOWN — выключение или перезагрузка компьютера
SLEEP — задержка по времени в пакетном файле
SLMGR — управление лицензированием программного обеспечения Windows
SORT — сортировка строк в текстовом файле
START — запуск приложения или командного файла
STORDIAG — диагностика системы хранения данных в Windows 10
SUBST — назначение (отмена назначения) каталогу буквы диска
SxSTrace — диагностическое средство трассировки компонент системы
SYSTEMINFO — отображение информации о системе
TAKEOWN — изменение владельца файла или каталога
TAR — архивирование данных архиватором tar в Windows 10
TASKKILL — завершение процессов на локальной или удаленной системе.
TASKLIST — отображение списка выполняющихся приложений и служб Windows
TIME — отображение и установка системного времени
TELNET — telnet-клиент Windows
TFTP — TFTP-клиент Windows
TIMEOUT — задержка в пакетных файлах
TITLE — изменение заголовка окна CMD.EXE
TRACERT — трассировка маршрута к удаленному узлу
TREE — отображение структуры каталога в графическом виде
TSCON — подключение к сессии удаленного рабочего стола (RDP).
TSDISCON — отключение сессии удаленного рабочего стола (RDP).
TSKILL — завершение процессов, адаптированное для среды сервера терминалов (RDP).
TYPE — вывод на экран содержимого текстового файла
TypePerf — вывод сведений о производительности на экран или в журнал
TZUTIL — управление часовыми поясами в среде Windows
VER — отображение версии операционной системы
VERIFY — управление режимом проверки записываемых файлов
VOL — вывод данных метки тома
VSSADMIN — администрирование службы теневого копирования томов.
W32TM — управление службой времени Windows
WAITFOR — организация обмена сигналами между компьютерами
WBADMIN — управление резервным копированием и восстановлением в Windows
WEVTUTIL — управление событиями в Windows
WHERE — определение места расположения файлов
WHOAMI — вывод имени текущего пользователя
WINDIFF — сравнение содержимого файлов
WinMgmt — обслуживание инструментария управления Windows (WMI)
WINRM — удаленное управление Windows из командной строки
WINRS — удаленная командная строка (Remote Shell)
WINSAT — средство проверки производительности Windows
WMIC — выполнение команды WMI в командной строке
WSCollect — получить CAB-файл с копиями журналов Windows 10 на рабочем столе
Wscript — сервер сценариев Windows с графическим интерфейсом
WSL — выполнение команд Linux и конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10
WSLconfig — конфигурирование параметров подсистемы Windows для Linux (WSL) в Windows 10
XCOPY — копирование файлов и папок
Как перемещаться в CMD и просматривать, изменять каталоги
На чтение 6 мин Просмотров 254 Обновлено
Командная строка, известная как cmd на ПК с Windows, имеет множество функций и параметров, которые следует изучить. Начиная с того, как перемещаться в cmd для создания новых файлов / папки / сетевого теста / передачи файлов. Вы называете это, и в cmd есть ярлык для этого.
В этой статье мы подробно поговорим о некоторых из самых популярных функций командной строки, технике и способах навигации в ней более подробно. Поймай нас после прыжка!
Обзор командной строки
Microsoft представила cmd с момента выпуска своей первой ОС под названием MS-DOS.
С того дня и по сей день Microsoft добавила больше функций и обновила старые команды cmd, которые не поддерживались.
Работа с cmd даёт больше ощущения программиста и используется в основном техническими специалистами. Таким образом, им нравится работать из Терминала, особенно тем, кто является поклонником Mac или Linux.
Теперь давайте поговорим о некоторых из самых популярных команд командной строки, которые вы можете использовать изо дня в день:
- cmd — запустить быстрое окно команды.
- cd — текущий каталог.
- mkdir — создать каталог или папку.
- chdir — отображает текущий каталог.
- cls — удаляет содержимое с экрана.
- ver — отображает текущую версию командной строки.
- exit — закрыть окно командной строки.
- ping — проверить статус сетевых пакетов.
- scan disk — запуск и проверка состояния диска из командной строки.
- type — отображает содержимое файла.
- debug — запускает функцию отладки в командной строке.
- edit — используется для редактирования файлов из командной строки.
Как перемещаться в cmd
Это захватывающая часть, где мы обсудим, как использовать упомянутые выше команды и перемещаться в командной строке.
Начнём с основной командной строки, запустив командную строку из Windows Start, набрав в поле поиска «cmd».
Cmd используется для запуска окна командной строки на ПК с Windows. Это может быть Windows XP / Vista / 7/8/10 .
В открытом окне командной строки будет отображаться текущая версия cmd вместе с текущим каталогом, в котором мы находимся.
По умолчанию он открывается как C: \ Users \ [Имя пользователя] с мигающим курсором, ожидающим выполнения команд.
cd
Как мы знаем, cd обозначает текущий каталог и отображает текущий рабочий каталог, в котором вы работаете.
Чтобы изменить каталог и получить доступ к файлу, вы можете ввести, как показано ниже:
cd ..
(чтобы выйти из текущего каталога)
и для перехода в каталог введите:
cd foldername
mkdir
mkdir означает создание каталога или папки в Windows. Эта команда помогает создать новое имя папки в том месте, где вы хотите.
Например, когда мы запускали командную строку, она открывалась по умолчанию как Рабочий стол, но я хотел создать папку sysprobs в папке с изображениями для сохранения важных изображений.
Таким образом, я сделал cd…, чтобы выйти из рабочего стола и перейти в папку изображений, а затем создал папку sysprobs.
Опытный пользователь также может создать папку в любом месте, не выходя из текущего каталога, просто вставив действительный путь к месту, где они хотят создать файл или папку.
dir
dir — полезная команда для просмотра файлов и папок внутри конкретной папки. Убедившись, что вы находитесь в правильном месте, введите:
dir
Если в папке много файлов и папок, вы можете использовать приведённые ниже команды для фильтрации результатов.
- Перечислите имена файлов / папок, начинающиеся с определённых букв: dir ubuntu*.
- Отображение имени файла / папки, оканчивающегося определёнными буквами: dir *ubuntu.
- Эта команда отобразит имена файлов и папок, содержащие определённые буквы: dir *linux*.
- Чтобы перейти от одного места к другому, вы можете просто ввести букву диска с помощью, как показано ниже.
Мы упомянули некоторые полезные команды для навигации по дискам, папкам и файлам в CMD. Как вы должны знать, вы можете найти полезные переключатели с каждой командой, набрав /? как показано ниже.
dir /?
copy con filename.txt
Чтобы создать текстовый файл в только что созданной папке, вы можете попробовать следующую команду:
copy con filename.txt
Затем введите ключ. После выполнения вышеуказанной команды в командной строке появится пустое место для ввода любой информации, которую вы хотите добавить в файл.
Например, я попробовал «Я люблю системные проблемы» и нажал «Ввод». И он будет сохранён в файл, который мы создали выше.
Чтобы выйти из интерфейса командной строки, нажмите CTRL + Z, чтобы разорвать цепочку.
Вот текстовый файл, созданный из командной строки с введённым нами содержимым.
chdir
Chdir отображает текущий рабочий каталог, место, в котором вы сейчас работаете.
Другими словами, любая созданная или сохранённая информация будет находиться в этом конкретном месте.
Чтобы получить доступ к текущему рабочему каталогу, пользователь может попробовать ввести chdir, и он отобразит местоположение текущего каталога.
chdir
Cls
Команда cls означает очистить. Чтобы удалить любую введённую информацию с экрана командной строки, пользователь может ввести cls, и это очистит весь экран cmd.
cls
Ver
Ver обозначает версию и используется для отображения текущей версии утилиты командной строки Windows.
Поскольку Microsoft продолжает добавлять новые полезные команды и обновлять старую, добавляя больше функций, поэтому иметь представление о текущей сборке команды — это хорошая возможность.
Версию команды можно найти с помощью Ver и ввести, как показано ниже:
ver
Выход
Команда выхода помогает закрыть командную строку.
Если вы хотите закрыть экран cmd и выйти, вы можете ввести exit и enter. Команда закроет окно.
exit
Другие полезные команды
Ping
Ping — это удобная команда, которая сообщает вам информацию, относящуюся к сетевому подключению.
Команда ping используется для проверки состояния подключения к сети на основе отправленных и полученных пакетов данных.
Например: если я хочу проверить своё подключение к Интернету, я воспользуюсь командой ping, чтобы проверить, могу ли я получить доступ к WorldWideWeb.
Давайте перейдём к практическому примеру, чтобы разобраться в деталях:
Чтобы проверить подключение к сети, мне нужно либо ввести IP-адрес, к которому я пытаюсь получить доступ, либо адрес FQDN, например, google.com/bing.com и т.д.
Для удобства я буду использовать google.com для проверки связи.
Ping google.com
Начнётся процесс проверки связи, который будет выполняться в течение некоторого времени и автоматически покажет вам сводный отчёт проверки связи, как показано ниже:
Сканировать диск
Сканировать диск (chkdsk) — ещё одна впечатляющая утилита командной строки, которая сканирует и устраняет любые проблемы, связанные с жёстким диском.
Доступ к нему можно получить, запустив командную строку с правами администратора.
Пользователь может попробовать следующую команду для запуска сканирования диска:
chkdsk
Заключение
Подобно командам, которые мы поделились выше, существует множество таких доступных, которые пользователь может использовать по своему усмотрению, например, отладка / ввод / сканирование диска и многое другое.
21 лучший трюк с командной строкой
Инструмент командной строки Windows и многие из его команд на первый взгляд могут показаться скучными или даже относительно бесполезными, но любой, кто когда-либо очень часто использовал командную строку, может сказать вам, что есть за что любить!
Эти приемы заставят вас задуматься о многих банально звучащих командах командной строки, таких как telnet, tree или robocopy — хорошо,
Некоторые из этих приемов командной строки — это специальные функции или забавные способы использования самой командной строки, в то время как другие — просто изящные или относительно неизвестные вещи, которые вы можете делать с определенными командами CMD.
Используйте Ctrl+C для отмены команды
© Дэвид Ленц / E+ / Getty ImagesПочти любую команду можно остановить с помощью команды прерывания: Ctrl+C.
Если вы на самом деле не выполнили команду, вы можете просто вернуться назад и стереть то, что вы набрали, но если вы уже выполнили ее, вы можете нажать Ctrl + C, чтобы остановить ее.
Это не волшебная палочка, и она не может отменить то, что нельзя отменить, например частично завершенную команду форматирования.
Однако для таких вещей, как команда dir, которая кажется бесконечной, или вопросы, которые вам задают в подсказке, на которые вы не знаете ответа, команда abort — отличный трюк командной строки, который нужно знать.
Просмотр результатов команды по одной странице (или строке) за раз
Вы когда-нибудь запускали команду, например команду dir, которая выводит на экран столько информации, что почти бесполезна?
Одним из способов управления этим информационным дампом является выполнение команды особым образом, чтобы любая сгенерированная информация отображалась вам по одной странице или по одной строке за раз.
Просто введите команду, например, команду dir, а затем введите вертикальную черту, а затем команду more.
Например, выполнение dir /s | more будет генерировать тысячи строк результатов, которые вы ожидаете от команды dir, но команда more будет приостанавливать каждую страницу результатов с — More — внизу страницы, указывая на то, что команда не выполнена. Бег.
Просто нажмите пробел, чтобы перейти на страницу, или нажмите . Введите , чтобы перейти на одну строку за раз.
Автоматически запускать командную строку от имени администратора
Многие команды требуют, чтобы вы открыли командную строку с повышенными привилегиями в Windows, другими словами, выполняли их из командной строки, запущенной от имени администратора.
Вы всегда можете щелкнуть правой кнопкой мыши любой ярлык командной строки и выбрать «Запуск от имени администратора », но создание ярлыка для выполнения того же действия может значительно сэкономить время, если вы часто пользуетесь командной строкой.
Чтобы выполнить этот трюк, просто создайте ярлык командной строки на рабочем столе, войдите в свойства ярлыка, а затем выберите поле «Запуск от имени администратора », расположенное на кнопке Advanced на вкладке Shortcut .
Станьте опытным пользователем командной строки с функциональными клавишами
Тот факт, что функциональные клавиши действительно что-то делают в командной строке, возможно, является одним из самых сокровенных секретов этого инструмента:
- F1: Вставляет последнюю выполненную команду (посимвольно)
- F2: Вставляет последнюю выполненную команду (до введенного символа)
- F3: Вставляет последнюю выполненную команду 4 9: Удаляет текст текущей подсказки до введенного символа
- F5: Вставляет недавно выполненные команды (не циклически)
- F6: Вставляет ^Z в подсказку
- F7: Отображает выбираемый список ранее выполненных команд команды
- F8: Вставляет недавно выполненные команды (циклы)
- F9: Запрашивает номер команды из списка F7 для вставки
Изменить текст подсказки
Команда «подсказка $v».Знаете ли вы, что сама подсказка в командной строке полностью настраивается благодаря команде prompt? Так оно и есть, и когда мы говорим «настраиваемый», мы имеем в виду действительно настраиваемых.
Вместо C:\> вы можете указать в приглашении любой текст, который вы хотите, чтобы он включал время, текущий диск, номер версии Windows (как в этом примере изображения), вы называете это.
Одним из полезных примеров является приглашение $m$p$g , которое покажет полный путь подключенного диска вместе с буквой диска.
Вы всегда можете выполнить приглашение отдельно, без параметров, чтобы вернуть его к иногда скучному значению по умолчанию.
Получить справку по любой команде
© жемчужный глаз / E+ / Getty ImagesКоманда справки , а не , предоставляет справку для каждой команды командной строки.
Однако любая команда может иметь суффикс /? , обычно называемый переключателем справки в командной строке, для отображения подробной информации о синтаксисе команды и часто даже некоторых примеров.
Переключатель справки, возможно, не самый крутой трюк командной строки, о котором вы когда-либо слышали, но трудно не согласиться с тем, что он один из самых полезных.
Ни команда справки, ни переключатель справки не могут толком объяснить, как интерпретировать синтаксис.
Сохранить вывод команды в файл
Невероятно полезным приемом командной строки является использование операторов перенаправления, в частности операторов > и >> .
Эти маленькие символы позволяют перенаправить вывод команды в текстовый файл, предоставив вам сохраненную версию любых данных, созданных командой в окне командной строки.
Например, допустим, вы собираетесь опубликовать сообщение о проблеме с компьютером на онлайн-форуме и хотите предоставить действительно точную информацию о своем компьютере. Самый простой способ сделать это — использовать команду systeminfo с оператором перенаправления.
Например, вы можете выполнить systeminfo > c:\mycomputerinfo.txt , чтобы сохранить информацию, предоставленную командой systeminfo, в этот файл. Затем вы можете прикрепить файл к своему сообщению на форуме.
Просмотр всей структуры каталогов диска
Одной из самых изящных маленьких команд является команда дерева. С деревом вы можете создать своего рода карту каталогов на любом из дисков вашего компьютера.
Запустите tree из любого каталога, чтобы увидеть структуру папок в этом каталоге.
С таким большим количеством информации, созданной с помощью этой команды, вероятно, будет хорошей идеей экспортировать результаты дерева в файл, чтобы вы могли просмотреть его.
Настройка текста строки заголовка командной строки
Устали от текста строки заголовка Command Prompt ? Нет проблем, просто используйте команду заголовка, чтобы изменить его так, как вам нравится.
Например, предположим, что вас зовут Мария Смит , и вы хотите выразить свое право собственности на командную строку. Выполните это, и строка заголовка немедленно изменится:
title Собственность Марии Смитclass=»ql-syntax»>
Изменение не сохранится, поэтому при следующем открытии командной строки строка заголовка вернется в нормальное состояние.
Команда title обычно используется для придания индивидуального внешнего вида в файлах сценариев и пакетных файлах — не то чтобы озаглавить ее своим именем — плохая идея!
Скопировать текст из командной строки
Копирование из командной строки не так просто, как копирование из других программ, что является одной из причин, почему сохранение вывода команды в файл, о котором вы узнали несколько трюков назад, так удобно.
Однако что, если вы просто хотите скопировать короткий фрагмент текста в буфер обмена? Это не слишком сложно, но и не очень интуитивно:
- Щелкните правой кнопкой мыши в любом месте окна командной строки и выберите Отметить .
- Выделите левой кнопкой мыши то, что хотите скопировать.
- Нажмите Введите или один раз щелкните правой кнопкой мыши.
Теперь вы можете вставлять эту информацию куда угодно, как и любой другой текст.
Если вы выбрали «Отметить», но затем решили, что не хотите ничего копировать, щелкните правой кнопкой мыши еще раз, чтобы отменить действие «Отметить», или нажмите клавишу Esc .
Открыть командную строку из любого места
Если вы когда-либо работали в командной строке очень долго, вы знаете, что может быть очень неприятно выполнять команду cd/chdir снова и снова, чтобы попасть в нужный каталог.
В Windows откройте папку, с которой вы хотите начать работу. Когда вы там, удерживайте Shift , когда вы щелкните правой кнопкой мыши в любом месте папки.
После появления всплывающего меню вы увидите запись, которой обычно там нет: Открыть командное окно здесь . Выберите это, и вы запустите новый экземпляр командной строки, готовый и ожидающий в нужном месте.
Если вы опытный пользователь командной строки, вы сразу оцените ценность этого маленького трюка.
Если вы видите PowerShell в контекстном меню вместо командной строки, внесите небольшое изменение в реестр Windows, чтобы изменить его на командную строку.
Перетаскивание для простого ввода имени пути
Большинство команд командной строки требуют, чтобы вы указали полные пути к файлам или папкам, но ввод длинного пути может разочаровать, особенно если вы пропустили символ и должны начать все сначала.
Например, в Windows 10 путь к группе Accessories в меню «Пуск» — C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Accessories .Кому захочется вводить все это вручную? Мы не знаем.
Просто откройте папку в Проводнике. Оказавшись там, перетащите папку или файл в окно командной строки и отпустите. Как по волшебству, вставляется полный путь, что избавляет вас от значительного объема ввода в зависимости от длины и сложности имени пути.
Функция перетаскивания не работает в командной строке с повышенными привилегиями.
Выключите или перезагрузите другой компьютер
Системные администраторы в бизнес-среде делают это постоянно по многим причинам, но вы также можете выключить или перезагрузить другой компьютер в вашей сети, и все это из командной строки вашего компьютера.
Самый простой способ удаленно выключить компьютер — выполнить shutdown /i из командной строки, чтобы открыть диалоговое окно удаленного выключения, показанное выше.
Просто введите имя удаленного компьютера (которое вы можете получить, выполнив команду hostname на другом ПК), выберите, что вы хотите сделать (перезагрузить или выключить), выберите некоторые другие параметры, а затем выберите OK .
Так что, оттачиваете ли вы свои командные навыки или просто пугаете члена семьи, этот трюк с командной строкой будет забавным.
Вы также можете выключить или перезагрузить другой компьютер строго из командной строки с помощью команды shutdown, не используя диалоговое окно удаленного выключения.
Используйте Robocopy в качестве решения для резервного копирования
Благодаря команде robocopy вам не нужно использовать программное обеспечение для резервного копирования Windows или устанавливать бесплатное программное обеспечение для резервного копирования.
Просто выполните следующее, очевидно, заменив исходную и конечную папки тем, что вы хотите создать резервную копию, и куда это должно быть.
robocopy c:\users\ellen\documents f:\mybackup\documents /copyall /e /r:0 /dcopy:t /mirclass=»ql-syntax»>
Команда robocopy с этими параметрами работает так же, как и программное средство инкрементного резервного копирования, поддерживая синхронизацию обоих местоположений.
У вас нет команды robocopy, если вы используете Windows XP или более раннюю версию. Однако у вас есть команда xcopy, которую можно использовать для чего-то очень похожего:
xcopy c:\users\ellen\documents f:\mybackup\documents /c /d /e /h /i /k /q /r /s /x /yclass=»ql-syntax»>
Независимо от того, какую команду вы решите использовать, просто создайте пакетный файл, содержащий команду, и запланируйте его запуск в планировщике заданий, и вы получите свое собственное решение для резервного копирования.
Просмотр важной сетевой информации вашего компьютера
Может быть, только для вашей собственной информации, но, безусловно, когда вы устраняете проблемы с сетью или Интернетом, вам, вероятно, в какой-то момент потребуется узнать подробности о сетевом подключении вашего компьютера.
Все, что вы хотели бы знать о своем сетевом подключении, доступно где-то в Панели управления в Windows, но гораздо проще найти и гораздо лучше организовать в результатах команды ipconfig.
Откройте командную строку и выполните ipconfig /all .
Далее на экране отображается вся важная информация о вашем сетевом подключении: ваш IP-адрес, имя хоста, DHCP-сервер, информация DNS и многое, многое другое.
Сопоставьте локальную папку так же, как сетевой диск
Команда net use используется для назначения общих дисков в сети вашему собственному компьютеру в качестве буквы диска, но знаете ли вы, что есть еще одна команда, которую можно использовать для того, чтобы сделать то же самое с любой папкой на любом из ваших локальных жестких дисков ? ?
Есть, и она называется командой subst.Просто выполните команду, за которой следует путь к папке, которую вы хотите отобразить как диск.
Например, допустим, вы хотите, чтобы ваша папка C:\Windows\Fonts отображалась как диск Q: . Просто выполните эту команду, и все готово:
subst q: c:\windows\fonts
Этот трюк с командной строкой значительно упрощает доступ к определенному местоположению из командной строки, и папка будет отображаться как диск рядом со всеми вашими реальными жесткими дисками.
Простой способ удалить пример «сетевого диска» — использовать команду subst /d q: .Просто замените q: своей буквой диска.
Доступ к ранее использовавшимся командам с помощью клавиш со стрелками
Еще один отличный трюк с командной строкой использует клавиши со стрелками на клавиатуре для циклического переключения ранее выполненных команд.
Клавиши со стрелками вверх и вниз циклически перебирают введенные вами команды, а стрелка вправо автоматически вводит, символ за символом, последнюю команду, которую вы выполнили.
Это может показаться не таким уж интересным, но есть несколько ситуаций, когда клавиши со стрелками становятся огромными сбережениями времени.
Рассмотрим следующий пример: вы набрали 75 символов команды, а затем попытались выполнить ее, но обнаружили, что забыли добавить опцию в самом конце. Нет проблем, просто нажмите стрелку вверх, и вся команда будет автоматически введена в окно командной строки, готовая для редактирования, чтобы заставить ее работать.
Автоматически завершать команды с автодополнением табуляции
Завершение с помощью табуляции — это еще один трюк с командной строкой, который может сэкономить вам много времени, особенно если в вашей команде есть имя файла или папки, в котором вы не совсем уверены.
Чтобы использовать завершение табуляции в командной строке, просто введите команду, а затем часть пути, который вы знаете, если вообще знаете. Затем нажимайте клавишу Tab снова и снова, чтобы просмотреть все доступные возможности.
Например, предположим, что вы хотите изменить каталог на какую-то папку в каталоге Windows , но вы не знаете, как она называется. Введите cd c:\windows\ и нажимайте Tab, пока не увидите нужную папку.
Результаты циклически повторяются по порядку, или вы можете использовать Shift+Tab для просмотра результатов в обратном порядке.
Вы знаете, как приложение для обмена текстовыми сообщениями на вашем смартфоне автоматически угадывает, что вы хотите напечатать дальше? Завершение табуляции в командной строке похоже на это, только лучше.
Найти IP-адрес веб-сайта
Хотите узнать IP-адрес любого веб-сайта? Используйте команду nslookup или команду ping, но первая, вероятно, быстрее.
Во-первых, воспользуемся командой nslookup, чтобы найти IP-адрес lifewire.ком.
Просто выполните nslookup lifewire.com и просмотрите результат. Не путайте частные IP-адреса, которые также отображаются в результатах nslookup вместе с общедоступным IP-адресом lifewire.com , который нам нужен.
Теперь давайте попробуем найти его с помощью команды ping.
Выполните ping lifewire.com , а затем посмотрите на IP-адрес в скобках в первой показанной строке. Не беспокойтесь, если время ожидания команды ping истекло во время выполнения; все, что нам нужно здесь, это IP-адрес.
Вы можете использовать ту же процедуру с любым веб-сайтом или любым именем хоста в вашей локальной сети.
Упрощенное копирование и вставка в режиме QuickEdit
Некоторые из этих приемов командной строки касались упрощения копирования и вставки. Итак, как насчет еще более простого способа копирования из командной строки (и секретного способа простой вставки)?
Просто щелкните правой кнопкой мыши строку заголовка командной строки и выберите Properties . На вкладке Options в разделе Edit Options установите флажок QuickEdit Mode и выберите OK .
Включение режима QuickEdit похоже на постоянное включение Mark , поэтому выбор текста для копирования очень прост.
В качестве бонуса это также обеспечивает простой способ вставки в командную строку: просто щелкните правой кнопкой мыши один раз, и все, что у вас есть в буфере обмена, будет вставлено в окно командной строки. Обычно вставка включает в себя щелчок правой кнопкой мыши и выбор Вставить , так что это немного отличается от того, к чему вы привыкли.
Смотреть Эпизод IV Звездных войн
Да, вы правильно прочитали, вы можете посмотреть ASCII-версию полного фильма «Звездные войны. Эпизод IV» прямо в окне командной строки !
Просто откройте командную строку и выполните это:
телнет полотенце.blinkenlights.nl
Фильм начнется немедленно. Ознакомьтесь с советом ниже, если это не сработает.
Правда, это не очень продуктивное использование командной строки, и это не уловка командной строки или любой другой команды, но это, безусловно, весело! Мы не можем себе представить, сколько труда было вложено в эту дань уважения научно-фантастическому шедевру.
Команда Telnet не включена по умолчанию, поэтому, если вы хотите использовать клиент Telnet в Windows, вам необходимо включить его из панели управления..
Спасибо, что сообщили нам!
Расскажите нам, почему!
Другой Недостаточно подробностей Сложно понятьЧто такое коды командной строки?
Быстрый поиск в Интернете кодов командной строки дает всевозможные результаты… большинство из них совершенно разных.
Почему вся путаница с кодами командной строки? Нет ли где-нибудь надежного списка кодов командной строки, на который можно посмотреть?
Что такое коды командной строки?
Дело в том, что нет точного списка «Коды командной строки», потому что не существует такого понятия, как код командной строки.
См. важные разъяснения в разделе «Коды команд подсказки » в конце этой статьи!
По какой-то причине некоторые пользователи компьютеров (и те, кто должен знать лучше) неправильно понимают, что инструменты и исполняемые файлы, доступные из командной строки в Windows, называются «кодами». Они не.
Термин код в компьютерном мире обычно относится к исходному коду , который является текстом, используемым в языке программирования.
На самом деле вы ищете какую-то команду. Команда — это инструкция, данная вашему компьютеру, а не код, который нужно каким-либо образом расшифровать.
Ниже приведена некоторая помощь в определении того, что вы действительно ищете, если вы пришли сюда в поисках кодов командной строки:
Команды командной строки
Команды командной строки — это программы на основе командной строки, которые выполняют различные функции, такие как отображение списков файлов, устранение неполадок сетевых подключений, форматирование дисков и т. д.
Большинство людей, которые ищут коды командной строки, вероятно, действительно ищут команды командной строки.
Команды запуска
Команды запуска — это исполняемые файлы программ, которые вы используете в Windows. Другими словами, команда запуска — это имя файла, запускающего программу.
Например, команда запуска для Internet Explorer — iexplore .
Коды подсказок команд
Одной из многих команд, доступных в командной строке, является команда prompt.Команда приглашения используется для изменения внешнего вида и поведения фактического текста приглашения, которое предшествует вводу команд в окне командной строки.
Многие параметры настройки, доступные для команды подсказки, иногда называются кодами , а при обсуждении вне контекста команды подсказки их иногда называют кодами командной строки , хотя более точно они называются кодами команд подсказки. .
Итак, если вы действительно ищете коды, доступные для команды приглашения, откройте командную строку и выполните приглашение /? , чтобы увидеть их отображение.
Спасибо, что сообщили нам!
Расскажите нам, почему!
Другой Недостаточно подробностей Сложно понятьШпаргалка по командам Windows CMD
Иногда вы можете забыть команды cmd в Windows и сохранить их на своем компьютере или на листе бумаги в качестве шпаргалки — это хорошая практика. Этот список не является полным, но содержит наиболее часто используемые команды. Не стесняйтесь добавлять свои наиболее часто используемые команды в комментарии ниже и делиться списком.
Облачные серверыIntel Xeon Gold 6254 ЦП 3,1 ГГц, SLA 99,9%, канал 100 Мбит/с от $5/месяцПопробовать
Управление файлами и папками
- COPY — Копирует файлы в другое место
- DIR — Отображает файлы и папки в текущем каталоге
- DEL или ERASE — Удаляет файлы
- РЕДАКТИРОВАТЬ — Запускает редактор файлов
- CD — Каталог изменений
- EXPAND — Распаковывает сжатые файлы
- FC — Сравнивает файлы и показывает различия между ними
- НАЙТИ — Находит текстовую строку в файле
- MD или MAKEDIR — Создает папку
- MOVE — Перемещает файлы из одной папки в другую
- ПЕЧАТЬ — Распечатывает содержимое текстового файла
- RD или RMDIR — Удаляет папку
- REN или RENAME — переименовывает файл или папку
- REPLACE — Заменяет файлы в одном каталоге файлами с тем же именем в другом каталоге (перезапись)
- ROBOCOPY — использует расширенный инструмент для копирования файлов и каталогов
- ДЕРЕВО — Показывает структуру каталогов диска или папки
- ТИП — Отображает содержимое текстовых файлов
- OPENFILES — Управляет открытыми локальными или сетевыми файлами
- XCOPY — Копирует файлы и деревья каталогов
Приложения и процессы
- SCHTASKS — Выполняет команду или запускает запланированное приложение (Планировщик заданий)
- ВЫКЛЮЧЕНИЕ — выключает или перезагружает компьютер
- TASKLIST — список выполняемых задач
- TASKKILL — Останавливает или останавливает задачу (чтобы остановить задачу, вы используете PID, который вы можете узнать из TASKLIST)
- REG — Запускает редактор реестра
- RUNAS — Запускает задачу от имени другого пользователя
Управление дисками
- CHKDISK — Проверяет диск и показывает статистику
- DEFRAG — Запускает дефрагментацию диска
- CHKNTFS — отображает или изменяет выполнение проверки диска при загрузке
- COMPACT — Отображает и изменяет сжатие файлов в разделах NTFS
- CONVERT — Преобразует том диска FAT в NTFS
- DISKPART — Отображает и настраивает свойства раздела диска
- ФОРМАТ — Форматирует диск
- FSUTIL — Отображает и настраивает свойства файловой системы
- LABEL — Создает, изменяет или удаляет метку тома диска
- RECOVER — Восстанавливает данные с плохого или поврежденного диска
- VOL — Отображает метку тома и серийный номер диска
Информация о системе
- ДАТА — Выводит или устанавливает текущую дату
- ВРЕМЯ — Отображает или устанавливает системное время
- DRIVERQUERY — Отображает текущее состояние и свойства драйвера устройства
- HOSTNAME — Отображает имя компьютера
- SYSTEMINFO — показывает информацию о конфигурации вашего компьютера
- VER — позволяет просматривать версию Windows
- GPRESULT — Отображает текущие примененные групповые политики (RSoP)
- GPUPDATE — Обновления групповых политик
Сеть
- IPCONFIG — Показывает информацию о сетевых интерфейсах
- PING — отправляет запросы ICMP на целевой хост, проверяет доступность хоста
- TRACERT — Находит путь для пакетов, проходящих по сети
- NSLOOKUP — Находит IP-адрес по имени ресурса
- МАРШРУТ — Отображает таблицы сетевых маршрутов
- ARP — показывает таблицу с IP-адресами, преобразованными в физические адреса
- NETSH — Запускает программу управления сетевыми настройками
- GETMAC — показывает MAC-адрес сетевого адаптера
- TFTP — Запускает TFTP-клиент в консоли
Настройка командной строки
- CLS — очищает экран
- CMD — отображает другую командную строку
- ЦВЕТ — Устанавливает цвет текста и фона
- PROMPT — Изменяет приглашение командной строки
- НАЗВАНИЕ — Присваивает название для текущего сеанса
- ПОМОЩЬ — Запускает справку CMD
- ВЫХОД — Выход из командной строки
19703 Клеймонт 2093 Филадельфия Пайк #2345, США
+1 302 498-83-59 700 300 ITGLOBAL.КОМ КОРП19703 Клеймонт 2093 Филадельфия Пайк #2345, США
+1 302 498-83-59 700 300 ИТГЛОБАЛ.КОМ КОРП 700 300Команда командной строки MS-DOS и Windows cmd
Обновлено: 30 декабря 2021 г., автор: Computer Hope
Файл command.com ( CMD в более поздних версиях Windows) — это интерпретатор команд для MS-DOS, необходимый для работы операционных систем Microsoft.Без command.com компьютер с операционной системой Microsoft не смог бы загрузиться.
При работе с Windows NT, 2000, XP, Vista, 7, 8 и 10 существует две версии командного интерпретатора: command.com и cmd.exe . Cmd предлагает дополнительные переменные среды, чем command.com; однако мы рекомендуем, если вы пытаетесь запустить утилиту MS-DOS, использовать команду command.com. Чтобы использовать command.com, нажмите «Пуск», «Выполнить» и введите команду .
Наличие
Command или command.com — это интерпретатор команд, и в ранних версиях Windows и MS-DOS вы не сможете использовать компьютер без этого файла. Этот файл доступен во всех версиях Microsoft Windows, а более поздние версии Windows используют его для доступа к оболочке MS-DOS.
CMD или CMD.EXE — это оболочка командной строки, представленная в Windows NT и доступная для всех следующих версий Microsoft Windows.
Синтаксис
Синтаксис «cmd» для Windows 2000, XP, Vista, 7, 8 и 10
Запускает новый экземпляр интерпретатора команд Windows 2000 или Windows XP.
CMD[/A | /U] [/Q] [/D] [/E:ON | /E:ВЫКЛ] [/F:ВКЛ | /F:ВЫКЛ] [/В:ВКЛ | /V:ВЫКЛ] [[/S] [/C | /K] строка]
/С | Выполняет команду, указанную строкой, а затем завершает работу. |
/К | Выполняет команду, указанную строкой, но остается. |
/S | Изменяет обработку строки после /C или /K (см. ниже). |
/ Q | Отключает эхо. |
/Д | Отключить выполнение команд автозапуска из реестра (см. ниже). |
/А | Заставляет вывод внутренних команд в канал или файл быть ANSI. |
/У | Заставляет вывод внутренних команд в канал или файл быть Unicode. |
/Т:фг | Устанавливает цвета переднего плана/фона (дополнительную информацию см. в разделе ЦВЕТ /?). |
/Э:ОН | Включить расширения команд (см. ниже). |
/E:ВЫКЛ | Отключить расширения команд (см. ниже). |
/Ф:ВКЛ | Включить символы завершения имени файла и каталога (см. ниже). |
/F:ВЫКЛ | Отключить символы завершения имени файла и каталога (см. ниже). |
/В:ОН | Включить отложенное раскрытие переменной среды, используя c в качестве разделителя. Например, /V:ON позволит использовать !var! чтобы расширить переменную var во время выполнения. Синтаксис var расширяет переменные во время ввода, что совсем другое, когда внутри цикла FOR. |
/В:ВЫКЛ | Отключить отложенное расширение среды. |
Обратите внимание, что несколько команд, разделенных разделителем команд ‘&&’, принимаются для строки, если она заключена в кавычки. Кроме того, по соображениям совместимости /X совпадает с /E:ON, /Y совпадает с /E:OFF и /R совпадает с /C. Любые другие переключатели игнорируются.
Если указано /C или /K, оставшаяся часть командной строки после переключения обрабатывается как командная строка, где для обработки символов кавычек («) используется следующая логика:
1.| символы.
2. В противном случае старое поведение заключается в проверке, является ли первый символ символом кавычек. Если это так, удалите начальный символ и удалите последний символ кавычки в командной строке, сохранив любой текст после последнего символа кавычки.
Если параметр /D НЕ был указан в командной строке, то при вводе CMD.EXE запускается, он ищет следующие переменные реестра REG_SZ/REG_EXPAND_SZ, и если одна или обе присутствуют, они выполняются в первую очередь.
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\AutoRun
или
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\AutoRun
Расширения команд включены по умолчанию. Вы также можете отключить расширения для конкретного вызова с помощью переключателя /E:OFF. Вы можете включить или отключить расширения для всех вызовов CMD.EXE, установив для одного или обоих следующих значений REG_DWORD значение 0x1 или 0x0 в реестре с помощью REGEDT32.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\EnableExtensions
или
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\EnableExtensions
Пользовательские настройки имеют приоритет над настройками машины. Переключатели командной строки имеют приоритет над параметрами реестра.
Расширения команд включают изменения или дополнения к следующим командам.
Чтобы получить конкретные сведения, введите
Отложенное раскрытие переменной среды НЕ включено по умолчанию. Вы можете включить или отключить отложенное раскрытие переменных среды для конкретного вызова CMD.EXE с помощью переключателя /V:ON или /V:OFF. Чтобы включить или отключить завершение для всех вызовов CMD.EXE, задайте для одного или обоих следующих значений REG_DWORD значение 0x1 или 0x0 в реестре с помощью REGEDT32.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\DelayedExpansion
или
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\DelayedExpansion
Пользовательские настройки имеют приоритет над настройками машины. Переключатели командной строки имеют приоритет над параметрами реестра.
Если включено отложенное раскрытие переменной среды, восклицательный знак может заменить значение переменной среды во время выполнения.
Автодополнение имен файлов и каталогов НЕ включено по умолчанию. Вы можете включить или отключить завершение имени файла для конкретного вызова CMD.EXE с помощью переключателя /F:ON или /F:OFF. Чтобы включить или отключить завершение для всех вызовов CMD.EXE на компьютере или в сеансе входа пользователя, задайте одно или оба из следующих значений REG_DWORD в реестре с помощью REGEDT32.EXE:
HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\CompletionChar HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor\PathCompletionChar
или
HKEY_CURRENT_USER\Software\Microsoft\Command Processor\CompletionChar HKEY_CURRENT_USER\Software\Microsoft\Command Processor\PathCompletionChar
с шестнадцатеричным значением управляющего символа, используемого для конкретной функции (например,например, 0x4 — это Ctrl+D, а 0x6 — это Ctrl+F). Пользовательские настройки имеют приоритет над настройками машины. Переключатели командной строки имеют приоритет над параметрами реестра.
Если завершение включено с помощью переключателя /F:ON, используются два управляющих символа: Ctrl+D для завершения имени каталога и Ctrl+F для завершения имени файла. Чтобы отключить определенный символ завершения в реестре, используйте значение пробела (0x20), так как это недопустимый управляющий символ.
Завершение вызывается при вводе любого из двух управляющих символов.Функция завершения добавляет подстановочный знак слева от курсора, если его нет, и создает список совпадающих путей. Затем он отображает первый соответствующий путь. Если пути не совпадают, он издает звуковой сигнал и оставляет дисплей в покое. После этого повторное нажатие одного и того же управляющего символа будет циклически перебирать список совпадающих путей. Нажатие клавиши Shift с управляющим символом позволяет перемещаться по списку назад. Если вы каким-либо образом отредактируете строку и снова нажмете управляющий символ, сохраненный список совпадающих путей отбрасывается и создается новый.То же самое происходит, если вы переключаетесь между завершением имени файла и каталога. Разница между двумя управляющими символами заключается в том, что символ завершения файла соответствует именам как файла, так и каталога, а символ завершения каталога соответствует только именам каталогов. Если завершение файла используется для любой из встроенных команд каталога (CD, MD или RD), то предполагается завершение каталога.
Код завершения корректно работает с именами файлов, содержащими пробелы или другие специальные символы, заключая соответствующий путь в кавычки.=;!’+,`~
Ранний синтаксис «команды» Windows
Запускает новую копию интерпретатора команд Windows.
КОМАНДА [[диск:] путь] [устройство] [/E:nnnnn] [/L:nnnn] [/U:nnn] [/P] [/MSG] [/LOW] [/Y [/C|K] ] команда]
[диск:]путь | Указывает каталог, содержащий COMMAND.COM. |
устройство | Указывает устройство, которое будет использоваться для ввода и вывода команд. |
/Э:ннннн | Устанавливает исходный размер среды в nnnnn байт.(nnnnn должно быть между 256 и 32 768). |
/Л:nnnn | Указывает длину внутренних буферов (также требуется параметр /P). (nnnn должно быть между 128 и 1024). |
/U:nnn | Указывает длину входного буфера (также требуется параметр /P). (nnn должно быть между 128 и 255). |
/P | Делает новый интерпретатор команд постоянным (нельзя выйти). |
/МСГ | Сохраняет все сообщения об ошибках в памяти (также требуется /P). |
/ НИЗКИЙ | Принуждает COMMAND хранить резидентные данные в малой памяти. |
/Y | Пошаговое выполнение пакетной программы, указанной параметром /C или /K. Доступно только в MS-DOS 6.x и выше. |
/C команда | Выполняет указанную команду и возвращает значение. |
/К команда | Выполняет указанную команду и продолжает работу. |
/Z | Показать уровень ошибок каждой выполненной команды.Доступно только в MS-DOS 7.x и выше. |
Примеры
команда
В этом примере открывается командная оболочка cmd. Если вы уже были в командной оболочке и запустили команду «cmd» или «command» в командной строке, откроется новая командная строка Windows. Набрав «exit», вы выйдете из новой командной строки и вернетесь к исходной командной строке.
Справочник по Dockerfile | Docker Documentation
Расчетное время чтения: 81 минута
Docker может автоматически создавать образы, читая инструкции из Докерфайл
. Dockerfile
— это текстовый документ, содержащий все команды,
пользователь может вызвать командную строку для сборки образа. Использование сборки докера
пользователи могут создать автоматизированную сборку, которая выполняет несколько
инструкции подряд.
На этой странице описаны команды, которые можно использовать в файле Dockerfile
. Когда вы
Закончив читать эту страницу, обратитесь к Dockerfile
Best
Практики для руководства, ориентированного на чаевые.
Применение
Команда сборки docker создает образ из Dockerfile
и контекст .Контекст сборки — это набор файлов в
указанное местоположение PATH
или URL
. PATH
— это каталог на вашем локальном
файловая система. URL-адрес
— это расположение репозитория Git.
Контекст сборки обрабатывается рекурсивно. Итак, PATH
включает любые подкаталоги
а URL-адрес
включает репозиторий и его подмодули. Этот пример показывает
команда сборки, которая использует текущий каталог ( .
) в качестве контекста сборки:
$ сборка докера .Отправка контекста сборки демону Docker 6,51 МБ
...
Сборка выполняется демоном Docker, а не интерфейсом командной строки. Первое, что нужно построить Процесс отправляет весь контекст (рекурсивно) демону. В большинстве случаях лучше всего начать с пустого каталога в качестве контекста и сохранить Dockerfile в этом каталоге. Добавляйте только те файлы, которые необходимы для сборки Докерфайл.
Предупреждение
Не используйте корневой каталог
/
в качествеPATH
для контекста сборки, т.к. это заставляет сборку передавать все содержимое вашего жесткого диска на Докер-демон.
Чтобы использовать файл в контексте сборки, Dockerfile
ссылается на указанный файл
в инструкции, например, инструкция COPY
. Для увеличения сборки
производительности, исключите файлы и каталоги, добавив файл .dockerignore
в
каталог контекста. Для получения информации о том, как создать .dockerignore
файл смотрите документацию на этой странице.
Традиционно файл Dockerfile
называется Dockerfile
и находится в корне
контекста.Вы используете флаг -f
с docker build
, чтобы указать на Dockerfile
в любом месте вашей файловой системы.
$ docker build -f /path/to/a/Dockerfile .
Вы можете указать репозиторий и тег для сохранения нового образа, если сборка прошла успешно:
$ docker build -t shykes/myapp .
Чтобы пометить образ в несколько репозиториев после сборки,
добавить несколько параметров -t
при запуске команды build
:
$ docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .
Прежде чем демон Docker выполнит инструкции в файле Dockerfile
, он выполняет
предварительная проверка Dockerfile
и возвращает ошибку, если синтаксис неверен:
$ docker build -t test/myapp .
[+] Здание 0.3s (2/2) ЗАВЕРШЕНО
=> [внутреннее] загрузить определение сборки из Dockerfile 0.1s
=> => передача dockerfile: 60B 0.0 с
=> [внутренняя] загрузка .dockerignore 0,1 с
=> => передача контекста: 2B 0.0s
ошибка: не удалось решить: ошибка rpc: код = неизвестное описание = не удалось решить с помощью внешнего интерфейса dockerfile.v0: не удалось создать определение LLB:
строка ошибки синтаксического анализа dockerfile 2: неизвестная инструкция: RUNCMD
Демон Docker выполняет инструкции в файле Dockerfile
одну за другой,
фиксация результата каждой инструкции
на новое изображение, если это необходимо, прежде чем окончательно вывести идентификатор вашего
новое изображение.Демон Docker автоматически очистит контекст, который вы
послал.
Обратите внимание, что каждая инструкция запускается независимо и приводит к созданию нового образа.
быть созданным — поэтому RUN cd /tmp
не окажет никакого влияния на следующий
инструкции.
Когда это возможно, Docker использует кэш сборки для ускорения сборки докера
процесс значительно. На это указывает сообщение CACHED
в консоли.
вывод. (Дополнительную информацию см. в руководстве по передовым практикам Dockerfile
:
$ docker build -t svendowideit/ambassador .[+] Здание 0.7с (6/6) ЗАВЕРШЕНО
=> [внутреннее] загрузить определение сборки из Dockerfile 0.1s
=> => передача dockerfile: 286B 0.0s
=> [внутренняя] загрузка .dockerignore 0,1 с
=> => передача контекста: 2B 0.0s
=> [внутренняя] загрузка метаданных для docker.io/library/alpine:3.2 0.4s
=> КЭШИРОВАНО [1/2] ИЗ docker.io/library/alpine:3.2@sha256:e9a2035f9d0d7ce 0,0 с
=> CACHED [2/2] RUN apk add --no-cache socat 0.0s
=> экспорт в изображение 0.0 с
=> => экспорт слоев 0.0s
=> => запись изображения sha256:1affb80ca37018ac12067fa2af38cc5bcc2a8f09963de 0.0s
=> => именование в docker.io/svendowideit/ambassador 0.0s
По умолчанию кэш сборки основан на результатах предыдущих сборок на машине.
на котором вы строите.Параметр --cache-from
также позволяет использовать
build-cache, который распространяется через реестр образов, см.
указание внешних источников кэша
раздел в справочнике по командам docker build
.
Когда вы закончите свою сборку, вы готовы сканировать свой образ с помощью docker scan
,
и отправив образ в Docker Hub.
Сборочный комплект
Начиная с версии 18.09, Docker поддерживает новый бэкэнд для выполнения ваших сборки, предоставляемые moby/buildkit проект.Серверная часть BuildKit предоставляет множество преимуществ по сравнению со старым выполнение. Например, BuildKit может:
- Обнаружение и пропуск выполнения неиспользуемых этапов сборки
- Параллельное построение независимых этапов сборки
- Инкрементно передавать только измененные файлы в контексте сборки между сборками
- Обнаружение и пропуск передачи неиспользуемых файлов в контексте сборки
- Используйте внешние реализации Dockerfile со многими новыми функциями
- Избегайте побочных эффектов с остальной частью API (промежуточные изображения и контейнеры)
- Установите приоритет кэша сборки для автоматического сокращения
Чтобы использовать серверную часть BuildKit, необходимо установить переменную среды DOCKER_BUILDKIT=1
в интерфейсе командной строки перед вызовом сборки докера
.
Чтобы узнать об экспериментальном синтаксисе Dockerfile, доступном для BuildKit. сборки относятся к документации в репозитории BuildKit.
Формат
Вот формат Dockerfile
:
# Комментарий
ИНСТРУКЦИЯ аргументы
Инструкция не чувствительна к регистру. Однако по соглашению они должны НАПИСАТЬ ЗАГЛАВНЫМИ буквами, чтобы их было легче отличить от аргументов.
Docker выполняет инструкции в файле Dockerfile
по порядку.Докерфайл
должен
начните с инструкции FROM
. Это может быть после парсера
директивы, комментарии и глобальные
ARG. Инструкция FROM
указывает родительский элемент .
Изображение , из которого вы
строительство. FROM
может предшествовать только одна или несколько инструкций ARG
, которые
объявить аргументы, которые используются в строках FROM
в файле Dockerfile
.
Docker рассматривает строки, которые начинаются с с #
, как комментарий, если только эта строка не
допустимая директива парсера.Маркер #
в любом месте
else в строке рассматривается как аргумент. Это позволяет использовать такие утверждения, как:
# Комментарий
RUN echo 'мы запускаем # крутых вещей'
Строки комментариев удаляются перед выполнением инструкций Dockerfile, что
означает, что комментарий в следующем примере не обрабатывается оболочкой
выполнение команды echo
, и оба приведенных ниже примера эквивалентны:
ПУСК эхо-привет \
# комментарий
Мир
Символы продолжения строки в комментариях не поддерживаются.
Примечание о пробелах
Для обратной совместимости пробелы перед комментариями (
#
) и инструкции (например,RUN
) игнорируются, но не рекомендуются. Ведущий пробел в этих случаях не сохраняется, и поэтому следующие примеры эквивалент:# это строка комментария БЕГИ эхо привет БЕГИ мир эха
# это строка комментария БЕГИ эхо привет БЕГИ мир эха
Однако обратите внимание, что пробелы в аргументах инструкции , таких как команды после
RUN
сохраняются, поэтому следующий пример печатает `hello world` с начальным пробелом, как указано:ВЫПОЛНИТЬ эхо "\ Привет\ Мир"
Директивы парсера
Директивы Parser являются необязательными и влияют на то, как последующие строки
в Dockerfile
обрабатываются.Директивы парсера не добавляют слои в сборку,
и не будет отображаться как шаг сборки. Директивы парсера записываются как
специальный тип комментария в виде # директива=значение
. Единая директива
можно использовать только один раз.
После обработки комментария, пустой строки или инструкции построителя Docker
больше не ищет директивы парсера. Вместо этого он обрабатывает все, что отформатировано
в качестве директивы синтаксического анализатора в качестве комментария и не пытается проверить, может ли он
быть директивой парсера.Поэтому все директивы парсера должны быть в самом начале.
верхняя часть Dockerfile
.
Директивы парсера не чувствительны к регистру. Однако по соглашению они должны быть в нижнем регистре. По соглашению также следует включать пустую строку после любого директивы парсера. Символы продолжения строки не поддерживаются парсером директивы.
Из-за этих правил следующие примеры недействительны:
Недействительно из-за продолжения строки:
Недействительно из-за двойного появления:
# директива=значение1
# директива=значение2
ИЗ ИмяИзображения
Рассматривается как комментарий из-за появления после инструкции компоновщика:
ИЗ ImageName
# директива=значение
Рассматривается как комментарий из-за появления после комментария, который не является синтаксическим анализатором директива:
# О моем файле докеров
# директива=значение
ИЗ ИмяИзображения
Неизвестная директива рассматривается как комментарий из-за того, что она не распознана.В Кроме того, известная директива рассматривается как комментарий из-за появления после комментарий, который не является директивой парсера.
# unknowndirective=значение
# известнаядиректива=значение
В директиве синтаксического анализатора разрешены неразрывные пробелы. Следовательно следующие строки обрабатываются одинаково:
#директива=значение
# директива =значение
# директива = значение
# директива = значение
# dIrEcTiVe=значение
Поддерживаются следующие директивы парсера:
синтаксис
# синтаксис=[удаленная ссылка на изображение]
Например:
# синтаксис = докер/докерфайл: 1
# синтаксис=докер.ио/докер/докерфайл: 1
# синтаксис=example.com/user/repo:tag@sha256:abcdef...
Эта функция доступна только при использовании бэкенда BuildKit и игнорируется при использовании классического бэкенда компоновщика.
Директива синтаксиса определяет расположение используемого синтаксиса Dockerfile. для создания Dockerfile. Серверная часть BuildKit позволяет беспрепятственно использовать внешние реализации, которые распространяются как образы Docker и выполняются внутри Контейнерная песочница.
Пользовательские реализации Dockerfile позволяют:
- Автоматически получать исправления без обновления демона Docker
- Убедитесь, что все пользователи используют одну и ту же реализацию для создания Dockerfile .
- Используйте новейшие функции без обновления демона Docker
- Попробуйте новые функции или сторонние функции, прежде чем они будут интегрированы в демон Docker
- Используйте альтернативные определения сборки или создайте собственное
Официальные релизы
Docker распространяет официальные версии образов, которые можно использовать для сборки
Dockerfiles в репозитории docker/dockerfile
на Docker Hub.Есть два
каналы, по которым выпускаются новые образы: стабильный
и лабораторный
.
Стабильный канал соответствует семантическому управлению версиями. Например:
-
docker/dockerfile:1
— постоянно обновляется с помощью последних обновлений1.x.x
младших выпусков исправлений и . -
docker/dockerfile:1.2
— поддерживается последним выпуском исправлений1.2.x
, и прекращает получать обновления после выпуска версии1.3.0
. -
docker/dockerfile:1.2.1
— неизменяемый: никогда не обновлялся
Мы рекомендуем использовать docker/dockerfile:1
, который всегда указывает на последнюю стабильную версию.
выпуск синтаксиса версии 1 и получение как «второстепенных», так и «исправлений» обновлений
для цикла выпуска версии 1. BuildKit автоматически проверяет наличие обновлений
синтаксис при выполнении сборки, убедившись, что вы используете самую последнюю версию.
Если используется определенная версия, например 1.2
или 1.2.1
файл Dockerfile должен
обновляться вручную, чтобы продолжать получать исправления и новые функции. Старые версии
Dockerfile остаются совместимыми с новыми версиями сборщика.
лабораторный канал
Канал «labs» предоставляет ранний доступ к функциям Dockerfile, которые еще не
доступны в стабильном канале. Изображения канала Labs выпускаются одновременно
со стабильными выпусками и следуйте той же версии с суффиксом -labs
,
например:
-
docker/dockerfile:labs
— последний выпуск на канале labs -
docker/dockerfile:1-labs
— то же, что иdockerfile:1
в стабильном канале, с включенными лабораторными функциями -
докер/докерфайл:1.2-labs
— то же, что иdockerfile:1.2
в стабильном канале, с включенными функциями лабораторий -
docker/dockerfile:1.2.1-labs
— неизменяемый: никогда не обновлялся. То же, что иdockerfile:1.2.1
в стабильном канале, с включенными лабораторными функциями
Выберите канал, который лучше всего соответствует вашим потребностям; если вы хотите извлечь выгоду из
новые функции, используйте канал labs. Изображения в канале labs предоставляют расширенный набор
особенностей стабильного канала; обратите внимание, что стабильная версия
работает в лабораториях
изображения каналов следуют семантическому управлению версиями, но «лаборатории»
функций нет, а более новые версии могут быть несовместимы с предыдущими версиями, поэтому
рекомендуется использовать неизменяемый вариант полной версии.
Для получения документации по «лабораторным» функциям, мастер-сборкам и ночным выпускам функций, обратитесь к описанию в исходном репозитории BuildKit на GitHub. Полный список доступных образов см. в репозитории образов на Docker Hub, и репозиторий образов docker/dockerfile-upstream для развивающих сборок.
побег
или
Директива escape
задает символ, используемый для экранирования символов в Докерфайл
. Если не указано, escape-символом по умолчанию является \
.
Экранирующий символ используется как для экранирования символов в строке, так и для
экранировать новую строку. Это позволяет инструкции Dockerfile
выполнять
охватывать несколько строк. Обратите внимание, что независимо от того, экранирует ли синтаксический анализатор
директива включена в Dockerfile
, экранирование не выполняется в
команда RUN
, за исключением конца строки.
Установка escape-символа на `
особенно полезна на Windows
, где \
— разделитель пути к каталогу. `
соответствует
с Windows PowerShell.
Рассмотрим следующий пример, который неочевидным образом завершится ошибкой на Windows
. Второй \
в конце второй строки будет интерпретирован как
escape для новой строки вместо цели выхода из первого \
.
Точно так же \
в конце третьей строки, если предположить, что это на самом деле
обрабатывается как инструкция, потому что она рассматривается как продолжение строки.Результат
этого dockerfile заключается в том, что вторая и третья строки считаются одним
инструкция:
ОТ Майкрософт/наносервер
КОПИРОВАТЬ testfile.txt c:\\
ВЫПОЛНИТЬ каталог c:\
Результат:
PS E:\myproject> docker build -t cmd .
Отправка контекста сборки демону Docker 3,072 КБ
Шаг 1/2: ОТ Microsoft/nanoserver
---> 22738ff49c6d
Шаг 2/2: КОПИРОВАТЬ testfile.txt c:\RUN dir c:
GetFileAttributesEx c:RUN: система не может найти указанный файл.PS E:\мой проект>
Одним из решений вышеизложенного может быть использование /
в качестве цели как для , так и для
.
инструкция, и дир
. Однако этот синтаксис в лучшем случае сбивает с толку, поскольку он не
естественно для путей на Windows
и, в худшем случае, подвержено ошибкам, так как не все команды на Windows
поддерживает /
в качестве разделителя пути.
При добавлении директивы синтаксического анализатора escape
следующий файл Dockerfile
успешно выполняется как
ожидается при использовании естественной семантики платформы для путей к файлам в Windows
:
# escape=`
ОТ майкрософт/наносервер
КОПИРОВАТЬ тестовый файл.тхт с:\
ВЫПОЛНИТЬ каталог c:\
Результат:
PS E:\myproject> docker build -t завершается успешно --no-cache=true .
Отправка контекста сборки демону Docker 3,072 КБ
Шаг 1/3: ОТ Microsoft/nanoserver
---> 22738ff49c6d
Шаг 2/3: КОПИРОВАТЬ testfile.txt c:\
---> 96655de338de
Снятие промежуточного контейнера 4db9acbb1682
Шаг 3/3: ЗАПУСТИТЬ каталог c:\
---> Запуск в a2c157f842f5
Том на диске C не имеет метки.
Серийный номер тома: 7E6D-E0F7.
Каталог c:\
05.10.2016 17:04 1894 Лицензия.текст
05.10.2016 14:22 Program Files
05.10.2016 14:14 Program Files (x86)
28.10.2016 11:18 62 testfile.txt
28.10.2016 11:20 Пользователи
28.10.2016 11:20 <КАТАЛОГ> Windows
2 файла(ов) 1956 байт
4 Dir(s) 21 259 096 064 байта свободно
---> 01c7f3bef04f
Снятие промежуточного контейнера a2c157f842f5
Успешно построен 01c7f3bef04f
PS E:\мой проект>
Замена окружающей среды
Переменные среды (объявленные в операторе ENV
) также могут быть
используются в некоторых инструкциях как переменные, которые должны интерпретироваться Докерфайл
.Экранирование также обрабатывается для включения синтаксиса, подобного переменной.
в заявление буквально.
Переменные среды обозначаются в файле Dockerfile
либо с $имя_переменной
или ${имя_переменной}
. К ним относятся одинаково, и
синтаксис скобок обычно используется для решения проблем с именами переменных без
пробел, например ${foo}_bar
.
Синтаксис ${variable_name}
также поддерживает некоторые из стандартных bash
модификаторы, как указано ниже:
-
${variable:-word}
указывает, что если установлена переменная -
${переменная:+слово}
указывает, что если установлена переменнаяслово
будет результат, иначе результатом будет пустая строка.
Во всех случаях слово
может быть любой строкой, включая дополнительное окружение
переменные.
Экранирование возможно путем добавления \
перед переменной: \$foo
или \${foo}
,
например, будет преобразовано в литералы $foo
и ${foo}
соответственно.
Пример (разобранное представление отображается после #
):
ОТ Busybox
ENV FOO=/бар
РАБОЧИЙКАТАЛОГ ${FOO} # РАБОЧИЙКАТАЛОГ /bar
ДОБАВЛЯТЬ . $FOO # ДОБАВИТЬ . /бар
КОПИРОВАТЬ \$FOO /quux # КОПИРОВАТЬ $FOO /quux
Переменные среды поддерживаются следующим списком инструкций в Dockerfile
:
-
ДОБАВИТЬ
-
КОПИЯ
-
ENV
-
ЭКСПОЗИЦИЯ
-
ИЗ
-
ЭТИКЕТКА
-
СТОП-СИГНАЛ
-
ПОЛЬЗОВАТЕЛЬ
-
ОБЪЕМ
-
РАБОЧИЙКАТАЛОГ
-
ONBUILD
(в сочетании с одной из поддерживаемых выше инструкций)
Подстановка переменных среды будет использовать одно и то же значение для каждой переменной на протяжении всей инструкции.Другими словами, в этом примере:
ENV abc=привет
ENV abc=пока def=$abc
ENV ghi=$abc
приведет к тому, что def
будет иметь значение hello
, а не bye
. Тем не мение, ghi
будет иметь значение bye
, потому что это не часть той же инструкции
который устанавливает abc
в пока
.
.dockerignore файл
Перед тем, как интерфейс командной строки docker отправит контекст демону docker, он выглядит
для файла с именем .dockerignore
в корневом каталоге контекста.
Если этот файл существует, CLI изменяет контекст, чтобы исключить файлы и
каталоги, которые соответствуют образцам в нем. Это помогает избежать
ненужная отправка больших или конфиденциальных файлов и каталогов на
daemon и, возможно, добавляя их в образы с помощью ADD
или COPY
.
CLI интерпретирует файл .dockerignore
как файл, разделенный новой строкой.
список шаблонов, похожих на файловые глобусы оболочек Unix.Для
Для целей сопоставления корнем контекста считается оба
рабочий и корневой каталог. Например, узоры /foo/bar
и foo/bar
исключают файл или каталог с именем bar
в подкаталоге foo
PATH
или в корне git
репозиторий, расположенный по адресу URL
. Ни то, ни другое не исключает.
Если строка в файле .dockerignore
начинается с #
в столбце 1, то эта строка
считается комментарием и игнорируется до интерпретации CLI.
Вот пример файла .dockerignore
:
# комментарий
*/темп*
*/*/темп*
температура?
Этот файл вызывает следующее поведение сборки:
Правило | Поведение |
---|---|
# комментарий | Игнорируется. |
*/темп* | Исключить файлы и каталоги, имена которых начинаются с temp в любом непосредственном подкаталоге корня.Например, простой файл /somedir/temporary.txt исключается, как и каталог /somedir/temp . |
*/*/темп* | Исключить файлы и каталоги, начинающиеся с temp , из любого подкаталога, который находится на два уровня ниже корня. Например, /somedir/subdir/temporary.txt исключается. |
темп? | Исключить файлы и каталоги в корневом каталоге, имена которых представляют собой односимвольное расширение temp .Например, /tempa и /tempb исключаются. |
Сопоставление выполняется с помощью Go
filepath.Match rules. А
шаг предварительной обработки удаляет начальные и конечные пробелы и
устраняет .
и ..
элементов с использованием Go
путь к файлу.Чистый. Линии
пустые после предварительной обработки игнорируются.
Beyond Go filepath.Match rules, Docker также поддерживает специальный
подстановочная строка **
, которая соответствует любому количеству каталогов (включая
нуль).Например, **/*.go
исключит все файлы, оканчивающиеся на .go
.
которые находятся во всех каталогах, включая корень контекста сборки.
Строки, начинающиеся с !
(восклицательный знак) можно использовать для создания исключений
к исключениям. Ниже приведен пример файла .dockerignore
, который
использует этот механизм:
*.мд
!README.md
Все файлы уценки кроме README.md
исключаются из контекста.
Размещение !
правила исключения влияют на поведение: последнее
строка .dockerignore
, соответствующая определенному файлу, определяет
включен он или исключен. Рассмотрим следующий пример:
*.мд
!README*.md
README-secret.md
В контекст не включены файлы уценки, за исключением файлов README, отличных от README-secret.md
.
Теперь рассмотрим этот пример:
*.Мэриленд
README-secret.md
!README*.md
Включены все файлы README. Средняя линия не действует, потому что !README*.md
соответствует README-secret.md
и идет последним.
Вы даже можете использовать файл .dockerignore
, чтобы исключить файл Dockerfile
.
и .dockerignore
файлов. Эти файлы по-прежнему отправляются демону
потому что он нуждается в них, чтобы сделать свою работу. Но инструкции ADD
и COPY
не копируйте их в образ.
Наконец, вы можете указать, какие файлы следует включить в
контекст, а не то, что исключить. Для этого укажите *
как
первый шаблон, за которым следует один или несколько !
шаблона исключений.
Примечание
По историческим причинам шаблон
.
игнорируется.
ИЗ
ОТ [--platform=<платформа>] <изображение> [КАК <имя>]
или
ОТ [--platform=<платформа>] <изображение>[:<тег>] [КАК <имя>]
или
ОТ [--platform=<платформа>] <изображение>[@<дайджест>] [КАК <имя>]
Инструкция FROM
инициализирует новую стадию сборки и устанавливает Base Image для дальнейших инструкций.Таким образом,
действительный Dockerfile
должен начинаться с инструкции FROM
. Изображение может быть
любое действительное изображение — особенно легко начать с , извлекая изображение из публичных репозиториев .
-
ARG
— единственная инструкция, которая может предшествоватьFROM
вDockerfile
. См. Понимание того, как взаимодействуют ARG и FROM. -
FROM
может появляться несколько раз в одномDockerfile
для создавать несколько образов или использовать один этап сборки в качестве зависимости для другого.Просто запишите последний идентификатор изображения, выведенный фиксацией, перед каждым новымИЗ
инструкция. Каждая инструкцияFROM
очищает любое состояние, созданное предыдущей командой. инструкции. - Дополнительно имя может быть присвоено новому этапу сборки путем добавления
имени AS
кИЗ
инструкция. Имя можно использовать в последующихИЗ
иCOPY --from=
инструкции для обращения к образу, созданному на этом этапе. - Значения тега
дайджеста
являются необязательными.Если вы опустите любой из них, builder по умолчанию использует тегпоследний
. Конструктор возвращает ошибку, если он не удается найти значение тега
Необязательный флаг --platform
можно использовать для указания платформы образа.
в случае, если FROM
ссылается на многоплатформенный образ. Например, linux/amd64
, linux/arm64
или windows/amd64
. По умолчанию целевая платформа сборки
используется запрос. В значении этого флага можно использовать глобальные аргументы сборки.
например автоматические платформенные ARG
позволяют принудительно перевести этап на собственную платформу сборки ( --platform=$BUILDPLATFORM
),
и используйте его для кросс-компиляции на целевую платформу внутри сцены.
Понять, как взаимодействуют ARG и FROM
Инструкции FROM
поддерживают переменные, объявленные любым ARG
инструкции, предшествующие первой ИЗ
.
ARG CODE_VERSION=последняя
ИЗ базы: ${CODE_VERSION}
CMD/код/запуск-приложение
ИЗ дополнений:${CODE_VERSION}
CMD/код/выполнить-дополнения
ARG
, объявленный перед FROM
, находится вне этапа сборки, поэтому
нельзя использовать ни в одной инструкции после FROM
.Чтобы использовать значение по умолчанию ARG
, объявленный перед первым FROM
, использует инструкцию ARG
без
значение внутри этапа сборки:
ВЕРСИЯ ARG=последняя
ОТ busybox:$ВЕРСИЯ
АРГ ВЕРСИЯ
ВЫПОЛНИТЬ эхо $VERSION > image_version
ЗАПУСК
RUN имеет 2 формы:
-
RUN <команда>
( оболочка форма, команда запускается в оболочке, которая по умолчанию/bin/sh -c
в Linux илиcmd /S /C
в Windows) -
RUN ["исполняемый", "param1", "param2"]
(форма exec )
Инструкция RUN
будет выполнять любые команды на новом уровне поверх предыдущего.
текущее изображение и зафиксируйте результаты.Результирующее зафиксированное изображение будет
используется для следующего шага в Dockerfile
.
Распределение по уровням RUN
Инструкции и генерация коммитов соответствуют ядру
концепции Docker, где коммиты дешевы, а контейнеры можно создавать из
любой момент в истории изображения, очень похоже на систему управления версиями.
Форма exec позволяет избежать перебора строки оболочки и RUN
команды, использующие базовый образ, который не содержит указанный исполняемый файл оболочки.
Оболочка по умолчанию для формы оболочки оболочки может быть изменена с помощью ОБОЛОЧКИ
команда.
В форме оболочки вы можете использовать \
(обратная косая черта) для продолжения одного
Инструкция RUN на следующую строку. Например, рассмотрим эти две строки:
RUN /bin/bash -c 'source $HOME/.bashrc; \
эхо $ДОМ'
Вместе они эквивалентны одной строке:
RUN /bin/bash -c 'источник $HOME/.башка; эхо $ДОМ'
Чтобы использовать другую оболочку, отличную от «/bin/sh», используйте форму exec , передавая нужную оболочку. Например:
ВЫПОЛНИТЬ ["/bin/bash", "-c", "эхо привет"]
Примечание
Форма exec анализируется как массив JSON, что означает, что вы должны использовать двойные кавычки («) вокруг слов, а не одинарные кавычки (‘).
В отличие от формы оболочки , форма exec не вызывает командную оболочку.Это означает, что нормальной обработки оболочки не происходит. Например, RUN [ "echo", "$HOME" ]
не будет выполнять подстановку переменных в $HOME
.
Если вам нужна обработка оболочки, используйте форму оболочки или выполните
напрямую через оболочку, например: RUN [ "sh", "-c", "echo $HOME" ]
.
При использовании формы exec и непосредственном выполнении оболочки, как в случае с
форма оболочки, это оболочка, которая делает переменную среды
расширение, а не докер.
Примечание
В форме JSON необходимо экранировать обратную косую черту.Это особенно актуально в Windows, где обратная косая черта является разделителем пути. В противном случае следующая строка была бы обработана как форма оболочки из-за того, что она не быть действительным JSON и неожиданно завершиться ошибкой:
ЗАПУСК ["c:\windows\system32\tasklist.exe"]
Правильный синтаксис для этого примера:
ЗАПУСК ["c:\\windows\\system32\\tasklist.exe"]
Кэш для инструкций RUN
не становится недействительным автоматически во время
следующая сборка.Кэш для инструкции типа RUN apt-get dist-upgrade -y
будет повторно использован во время следующей сборки. То
кэш для инструкций RUN
можно сделать недействительным с помощью --no-cache
флаг, например docker build --no-cache
.
См. Dockerfile
Передовой опыт
руководство для получения дополнительной информации.
Кэш для инструкций RUN
может стать недействительным с помощью инструкций ADD
и COPY
.
Известные проблемы (RUN)
Проблема 783 касается файла проблемы с разрешениями, которые могут возникнуть при использовании файловой системы AUFS. Ты может заметить это, например, при попытке
rm
файла.Для систем с последней версией aufs (т. е. параметр монтирования
dirperm1
может быть установлен), докер попытается решить проблему автоматически, установив слои с опциейdirperm1
. Подробнее оdirperm1
вариант можно узнать найдено наaufs
справочной страницеЕсли ваша система не поддерживает
dirperm1
, проблема описывает обходной путь.
СМД
Инструкция CMD
имеет три формы:
-
CMD ["исполняемый","параметр1","параметр2"]
(форма exec , это предпочтительная форма) -
CMD ["param1", "param2"]
(как параметры по умолчанию для ENTRYPOINT ) -
Команда CMD param1 param2
(форма оболочки )
В файле Dockerfile
может быть только одна инструкция CMD
.Если вы перечислите более одного CMD
тогда только последний CMD
вступит в силу.
Основной целью CMD
является предоставление значений по умолчанию для выполняемого
контейнер. Эти значения по умолчанию могут включать исполняемый файл или не включать
исполняемый файл, и в этом случае вы должны указать ENTRYPOINT
инструкция тоже.
Если CMD
используется для предоставления аргументов по умолчанию для инструкции ENTRYPOINT
,
обе инструкции CMD
и ENTRYPOINT
должны быть указаны с помощью JSON
формат массива.
Примечание
Форма exec анализируется как массив JSON, что означает, что вы должны использовать двойные кавычки («) вокруг слов, а не одинарные кавычки (‘).
В отличие от формы оболочки , форма exec не вызывает командную оболочку.
Это означает, что нормальной обработки оболочки не происходит. Например, CMD [ "echo", "$HOME" ]
не будет выполнять подстановку переменных в $HOME
.
Если вам нужна обработка оболочки, используйте форму оболочки или выполните
оболочка напрямую, например: CMD [ "sh", "-c", "echo $HOME" ]
.При использовании формы exec и непосредственном выполнении оболочки, как в случае с
форма оболочки, это оболочка, которая делает переменную среды
расширение, а не докер.
При использовании в формате оболочки или exec инструкция CMD
устанавливает команду
которые будут выполняться при запуске образа.
Если вы используете форму оболочки CMD
, то <команда>
будет выполняться в /bin/sh -c
:
ОТ Убунту
CMD echo "Это тест." |туалет -
Если вы хотите запустить свой <команда>
без оболочки тогда вы должны
выразить команду в виде массива JSON и указать полный путь к исполняемому файлу. Эта форма массива является предпочтительным форматом CMD
. Любые дополнительные параметры
должны быть индивидуально выражены в виде строк в массиве:
ОТ Убунту
CMD ["/usr/bin/wc","--help"]
Если вы хотите, чтобы ваш контейнер каждый раз запускал один и тот же исполняемый файл, тогда
вам следует рассмотреть возможность использования ENTRYPOINT
в сочетании с CMD
.Видеть ТОЧКА ВХОДА .
Если пользователь укажет аргументы для docker run
, они переопределят
значение по умолчанию указано в CMD
.
Примечание
Не путайте
RUN
сCMD
.RUN
фактически запускает команду и фиксирует результат;CMD
ничего не выполняет во время сборки, но указывает предполагаемая команда для изображения.
ЭТИКЕТКА
МЕТКА <ключ>=<значение> <ключ>=<значение> <ключ>=<значение> ...
Инструкция LABEL
добавляет к изображению метаданные. ЭТИКЕТКА
— это
пара ключ-значение. Чтобы включить пробелы в значение LABEL
, используйте кавычки и
обратную косую черту, как при анализе командной строки. Несколько примеров использования:
ЭТИКЕТКА "com.example.vendor"="ACME Incorporated"
ЭТИКЕТКА com.example.label-with-value="foo"
МЕТКА версия="1.0"
LABEL description="Этот текст иллюстрирует \
что значения меток могут занимать несколько строк».
Изображение может иметь более одной метки.Вы можете указать несколько меток на одна линия. До Docker 1.10 это уменьшало размер конечного изображения, но это уже не так. Вы по-прежнему можете указать несколько ярлыков одной инструкцией одним из следующих двух способов:
ЭТИКЕТКА multi.label1="value1" multi.label2="value2" other="value3"
МЕТКА multi.label1="value1" \
multi.label2="значение2" \
другое = "значение3"
Метки, включенные в базовые или родительские образы (изображения в строке FROM
),
унаследовано вашим образом.Если метка уже существует, но с другим значением,
последнее примененное значение переопределяет любое ранее установленное значение.
Чтобы просмотреть метки образа, используйте команду docker image inspect
. Ты можешь использовать
параметр --format
для отображения только меток;
$ docker image inspect --format='' myimage
{
"com.example.vendor": "ACME Incorporated",
"com.example.label-with-value": "foo",
"версия": "1.0",
"description": "Этот текст показывает, что значения меток могут занимать несколько строк.",
"мульти.метка1": "значение1",
"multi.label2": "значение2",
"другое": "значение3"
}
ОБСЛУЖИВАТЕЛЬ (устарело)
Инструкция MAINTAINER
задает поле Author сгенерированных изображений.
Инструкция LABEL
является гораздо более гибкой версией этой, и вы должны использовать
вместо этого, так как он позволяет устанавливать любые требуемые метаданные и может быть просмотрен
легко, например, с помощью docker inspect
. Чтобы установить метку, соответствующую MAINTAINER
поле, которое вы можете использовать:
ЭТИКЕТКА орг.opencontainers.image.authors="[email protected]"
Затем это будет видно из docker inspect
с другими метками.
ЭКСПОЗИЦИЯ
ЭКСПОЗИРОВАТЬ <порт> [<порт>/<протокол>...]
Инструкция EXPOSE
информирует Docker о том, что контейнер прослушивает
указанные сетевые порты во время выполнения. Вы можете указать, прослушивает ли порт
TCP или UDP, по умолчанию используется TCP, если протокол не указан.
Инструкция EXPOSE
фактически не публикует порт. Он функционирует как
тип документации между человеком, который строит образ, и человеком, который
запускает контейнер, о каких портах предполагается публиковать. На самом деле
опубликуйте порт при запуске контейнера, используйте флаг -p
на docker run
для публикации и сопоставления одного или нескольких портов или флаг -P
для публикации всех открытых
порты и сопоставьте их с портами высокого порядка.
По умолчанию EXPOSE
предполагает TCP.Также можно указать UDP:
Для предоставления доступа к TCP и UDP включите две строки:
ЭКСПОЗИЦИЯ 80/TCP
ЭКСПОЗИЦИЯ 80/UDP
В этом случае, если вы используете -P
с docker run
, порт будет открыт один раз
для TCP и один раз для UDP. Помните, что -P
использует эфемерный хост высокого порядка.
порт на хосте, поэтому порт не будет одинаковым для TCP и UDP.
Независимо от настроек EXPOSE
, вы можете переопределить их во время выполнения с помощью
флаг -p
.Например
$ docker run -p 80:80/tcp -p 80:80/udp ...
Чтобы настроить перенаправление портов в хост-системе, используйте флаг -P.
Команда docker network
поддерживает создание сетей для связи между
контейнеры без необходимости раскрывать или публиковать определенные порты, потому что
контейнеры, подключенные к сети, могут взаимодействовать друг с другом через любой
порт. Для получения подробной информации см.
обзор этой функции.
ЭНВ
Инструкция ENV
устанавливает для переменной среды
значение <значение>
.Это значение будет в среде для всех последующих инструкций
на этапе сборки и может быть заменен встроенным в
также многие. Значение будет интерпретироваться для других переменных среды, поэтому
символы кавычек будут удалены, если они не экранированы. Как и синтаксический анализ командной строки,
кавычки и обратную косую черту можно использовать для включения пробелов в значения.
Пример:
ENV MY_NAME="Джон Доу"
ENV MY_DOG=Рекс\ Собака\
ENV MY_CAT=пушистый
Инструкция ENV
допускает несколько
переменных для установки
за один раз, и приведенный ниже пример даст те же чистые результаты в финальном
изображение:
ENV MY_NAME="Джон Доу" MY_DOG=Рекс\ Собака\
MY_CAT=пушистый
Переменные среды, установленные с помощью ENV
, будут сохраняться при запуске контейнера.
из получившегося изображения. Вы можете просмотреть значения, используя docker inspect
и
измените их с помощью docker run --env
.
Сохранение переменной среды может вызвать неожиданные побочные эффекты.Например,
установка ENV DEBIAN_FRONTEND=noninteractive
изменяет поведение apt-get
,
и может запутать пользователей вашего изображения.
Если переменная среды нужна только во время сборки, а не в финальной версии image вместо этого рассмотрите возможность установки значения для одной команды:
RUN DEBIAN_FRONTEND=неинтерактивное обновление apt-get && apt-get install -y ...
Или используя ARG
, который не сохраняется в финальном образе:
ARG DEBIAN_FRONTEND=неинтерактивный
RUN apt-get update && apt-get install -y ...
Альтернативный синтаксис
Инструкция
ENV
также допускает альтернативный синтаксисENV <ключ> <значение>
, опуская=
. Например:Этот синтаксис не позволяет устанавливать несколько переменных среды в одном одна инструкция
ENV
, и это может сбивать с толку. Например, следующее устанавливает одну переменную среды (ONE
) со значением"TWO= THREE=world"
:Альтернативный синтаксис поддерживается для обратной совместимости, но не рекомендуется по причинам, изложенным выше, и может быть удален в будущем выпуске.
ДОБАВИТЬ
ADD имеет две формы:
ДОБАВИТЬ [--chown=<пользователь>:<группа>] <источник>... <назначение>
ADD [--chown=<пользователь>:<группа>] ["<источник>",... "<назначение>"]
Последняя форма требуется для путей, содержащих пробелы.
Примечание
Функция
--chown
поддерживается только в файлах Dockerfile, используемых для создания контейнеров Linux, и не будет работать с контейнерами Windows.Поскольку концепции владения пользователями и группами не переводить между Linux и Windows, использование/etc/passwd
и/etc/group
для преобразование имен пользователей и групп в идентификаторы ограничивает эту функцию только жизнеспособной для контейнеров на базе ОС Linux.
Инструкция ADD
копирует новые файлы, каталоги или URL-адреса удаленных файлов из
и добавляет их в файловую систему образа по пути
.
Можно указать несколько ресурсов
, но если они являются файлами или
каталоги, их пути интерпретируются как относительные к источнику
контекст сборки.
Каждый
может содержать подстановочные знаки, и сопоставление будет выполняться с использованием Go
filepath.Match rules. Например:
Чтобы добавить все файлы, начинающиеся с «hom»:
В приведенном ниже примере ?
заменяется любым отдельным символом, например, «home.txt».
— это абсолютный путь или путь относительно WORKDIR
, в который
источник будет скопирован внутри целевого контейнера.
В приведенном ниже примере используется относительный путь и добавляется «test.txt» на
:
ДОБАВИТЬ test.txt относительный каталог/
Принимая во внимание, что в этом примере используется абсолютный путь и добавляется «test.txt» к /absoluteDir/
ДОБАВИТЬ test.txt /absoluteDir/
При добавлении файлов или каталогов, содержащих специальные символы (например, [
и ]
), вам нужно избежать этих путей, следуя правилам Golang, чтобы предотвратить
чтобы их не рассматривали как совпадающий шаблон.Например, чтобы добавить файл
с именем arr[0].txt
используйте следующее;
Все новые файлы и каталоги создаются с UID и GID, равными 0, если только
необязательный флаг --chown
указывает данное имя пользователя, имя группы или UID/GID
комбинация, чтобы запросить конкретное право собственности на добавленный контент. То
формат флага --chown
позволяет использовать строки имени пользователя и имени группы.
или прямое целочисленное значение UID и GID в любой комбинации. Предоставление имени пользователя без
groupname или UID без GID будут использовать тот же числовой UID, что и GID.Если
указано имя пользователя или группы, корневая файловая система контейнера /etc/passwd
и /etc/group
файлы будут использоваться для выполнения перевода
от имени до целочисленного UID или GID соответственно. Следующие примеры показывают
допустимые определения для флага --chown
:
ДОБАВИТЬ --chown=55:файлы моей группы* /somedir/
ДОБАВИТЬ --chown=bin файлы* /somedir/
ДОБАВИТЬ --chown=1 файлов* /somedir/
ДОБАВИТЬ --chown=файлы 10:11* /somedir/
Если корневая файловая система контейнера не содержит /etc/passwd
или /etc/group
файлы и имена пользователей или групп используются в --chown
флаг, сборка завершится ошибкой при выполнении операции ADD
.Использование числовых идентификаторов требует
без поиска и не будет зависеть от содержимого корневой файловой системы контейнера.
В случае, когда
является URL-адресом удаленного файла, место назначения будет
иметь разрешения 600. Если извлекаемый удаленный файл имеет HTTP Last-Modified
заголовок, будет использоваться метка времени из этого заголовка
чтобы установить mtime
в файле назначения. Однако, как и любой другой файл
обработано во время ADD
, mtime
не будет включено в определение
независимо от того, изменился ли файл и следует ли обновить кеш.
Примечание
Если вы выполняете сборку, передавая
Dockerfile
через STDIN (docker build - < somefile
), контекста сборки нет, поэтомуDockerfile
может содержать только инструкциюADD
на основе URL. Вы также можете пройти сжатый архив через STDIN: (docker build -
), Dockerfile
в корне архива и остальные архив будет использоваться в качестве контекста сборки.
Если ваши файлы URL защищены с помощью аутентификации, вам необходимо использовать RUN wget
, RUN curl
или используйте другой инструмент из контейнера в качестве инструкции ADD
не поддерживает аутентификацию.
Примечание
Первая обнаруженная инструкция
ADD
сделает кэш недействительным для всех следуя инструкциям из Dockerfile, если содержимоеимеет измененный.Это включает в себя аннулирование кэша для инструкций
RUN
. Ознакомьтесь с рекомендациямиDockerfile
. руководство – Использование кеша сборки Чтобы получить больше информации.
ADD
подчиняется следующим правилам:
Путь
ADD ../something/something
, потому что первый шагdocker build
— отправить каталог контекста (и подкаталоги) в демон докера.Если
Если
<назначение>/<имя файла>
. Например,ADD http://example.com/foobar/
бы создайте файл/foobar
. URL-адрес должен иметь нетривиальный путь, чтобы в этом случае можно найти подходящее имя файла (http://example.com
не будет работать).Если
<источник>
является каталогом, копируется все содержимое каталога, включая метаданные файловой системы.
Примечание
Сам каталог не копируется, только его содержимое.
Если
tar -x
, результатом является объединение:- Что бы ни существовало на пути назначения и
- Содержимое исходного дерева с разрешенными конфликтами в пользу из «2."пофайлово".
Примечание
Идентифицируется ли файл как распознанный формат сжатия или нет выполняется исключительно на основе содержимого файла, а не имени файла. Например, если пустой файл заканчивается на
.tar.gz
, это не будет быть распознан как сжатый файл, и не будет генерировать какие-либо сообщение об ошибке распаковки, файл будет просто скопирован в назначения.Если
/
, это будет считаться каталогом и содержимое<назначение>/база(<источник>)
.Если указано несколько ресурсов
/
.Если
Если
КОПИЯ
КОПИЯ имеет две формы:
КОПИРОВАТЬ [--chown=<пользователь>:<группа>] <источник>... <назначение>
COPY [--chown=<пользователь>:<группа>] ["<источник>",... "<назначение>"]
Эта последняя форма требуется для путей, содержащих пробелы
Примечание
Функция
--chown
поддерживается только в файлах Dockerfile, используемых для создания контейнеров Linux, и не будет работать с контейнерами Windows. Поскольку концепции владения пользователями и группами не переводить между Linux и Windows, использование/etc/passwd
и/etc/group
для преобразование имен пользователей и групп в идентификаторы ограничивает эту функцию доступной только для Контейнеры на базе ОС Linux.
Инструкция COPY
копирует новые файлы или каталоги из
и добавляет их в файловую систему контейнера по пути
.
Можно указать несколько ресурсов
, но пути к файлам и
каталоги будут интерпретироваться относительно источника контекста
сборки.
Каждый
может содержать подстановочные знаки, и сопоставление будет выполняться с использованием Go
Путь файла.Правила соответствия. Например:
Чтобы добавить все файлы, начинающиеся с «hom»:
В приведенном ниже примере ?
заменяется любым отдельным символом, например, «home.txt».
— это абсолютный путь или путь относительно WORKDIR
, в который
источник будет скопирован внутри целевого контейнера.
В приведенном ниже примере используется относительный путь и добавляется «test.txt» в
:
Тест КОПИРОВАНИЯ.txt относительный каталог/
Принимая во внимание, что в этом примере используется абсолютный путь и добавляется «test.txt» к /absoluteDir/
КОПИРОВАТЬ test.txt /absoluteDir/
При копировании файлов или каталогов, содержащих специальные символы (например, [
и ]
), вам нужно избежать этих путей, следуя правилам Golang, чтобы предотвратить
чтобы их не рассматривали как совпадающий шаблон. Например, чтобы скопировать файл
с именем arr[0].txt
используйте следующее;
КОПИРОВАТЬ обр[[]0].текст /mydir/
Все новые файлы и каталоги создаются с UID и GID, равными 0, если только
необязательный флаг --chown
указывает данное имя пользователя, имя группы или UID/GID
комбинация, чтобы запросить конкретное право собственности на скопированный контент. То
формат флага --chown
позволяет использовать строки имени пользователя и имени группы.
или прямое целочисленное значение UID и GID в любой комбинации. Предоставление имени пользователя без
groupname или UID без GID будут использовать тот же числовой UID, что и GID.Если
указано имя пользователя или группы, корневая файловая система контейнера /etc/passwd
и /etc/group
файлы будут использоваться для выполнения перевода
от имени до целочисленного UID или GID соответственно. Следующие примеры показывают
допустимые определения для флага --chown
:
КОПИРОВАТЬ --chown=55:mygroup files* /somedir/
КОПИРОВАТЬ --chown=bin файлы* /somedir/
КОПИРОВАТЬ --chown=1 файлов* /somedir/
КОПИРОВАТЬ --chown=файлы 10:11* /somedir/
Если корневая файловая система контейнера не содержит /etc/passwd
или /etc/group
файлы и имена пользователей или групп используются в --chown
флаг, сборка завершится ошибкой при выполнении операции COPY
.Использование числовых идентификаторов требует
без поиска и не зависит от содержимого корневой файловой системы контейнера.
Примечание
Если вы строите с использованием STDIN (
docker build -
), нет build context, поэтому COPY
использовать нельзя.
Дополнительно КОПИРОВАТЬ
принимает флаг --from=
, который можно использовать для установки
исходное местоположение на предыдущую стадию сборки (создано с помощью FROM .. AS
)
который будет использоваться вместо контекста сборки, отправленного пользователем.В случае сборки
стадия с указанным именем не может быть найдена изображение с таким же именем
вместо этого пытались использовать.
КОПИЯ
подчиняется следующим правилам:
Путь
COPY ../something /something
, потому что первый шагdocker build
— отправить каталог контекста (и подкаталоги) в демон докера.Если
<источник>
является каталогом, копируется все содержимое каталога, включая метаданные файловой системы.
Примечание
Сам каталог не копируется, только его содержимое.
Если
/
, это будет считаться каталогом и содержимое<назначение>/база(<источник>)
.Если указано несколько ресурсов
/
.Если
Если
Примечание
Первая обнаруженная инструкция
COPY
сделает кэш недействительным для всех следуя инструкциям из Dockerfile, если содержимоеимеет измененный. Это включает в себя аннулирование кэша для инструкций
RUN
. Ознакомьтесь с рекомендациямиDockerfile
. руководство – Использование кеша сборки Чтобы получить больше информации.
ТОЧКА ВХОДА
ENTRYPOINT имеет две формы:
Форма exec , предпочтительная форма:
ENTRYPOINT ["исполняемый", "param1", "param2"]
Корпус Форма :
Команда ENTRYPOINT параметр 1 параметр 2
ENTRYPOINT
позволяет настроить контейнер, который будет работать как исполняемый файл.
Например, следующий код запускает nginx с содержимым по умолчанию, прослушивая на порт 80:
$ docker run -i -t --rm -p 80:80 nginx
Аргументы командной строки для docker run
будут добавлены в конце концов
элементы в форме exec ENTRYPOINT
и переопределяют все указанные элементы
используя CMD
.
Это позволяет передавать аргументы в точку входа, т. е. docker run
передаст аргумент -d
в точку входа.Вы можете переопределить инструкцию ENTRYPOINT
, используя команду docker run --entrypoint
.
флаг.
Форма оболочки предотвращает любые аргументы командной строки CMD
или run
.
используется, но имеет тот недостаток, что ваш ENTRYPOINT
будет запускаться как
подкоманда /bin/sh -c
, которая не передает сигналы.
Это означает, что исполняемый файл не будет контейнером с PID 1
— и
будет ли , а не получать сигналы Unix, поэтому ваш исполняемый файл не получит SIGTERM
из docker stop <контейнер>
.
Только последняя инструкция ENTRYPOINT
в Dockerfile
будет иметь эффект.
Exec форма ENTRYPOINT пример
Вы можете использовать форму exec ENTRYPOINT
для установки довольно стабильных команд по умолчанию.
и аргументы, а затем используйте любую форму CMD
, чтобы установить дополнительные значения по умолчанию, которые
скорее всего будут изменены.
ОТ Убунту
ENTRYPOINT ["сверху", "-b"]
CMD ["-с"]
При запуске контейнера видно, что top
— единственный процесс:
$ docker run -it --rm --name test top -H
топ - 08:25:00 вверх 7:27, 0 пользователей, средняя загрузка: 0.00, 0,01, 0,05
Темы: 1 всего, 1 работает, 0 спит, 0 остановлено, 0 зомби
%Cpu(s): 0,1 us, 0,1 sy, 0,0 ni, 99,7 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st
KiB Mem: всего 2056668, 1616832 использовано, 439836 свободно, 99352 буфера
KiB Swap: всего 1441840, 0 использовано, 1441840 бесплатно. 1324440 кэшированная память
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 корень 20 0 19744 2336 2080 Ч 0,0 0,1 0:00,04 верх
Для дальнейшего изучения результата вы можете использовать docker exec
:
$ docker exec -it test ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
корень 1 2.6 0,1 19752 2352 ? Сс+ 08:24 0:00 топ -б -Ч
корень 7 0.0 0.1 15572 2164 ? R+ 08:25 0:00 пс доп.
И вы можете изящно запросить top
для завершения работы с помощью docker stop test
.
В следующем Dockerfile
показано использование ENTRYPOINT
для запуска Apache в
передний план (т. е. как PID 1
):
ОТ Debian: стабильная
RUN apt-get update && apt-get install -y --force-yes apache2
ЭКСПОЗИЦИЯ 80 443
ТОМ ["/var/www", "/var/log/apache2", "/etc/apache2"]
ТОЧКА ВХОДА ["/usr/sbin/apache2ctl", "-D", "ПЕРЕДНИЙ ПЛАН"]
Если вам нужно написать начальный сценарий для одного исполняемого файла, вы можете убедиться, что
окончательный исполняемый файл получает сигналы Unix, используя exec
и gosu
.
команды:
#!/usr/bin/env bash
установить -е
если ["$1" = 'postgres']; тогда
chown -R postgres "$PGDATA"
если [ -z "$(ls -A "$PGDATA")" ]; тогда
gosu postgres initdb
фи
exec gosu postgres "$@"
фи
выполнить "$@"
Наконец, если вам нужно выполнить дополнительную очистку (или связаться с другими контейнерами)
при выключении или координирует более одного исполняемого файла, вам может потребоваться обеспечить
что сценарий ENTRYPOINT
получает сигналы Unix, передает их дальше, а затем
делает еще немного работы:
#!/бин/ш
# Примечание: я написал это с помощью sh, поэтому он работает и в контейнере busybox.
# ИСПОЛЬЗУЙТЕ ловушку, если вам нужно также выполнить ручную очистку после остановки службы,
# или нужно запустить несколько сервисов в одном контейнере
trap "echo TRAPed signal" HUP INT TERM QUIT TERM
# запустить сервис в фоновом режиме здесь
/usr/sbin/apachectl начать
echo "[нажмите клавишу ввода для выхода] или запустите 'docker stop '"
читать
# остановить службу и очистить здесь
echo "остановка apache"
/usr/sbin/apachectl остановить
эхо "вышел $0"
Если вы запустите этот образ с помощью docker run -it --rm -p 80:80 --name test apache
,
затем вы можете проверить процессы контейнера с помощью docker exec
или docker top
,
а затем попросите скрипт остановить Apache:
$ docker exec -it test ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
корень 1 0.1 0,0 4448 692 ? Ss+ 00:42 0:00 /bin/sh /run.sh 123 cmd cmd2
корень 19 0,0 0,2 71304 4440 ? Сс 00:42 0:00 /usr/sbin/apache2 -k старт
www-данные 20 0,2 0,2 360468 6004 ? Сл 00:42 0:00 /usr/sbin/apache2 -k старт
www-данные 21 0,2 0,2 360468 6000 ? Сл 00:42 0:00 /usr/sbin/apache2 -k старт
корень 81 0,0 0,1 15572 2140 ? R+ 00:44 0:00 пс доп.
$ верхний тест докера
КОМАНДА ПИД-ИД ПОЛЬЗОВАТЕЛЯ
10035 корень {выполнить.sh} /bin/sh /run.sh 123 cmd cmd2
10054 корень /usr/sbin/apache2 -k старт
10055 33 /usr/sbin/apache2 -k запуск
10056 33 /usr/sbin/apache2 -k запуск
$ /usr/bin/time проверка остановки докера
контрольная работа
реальное 0м 0.27с
пользователь 0м 0.03с
система 0 м 0,03 с
Примечание
Вы можете переопределить настройку
ENTRYPOINT
, используя--entrypoint
, но это может только установить двоичный файл на exec (sh -c
не будет использоваться).
Примечание
Форма exec анализируется как массив JSON, что означает, что вы должны использовать двойные кавычки (") вокруг слов, а не одинарные кавычки (').
В отличие от формы оболочки , форма exec не вызывает командную оболочку.
Это означает, что нормальной обработки оболочки не происходит. Например, ENTRYPOINT [ "echo", "$HOME" ]
не будет выполнять подстановку переменных в $HOME
.Если вам нужна обработка оболочки, используйте форму оболочки или выполните
оболочка напрямую, например: ENTRYPOINT [ "sh", "-c", "echo $HOME" ]
.
При использовании формы exec и непосредственном выполнении оболочки, как в случае с
форма оболочки, это оболочка, которая делает переменную среды
расширение, а не докер.
Форма корпуса ENTRYPOINT пример
Вы можете указать простую строку для ENTRYPOINT
, и она будет выполнена в /bin/sh -c
.Эта форма будет использовать обработку оболочки для замены переменных среды оболочки,
и будет игнорировать любые аргументы командной строки CMD
или docker run
.
Чтобы гарантировать, что docker stop
будет сигнализировать о любом длительно работающем ENTRYPOINT
исполняемом файле
правильно, нужно не забыть запустить его с exec
:
ОТ Убунту
ENTRYPOINT exec сверху -b
Когда вы запустите этот образ, вы увидите один процесс PID 1
:
$ docker run -it --rm --name тестовая вершина
Мем: 1704520 КБ используется, 352148 КБ свободно, 0 КБ шрд, 0 КБ бафф, 140368121167873 КБ кэшировано
CPU: 5% usr 0% sys 0% nic 94% простоя 0% io 0% irq 0% sirq
Средняя нагрузка: 0.08 0,03 0,05 2/98 6
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
1 0 корень R 3164 0% 0% верх -b
Который выходит чисто на остановке докера
:
$ /usr/bin/time проверка остановки докера
контрольная работа
реальный 0м 0.20с
пользователь 0м 0.02с
система 0 м 0,04 с
Если вы забыли добавить exec
в начало вашего ENTRYPOINT
:
ОТ Убунту
ТОЧКА ВХОДА сверху -b
CMD --игнорированный-парам1
Затем вы можете запустить его (указав имя для следующего шага):
$ docker run -it --name test top --ignored-param2
Мем: 1704184 КБ используется, 352484 КБ свободно, 0 КБ шрд, 0 КБ бафф, 140621524238337 КБ кэшировано
CPU: 9% usr 2% sys 0% nic 88% простоя 0% io 0% irq 0% sirq
Средняя нагрузка: 0.01 0,02 0,05 2/101 7
PID PPID USER STAT VSZ %VSZ %CPU COMMAND
1 0 корень S 3168 0% 0% /bin/sh -c top -b cmd cmd2
7 1 корень R 3164 0% 0% верх -b
Из вывода top
видно, что указанный ENTRYPOINT
не является PID 1
.
Если вы затем запустите docker stop test
, контейнер не выйдет корректно — команда stop
будет вынуждена отправить SIGKILL
после тайм-аута:
$ docker exec -it test ps aux
КОМАНДА ПИД-ИД ПОЛЬЗОВАТЕЛЯ
1 корень /bin/sh -c top -b cmd cmd2
7 корень верхушка -b
8 корневых портов aux
$ /usr/bin/time проверка остановки докера
контрольная работа
реальный 0м 10.19 лет
пользователь 0м 0.04с
система 0 м 0,03 с
Понять, как взаимодействуют CMD и ENTRYPOINT
Обе инструкции CMD
и ENTRYPOINT
определяют, какая команда будет выполняться при запуске контейнера.
Есть несколько правил, описывающих их сотрудничество.
Dockerfile должен указывать хотя бы одну из команд
CMD
илиENTRYPOINT
.ENTRYPOINT
должен быть определен при использовании контейнера в качестве исполняемого файла.CMD
следует использовать как способ определения аргументов по умолчанию для командыENTRYPOINT
или для выполнения специальной команды в контейнере.CMD
будет переопределен при запуске контейнера с альтернативными аргументами.
В таблице ниже показано, какая команда выполняется для различных комбинаций ENTRYPOINT
/ CMD
:
Нет ТОЧКИ ВХОДА | ТОЧКА ВХОДА exec_entry p1_entry | ENTRYPOINT ["exec_entry", "p1_entry"] | |
---|---|---|---|
Нет CMD | ошибка, не допускается | /bin/sh -c exec_entry p1_entry | exec_entry p1_entry |
CMD ["exec_cmd", "p1_cmd"] | exec_cmd p1_cmd | /bin/sh -c exec_entry p1_entry | exec_entry p1_entry exec_cmd p1_cmd |
CMD ["p1_cmd", "p2_cmd"] | p1_cmd p2_cmd | /bin/sh -c exec_entry p1_entry | exec_entry p1_entry p1_cmd p2_cmd |
Командная команда exec_cmd p1_cmd | /bin/sh -c exec_cmd p1_cmd | /bin/sh -c exec_entry p1_entry | exec_entry p1_entry /bin/sh -c exec_cmd p1_cmd |
Примечание
Если
CMD
определяется из базового образа, установкаENTRYPOINT
будет сброситьCMD
до пустого значения.В этом сценарииCMD
должен быть определен в текущее изображение, чтобы иметь значение.
ТОМ
Инструкция VOLUME
создает точку монтирования с указанным именем
и помечает его как содержащий внешне смонтированные тома с собственного хоста или другого
контейнеры. Значение может быть массивом JSON, VOLUME ["/var/log/"]
или обычным
строка с несколькими аргументами, например VOLUME /var/log
или VOLUME /var/log
/вар/дб
. Для получения дополнительной информации/примеров и инструкций по монтажу см.
Клиент Docker, см. Общий доступ к каталогам через тома документация.
Команда docker run
инициализирует только что созданный том любыми данными.
который существует в указанном месте в базовом образе. Например,
рассмотрите следующий фрагмент Dockerfile:
ОТ Убунту
ВЫПОЛНИТЬ mkdir /myvol
RUN echo "привет, мир" > /myvol/greeting
ОБЪЕМ /myvol
Этот Dockerfile приводит к созданию образа, из-за которого Docker запускает
для
создайте новую точку монтирования по адресу /myvol
и скопируйте файл приветствия
во вновь созданный том.
Примечания об указании томов
Помните следующее о томах в Dockerfile
.
Тома в контейнерах на базе Windows : При использовании контейнеров на базе Windows назначение тома внутри контейнера должно быть одним из:
- несуществующий или пустой каталог
- диск, отличный от
C:
Изменение тома из Dockerfile : Если какие-либо шаги сборки изменяют данные в томе после того, как он был объявлен, эти изменения будут отброшены.
Форматирование JSON : Список анализируется как массив JSON. Вы должны заключать слова в двойные кавычки (
"
), а не в одинарные кавычки ('
).Каталог хоста объявлен во время выполнения контейнера : Каталог хоста (точка монтирования) по своей природе зависит от хоста. Это для сохранения имиджа переносимость, так как не может быть гарантирована доступность данного хост-каталога на всех хостах.По этой причине вы не можете смонтировать каталог хоста из внутри Dockerfile. Инструкция
VOLUME
не поддерживает указание хост-каталога
ПОЛЬЗОВАТЕЛЬ
или
Инструкция USER
устанавливает имя пользователя (или UID) и, возможно, имя пользователя.
группа (или GID) для использования при запуске образа и для любых RUN
, CMD
и ENTRYPOINT
инструкции, которые следуют за ним в Dockerfile
.
Обратите внимание, что при указании группы для пользователя у пользователя будет только указанное членство в группе. Любое другое настроенное членство в группах будет игнорироваться.
Предупреждение
Если у пользователя нет основной группы, изображение (или следующее инструкции) будет выполняться с корневой группой
.
В Windows сначала необходимо создать пользователя, если это не встроенная учетная запись. Это можно сделать с помощью команды
net user
, вызываемой как часть Dockerfile.
ОТ Microsoft/windowsservercore
# Создаем пользователя Windows в контейнере
ЗАПУСТИТЬ пользователя сети /добавить Патрика
# Установите его для последующих команд
ПОЛЬЗОВАТЕЛЬ
РАБОЧИЙКАТАЛОГ
Инструкция WORKDIR
устанавливает рабочий каталог для любого RUN
, CMD
, ENTRYPOINT
, КОПИРОВАТЬ
и ДОБАВИТЬ
инструкции, которые следуют за ним в Dockerfile
.
Если WORKDIR
не существует, он будет создан, даже если он не используется ни в
последующая инструкция Dockerfile
.
Инструкция WORKDIR
может использоваться несколько раз в файле Dockerfile
. Если
указан относительный путь, он будет относиться к пути предыдущего WORKDIR
инструкция. Например:
РАБОЧИЙКАТАЛОГ /a
РАБОЧИЙ КАТАЛОГ b
РАБОЧИЙ КАТАЛОГ c
ПУСК пароль
Вывод последней команды pwd
в этом Dockerfile
будет /a/b/c
.
Инструкция WORKDIR
может разрешать переменные среды, ранее установленные с помощью ЕНВ
.Вы можете использовать только переменные среды, явно заданные в файле Dockerfile
.
Например:
ENV DIRPATH=/путь
РАБОЧИЙ КАТАЛОГ $DIRPATH/$DIRNAME
ПУСК пароль
Вывод последней команды pwd
в этом Dockerfile
будет /путь/$DIRNAME
АРГ
ARG <имя>[=<значение по умолчанию>]
Инструкция ARG
определяет переменную, которую пользователи могут передать во время сборки.
сборщик с командой docker build
с использованием --build-arg
флаг.Если пользователь указывает аргумент сборки, который не был
определенный в Dockerfile, сборка выводит предупреждение.
[Предупреждение] Один или несколько аргументов сборки [foo] не использованы.
Dockerfile может включать одну или несколько инструкций ARG
. Например,
следующий допустимый Dockerfile:
ОТ Busybox
Пользователь ARG1
номер сборки ARG
# ...
Предупреждение:
Не рекомендуется использовать переменные времени сборки для передачи таких секретов, как ключи github, учетные данные пользователя и т. д.Значения переменных времени сборки видны любой пользователь образа с помощью команды
docker history
.Обратитесь к разделу «сборка образов с помощью BuildKit». раздел, чтобы узнать о безопасных способах использования секретов при создании образов.
Значения по умолчанию
Инструкция ARG
может дополнительно включать значение по умолчанию:
ОТ Busybox
ARG user1=некоторый пользователь
Номер сборки ARG=1
# ...
Если инструкция ARG
имеет значение по умолчанию и если значение не передано
во время сборки строитель использует значение по умолчанию.
Прицел
Определение переменной ARG
вступает в силу со строки, на которой оно
определенный в Dockerfile
не из-за использования аргумента в командной строке или
в другом месте. Например, рассмотрим этот Dockerfile:
ОТ Busybox
ПОЛЬЗОВАТЕЛЬ ${пользователь:-some_user}
Пользователь ARG
ПОЛЬЗОВАТЕЛЬ $пользователь
# ...
Пользователь создает этот файл, вызвав:
$ docker build --build-arg user=what_user .
USER
в строке 2 оценивается как some_user
, поскольку переменная user
определена в
последующая строка 3. ПОЛЬЗОВАТЕЛЬ
в строке 4 оценивается как what_user
, поскольку пользователь
является
определено, и значение what_user
было передано в командной строке. До его определения ARG
любое использование переменной приводит к пустой строке.
Инструкция ARG
выходит за рамки в конце сборки
стадия, на которой она была определена. Чтобы использовать аргумент на нескольких этапах, каждый этап должен
включите инструкцию ARG
.
ОТ Busybox
НАСТРОЙКИ АРГ
БЕГАТЬ ./run/setup $НАСТРОЙКИ
ОТ Busybox
НАСТРОЙКИ АРГ
ВЫПОЛНИТЬ ./выполнить/другие $НАСТРОЙКИ
Использование переменных ARG
Вы можете использовать инструкцию ARG
или ENV
для указания переменных, которые
доступна для инструкции RUN
. Переменные среды, определенные с помощью
Инструкция ENV
всегда имеет приоритет над одноименной инструкцией ARG
. Учитывать
этот Dockerfile с инструкцией ENV
и ARG
.
ОТ Убунту
ARG CONT_IMG_VER
ENV CONT_IMG_VER=v1.0.0
ВЫПОЛНИТЬ эхо $CONT_IMG_VER
Предположим, что этот образ создан с помощью этой команды:
$ docker build --build-arg CONT_IMG_VER=v2.0.1 .
В этом случае инструкция RUN
использует настройку v1.0.0
вместо настройки ARG
.
передано пользователем: v2.0.1
Такое поведение похоже на шелл
сценарий, в котором локальная переменная переопределяет переменные, переданные как
аргументы или унаследованы от среды, от ее точки определения.
Используя приведенный выше пример, но с другой спецификацией ENV
, вы можете создать больше
полезные взаимодействия между ARG
и ENV
инструкции:
ОТ Убунту
ARG CONT_IMG_VER
ENV CONT_IMG_VER=${CONT_IMG_VER:-v1.0.0}
ВЫПОЛНИТЬ эхо $CONT_IMG_VER
В отличие от инструкции ARG
, значения ENV
всегда сохраняются во встроенной
изображение. Рассмотрим сборку докера без флага --build-arg
:
Используя этот пример Dockerfile, CONT_IMG_VER
все еще сохраняется в образе, но
его значение будет v1.0.0
, так как это значение по умолчанию, установленное в строке 3 инструкцией ENV
.
Техника раскрытия переменных в этом примере позволяет передавать аргументы
из командной строки и сохранить их в финальном образе, используя ENV
инструкция. Расширение переменных поддерживается только для ограниченного набора
Инструкции по докерфайлу.
Предопределенные ARG
Docker имеет набор предопределенных переменных ARG
, которые можно использовать без
соответствующую инструкцию ARG
в Dockerfile.
-
HTTP_PROXY
-
http_proxy
-
HTTPS_PROXY
-
https_proxy
-
FTP_PROXY
-
ftp_proxy
-
NO_PROXY
-
нет_прокси
Чтобы использовать их, передайте их в командной строке с флагом --build-arg
, для
пример:
$ docker build --build-arg HTTPS_PROXY=https://my-proxy.пример.com .
По умолчанию эти предопределенные переменные исключены из вывода история докеров
. Их исключение снижает риск случайной утечки
конфиденциальная информация аутентификации в переменной HTTP_PROXY
.
Например, рассмотрите возможность создания следующего Dockerfile с помощью --build-arg HTTP_PROXY=http://user:[email protected]
ОТ Убунту
RUN эхо "Hello World"
В этом случае значение переменной HTTP_PROXY
недоступно в история докеров
и не кэшируется.Если бы вы изменили свое местоположение и
прокси-сервер изменен на http://user:[email protected]
, последующий
build не приводит к промаху кеша.
Если вам нужно переопределить это поведение, вы можете сделать это, добавив ARG
заявление в Dockerfile следующим образом:
ОТ Убунту
ARG HTTP_PROXY
RUN эхо "Hello World"
При создании этого Dockerfile HTTP_PROXY
сохраняется в docker history
, и изменение его значения делает кэш сборки недействительным.
Автоматические платформенные ARG в глобальном масштабе
Эта функция доступна только при использовании серверной части BuildKit.
Docker предопределяет набор переменных ARG
с информацией о платформе
узел, выполняющий сборку (платформа сборки) и на платформе
результирующее изображение (целевая платформа). Целевая платформа может быть указана с помощью
флаг --platform
на сборке докера
.
Следующие переменные ARG
устанавливаются автоматически:
-
TARGETPLATFORM
- платформа результата сборки.Например,linux/amd64
,linux/arm/v7
,windows/amd64
. -
TARGETOS
- Компонент ОС TARGETPLATFORM -
TARGETARCH
— компонент архитектуры TARGETPLATFORM -
TARGETVARIANT
- вариантный компонент TARGETPLATFORM -
BUILDPLATFORM
- платформа узла, выполняющего сборку. -
BUILDOS
— компонент ОС BUILDPLATFORM -
BUILDARCH
- архитектурный компонент BUILDPLATFORM -
BUILDVARIANT
- вариант компонента BUILDPLATFORM
Эти аргументы определены в глобальной области, поэтому не
доступны внутри этапов сборки или для команд RUN
.Выставить один из
эти аргументы внутри этапа сборки переопределяют его без значения.
Например:
ОТ АЛЬПАЙН
ЦЕЛЕВАЯ ПЛАТФОРМА ARG
RUN echo "Я строю для $TARGETPLATFORM"
Влияние на кэширование сборки
Переменные ARG
не сохраняются во встроенном образе, как переменные ENV
.
Однако переменные ARG
влияют на кэш сборки аналогичным образом. Если
Dockerfile определяет переменную ARG
, значение которой отличается от предыдущего
build, то «промах кеша» происходит при его первом использовании, а не при его определении.В
в частности, все инструкции RUN
, следующие за инструкцией ARG
, используют ARG
.
переменная неявно (как переменная среды), что может привести к промаху кеша.
Все предопределенные переменные ARG
освобождаются от кэширования, если нет
соответствие оператору ARG
в файле Dockerfile
.
Например, рассмотрим эти два Dockerfile:
ОТ Убунту
ARG CONT_IMG_VER
ВЫПОЛНИТЬ эхо $CONT_IMG_VER
ОТ Убунту
ARG CONT_IMG_VER
БЕГИ эхо привет
Если вы укажете --build-arg CONT_IMG_VER=<значение>
в командной строке, в обоих
случаи, когда спецификация в строке 2 не приводит к промаху кеша; строка 3 делает
вызвать промах кеша. ARG CONT_IMG_VER
вызывает идентификацию строки RUN
так же, как запуск CONT_IMG_VER=
, поэтому, если
изменения, мы получаем промах кеша.
Рассмотрим другой пример в той же командной строке:
ОТ Убунту
ARG CONT_IMG_VER
ENV CONT_IMG_VER=$CONT_IMG_VER
ВЫПОЛНИТЬ эхо $CONT_IMG_VER
В этом примере промах кэша происходит в строке 3. Промах происходит потому, что
значение переменной в ENV
ссылается на переменную ARG
и что
переменная изменяется через командную строку.В этом примере ENV
Команда заставляет изображение включать значение.
Если инструкция ENV
переопределяет инструкцию ARG
с тем же именем, например
этот Dockerfile:
ОТ Убунту
ARG CONT_IMG_VER
ENV CONT_IMG_VER=привет
ВЫПОЛНИТЬ эхо $CONT_IMG_VER
Строка 3 не вызывает промаха кэша, поскольку значение CONT_IMG_VER
является
константа ( привет
). В результате переменные среды и значения, используемые в RUN
(строка 4) не меняется между сборками.
ВСТРОЕННЫЙ
Инструкция ONBUILD
добавляет в образ команду триггера для
выполняться позже, когда изображение используется в качестве основы для
другая сборка. Триггер будет выполняться в контексте
нижестоящая сборка, как если бы она была вставлена сразу после Инструкция FROM
в нисходящем Dockerfile
.
Любая инструкция сборки может быть зарегистрирована как триггер.
Это полезно, если вы создаете образ, который будет использоваться в качестве основы. для создания других образов, например среды сборки приложения или демон, который может быть настроен с помощью конфигурации пользователя.
Например, если ваш образ представляет собой многоразовый конструктор приложений Python, он
потребуется добавить исходный код приложения в определенный
каталог, и может потребоваться, чтобы скрипт сборки вызывался после тот. Вы не можете просто позвонить по телефону ДОБАВИТЬ
и БЕЖАТЬ
сейчас, потому что вы еще не
имеют доступ к исходному коду приложения, и он будет отличаться для
каждой сборки приложения. Вы можете просто предоставить разработчикам приложений
с шаблоном Dockerfile
для копирования и вставки в свое приложение, но
это неэффективно, подвержено ошибкам и трудно обновляется, потому что
смешивается с кодом конкретного приложения.
Решение состоит в том, чтобы использовать ONBUILD
для регистрации предварительных инструкций для
запустить позже, на следующем этапе сборки.
Вот как это работает:
- Когда встречается инструкция
ONBUILD
, компоновщик добавляет триггер к метаданным создаваемого изображения. Инструкция никак иначе не влияет на текущую сборку. - В конце сборки список всех триггеров сохраняется в
манифест изображения под ключом
OnBuild
.Их можно проверить с докерпроверяет команду
. - В дальнейшем образ можно использовать как основу для новой сборки, используя
ИЗ
инструкция. В рамках обработки инструкцииFROM
, нисходящий компоновщик ищет триггерыONBUILD
и выполняет их в том же порядке, в котором они были зарегистрированы. Если какой-либо из триггеров потерпит неудачу, инструкцияFROM
прерывается, что, в свою очередь, вызывает построить, чтобы потерпеть неудачу. Если все триггеры выполнены успешно, инструкцияFROM
завершается, и сборка продолжается в обычном режиме. - Триггеры удаляются из окончательного изображения после выполнения. В Другими словами, они не наследуются «внуковскими» сборками.
Например, вы можете добавить что-то вроде этого:
ДОПОЛН. /приложение/источник
ONBUILD RUN /usr/local/bin/python-build --dir /app/src
Предупреждение
Объединение инструкций
ONBUILD
с использованиемONBUILD ONBUILD
не допускается.
Предупреждение
Инструкция
ONBUILD
не может запускать инструкцииFROM
илиMAINTAINER
.
СТОП-СИГНАЛ
Инструкция STOPSIGNAL
устанавливает сигнал системного вызова, который будет отправлен на
контейнер для выхода. Этот сигнал может быть именем сигнала в формате SIG
,
например SIGKILL
или число без знака, которое соответствует позиции в
таблица системных вызовов ядра, например 9
. По умолчанию SIGTERM
, если нет
определенный.
Сигнал остановки изображения по умолчанию может быть переопределен для каждого контейнера с помощью --stop-signal
флаг на docker run
и docker create
.
ПРОВЕРКА ЗДОРОВЬЯ
Инструкция HEALTHCHECK
имеет две формы:
-
HEALTHCHECK [ОПЦИИ] Команда CMD
(проверьте работоспособность контейнера, выполнив команду внутри контейнера) -
HEALTHCHECK НЕТ
(отключить любую проверку работоспособности, унаследованную от базового образа)
Инструкция HEALTHCHECK
сообщает Docker, как протестировать контейнер, чтобы убедиться, что
он все еще работает. Это может обнаружить такие случаи, как зависание веб-сервера.
бесконечный цикл и невозможность обработки новых подключений, хотя сервер
процесс все еще идет.
Когда для контейнера указана проверка работоспособности, он имеет состояние работоспособности в
дополнение к своему обычному статусу. Этот статус изначально , начиная с
. Всякий раз, когда
проверка работоспособности проходит, он становится здоровым
(в каком бы состоянии он ни находился ранее).
После определенного количества последовательных сбоев он становится неработоспособным
.
Параметры, которые могут появиться перед CMD
:
-
--interval=ПРОДОЛЖИТЕЛЬНОСТЬ
(по умолчанию:30 с
) -
--timeout=ПРОДОЛЖИТЕЛЬНОСТЬ
(по умолчанию:30 с
) -
--start-period=ПРОДОЛЖИТЕЛЬНОСТЬ
(по умолчанию:0 с
) -
--retries=N
(по умолчанию:3
)
Проверка работоспособности сначала выполняется с интервалом через секунд после того, как контейнер запущен, а затем снова с интервалом секунд после завершения каждой предыдущей проверки.
Если один запуск проверки занимает больше timeout секунд, то проверка считается несостоявшимся.
Требуется повторных попыток последовательных сбоев проверки работоспособности контейнера
считать нездоровым
.
период запуска обеспечивает время инициализации для контейнеров, которым требуется время для начальной загрузки. Сбой зонда в течение этого периода не будет засчитываться в максимальное количество повторных попыток. Однако, если проверка работоспособности завершается успешно в течение начального периода, контейнер считается запущен, и все последовательные сбои будут засчитываться в максимальное количество повторных попыток.
В Dockerfile может быть только одна инструкция HEALTHCHECK
. Если вы перечислите
более одного, то вступит в силу только последний HEALTHCHECK
.
Команда после ключевого слова CMD
может быть либо командой оболочки (например, HEALTHCHECK
CMD /bin/check-running
) или массив exec (как и с другими командами Dockerfile;
см. напр. ENTRYPOINT
для подробностей).
Состояние выхода команды указывает на состояние работоспособности контейнера.Возможные значения:
- 0: успех — контейнер исправен и готов к использованию
- 1: неработоспособен - контейнер работает неправильно
- 2: зарезервировано — не используйте этот код выхода
Например, каждые пять минут проверять, может ли веб-сервер обслуживать главную страницу сайта в течение трех секунд:
HEALTHCHECK --interval=5m --timeout=3s \
CMD curl -f http://localhost/ || выход 1
Чтобы облегчить отладку сбойных зондов, любой выходной текст (в кодировке UTF-8), который пишет команда
на stdout или stderr будут сохранены в состоянии работоспособности и могут быть запрошены с помощью докер проверяет
.Такой вывод должен быть коротким (только первые 4096 байт).
хранятся в настоящее время).
При изменении состояния работоспособности контейнера возникает событие health_status
.
генерируется с новым статусом.
ОБОЛОЧКА
ОБОЛОЧКА ["исполняемый файл", "параметры"]
Инструкция SHELL
позволяет использовать оболочку по умолчанию, используемую для формы оболочки оболочки .
команды, которые необходимо переопределить. Оболочка по умолчанию в Linux — ["/bin/sh", "-c"]
, а в
Windows ["cmd", "/S", "/C"]
.Инструкция SHELL
должна быть написана в формате JSON.
форму в Dockerfile.
Инструкция SHELL
особенно полезна в Windows, где
два часто используемых и довольно разных родных шелла: cmd
и powershell
, как
а также доступны альтернативные корпуса, включая и
.
Инструкция SHELL
может появляться несколько раз. Каждая инструкция SHELL
переопределяет
все предыдущие инструкции SHELL
и влияет на все последующие инструкции.Например:
ОТ Microsoft/windowsservercore
# Выполняется как cmd /S /C echo по умолчанию
RUN эхо по умолчанию
# Выполняется как cmd /S /C powershell -command Write-Host default
RUN powershell -команда Write-Host по умолчанию
# Выполняется как команда powershell Write-Host hello
ОБОЛОЧКА ["powershell", "-команда"]
RUN Write-Host привет
# Выполняется как cmd /S /C echo hello
ОБОЛОЧКА ["cmd", "/S", "/C"]
БЕГИ эхо привет
Следующие инструкции могут быть затронуты инструкцией SHELL
, когда оболочка форма из них используется в Dockerfile: RUN
, CMD
и ENTRYPOINT
.
В следующем примере показан распространенный шаблон в Windows, который можно
упрощено с помощью инструкции SHELL
:
RUN powershell -command Execute-MyCmdlet -param1 "c:\foo.txt"
Команда, вызываемая докером, будет:
cmd /S /C powershell -command Execute-MyCmdlet -param1 "c:\foo.txt"
Это неэффективно по двум причинам. Во-первых, есть ненужная команда cmd.exe
процессор (он же оболочка).Во-вторых, каждая инструкция RUN
в оболочке form требует дополнительной команды powershell -command
, предшествующей команде.
Чтобы сделать это более эффективным, можно использовать один из двух механизмов. Один из них используйте форму JSON команды RUN, например:
RUN ["powershell", "-command", "Execute-MyCmdlet", "-param1 \"c:\\foo.txt\""]
Хотя форма JSON однозначна и не использует ненужный cmd.exe,
это требует большей детализации за счет двойных кавычек и экранирования.Альтернативный
Механизм заключается в использовании инструкции SHELL
и формы оболочки ,
сделать синтаксис более естественным для пользователей Windows, особенно в сочетании с
директива синтаксического анализатора escape escape
:
# escape=`
ОТ майкрософт/наносервер
ОБОЛОЧКА ["powershell","-команда"]
RUN New-Item -ItemType Каталог C:\Example
ДОБАВИТЬ Execute-MyCmdlet.ps1 c:\example\
RUN c:\example\Execute-MyCmdlet -sample 'hello world'
Результат:
PS E:\myproject> docker build -t shell .Отправка контекста сборки демону Docker 4,096 КБ
Шаг 1/5: ОТ Microsoft/nanoserver
---> 22738ff49c6d
Шаг 2/5: SHELL powershell -команда
---> Запуск в 6fcdb6855ae2
---> 6331462d4300
Снятие промежуточного контейнера 6fcdb6855ae2
Шаг 3/5: RUN New-Item -ItemType Directory C:\Example
---> Запуск в d0eef8386e97
Каталог: C:\
Режим LastWriteTime Длина Имя
---- ------------- ------ ----
д----- 28.10.2016 11:26 Пример
---> 3f2fbf1395d9
Снятие промежуточного контейнера d0eef8386e97
Шаг 4/5: ДОБАВИТЬ Execute-MyCmdlet.ps1 c:\пример\
---> a955b2621c31
Снятие промежуточного контейнера b825593d39fc
Шаг 5/5: ЗАПУСК c:\example\Execute-MyCmdlet 'hello world'
---> Запуск в be6d8e63fe75
Привет мир
---> 8e559e9bf424
Снятие промежуточного контейнера be6d8e63fe75
Успешно построен 8e559e9bf424
PS E:\мой проект>
Инструкция SHELL
также может быть использована для изменения способа
работает оболочка. Например, используя SHELL cmd /S /C /V:ON|OFF
в Windows,
Семантика раскрытия переменной среды может быть изменена.
Инструкция SHELL
также может использоваться в Linux, если требуется альтернативная оболочка.
требуются такие как зш
, кш
, ткш
и другие.
Примеры Dockerfile
Примеры файлов Dockerfile см. по адресу:
builder, docker, Dockerfile, автоматизация, создание образанаиболее полезных команд CMD в Windows
Команды CMD являются наиболее предпочтительным способом выполнения каких-либо действий компьютерными экспертами и программистами. Сегодня мы изучим несколько полезных команд, которые сделают нашу работу легкой и продуктивной.
Наиболее полезные команды CMD в Windows
1. Команда подсказкиОбычно, когда мы открываем нашу командную строку, мы видим, что в левом углу написан путь к текущему каталогу. Итак, теперь мы хотим изменить его по нашему желанию. Здесь используется команда Prompt.
Синтаксис:
приглашение name_that_you_want
2. Заголовок Command
Аналогично, как и в приглашении, когда мы открываем командную строку, заголовок приложения выглядит так: « C:\WINDOWS\system3229exe ». Если мы хотим его изменить, то используем команду title.
Синтаксис:
title имя_что_вам_нужно
3. Color Command
Когда мы видим хакеров в фильмах, у которых на экране компьютера очень быстро перемещаются зеленые коды, мы восхищаемся. Возможно, вам стало скучно работать на черно-белом экране. Затем вы можете использовать команду цвета.
Требуется две шестнадцатеричных цифры. Первый для фона, второй для переднего плана.
Пример: цвет 02 делает текст зеленым и фон черным.
4. Открытие ярлыка CMD
Существует множество способов открыть командную строку в Windows. Сегодня мы собираемся обсудить, как открыть CMD в любой папке. Да, мы откроем его в любой папке. Просто перейдите в адресную строку этой папки, введите « cmd » и нажмите «, введите ».
5. Скрыть папки
Когда мы скрываем любую папку из ее свойств, она отображается, когда мы отмечаем «Показать скрытые файлы», и то же самое происходит, когда мы используем « attrib +h имя файла ».Итак, теперь мы увидим команду, которая скроет вашу папку, и нет никакого способа найти ее снова для других вместо вас.
9
Синтаксис:
ATTO + H + S + R FILENAME
Примечание: Примечание:
6 Использование « Attrib atter -h -s -s -r Файл », чтобы показать файл.6. Проверьте состояние аккумулятора ноутбука
Итак, первая команда предназначена для проверки состояния аккумулятора ноутбука.Командная строка предоставит вам краткую информацию и технические сведения об аккумуляторе вашего ноутбука. Чтобы просмотреть отчет об аккумуляторе, откройте командную строку от имени администратора и выполните следующую команду:
powercfg /batteryreport /output «C:\battery_report.html»
После нажатия клавиши ввода отчет об аккумуляторе вашего ноутбука будет сохраняется в указанном вами маршруте в формате html. (здесь мы указали путь к диску C).
Создан отчет об аккумуляторе
Ознакомьтесь с этой подробной статьей о проверке состояния аккумулятора ноутбука.
7. Поиск системных проблем
С помощью командной строки Windows вы можете проверить все системные файлы на наличие системных проблем, таких как повреждение файлов, с помощью одной команды. Просто откройте командную строку в административном режиме и введите:
sfc /scannow
Эта команда просканирует все защищенные системные файлы и заменит поврежденные файлы кэшированной копией, расположенной в сжатой папке %WinDir%\System32. \dllкэш. Этот процесс займет некоторое время, поэтому не закрывайте командную строку, пока проверка не будет завершена.
Поиск системных проблем
8. Просмотр лицензионного ключа Windows
Иногда необходимо перенести лицензию Windows 10 на новый компьютер. В то время ваш лицензионный ключ продукта Windows очень важен. Давайте посмотрим, как вы можете получить лицензионный ключ Windows с помощью командной строки. Как и ранее, откройте командную строку в административном режиме и после ввода команды, указанной ниже, нажмите клавишу ввода.
wmic path softwarelicensingservice get OA3xOriginalProductKey
Лицензионный ключ Windows
9.Сохранение деревьев папок на диск
Иногда вы не можете найти обзор всех вложенных папок на диске и путаетесь в расположении конкретной папки. В этой ситуации вам поможет командная строка. Это даст вам древовидное представление всех вложенных папок в этом каталоге. Введите эту команду, и после нажатия Enter вы увидите графическое представление всех папок.
дерево
Обзор всех вложенных папок на диске
Вы также можете добавить « > c:\export.txt » после дерева, чтобы сохранить результаты в текстовом файле, который вы можете просматривать в локальном хранилище.
Список всех папок сохраняется на диск C.
10. Просмотр и удаление истории инкогнито
Возможно, вы знаете, что на вашем компьютере есть система доменных имен (DNS), которая преобразует URL-адрес сайта, который вы вводите в адресной строке браузера, в IP-адрес, эквивалентный этому сайту. Таким образом, ваша история инкогнито также сохраняется в кеше DNS, который иногда называют кешем преобразователя DNS.
- Чтобы просмотреть кэш DNS, введите ipconfig /displaydns в командной строке и нажмите Enter, и вы увидите все сайты с их IP-адресами.
Кэш DNS, состоящий из списка веб-сайтов и их IP-адресов
- Чтобы удалить кеш DNS, введите ipconfig /flushdns , и ваша история инкогнито будет очищена.
Кэш DNS очищен
Вы также можете ознакомиться с нашей подробной статьей о том, как проверить историю инкогнито и удалить ее.
Вот пять командных трюков, которые вам нужно знать. Надеюсь, вы найдете в нем ценность. Чтобы узнать больше о таких командных трюках, посетите эту статью о полезных командах CMD для повседневного использования в ОС Windows
Командная строка Linux для начинающих
В этом разделе мы собираемся создать несколько реальных файлов для работы. Чтобы случайно не затоптать ваши настоящие файлы, мы начнем с создания нового каталога, подальше от вашей домашней папки, который будет служить более безопасной средой для экспериментов:
mkdir /tmp/tutorial
компакт-диск /tmp/учебник
Обратите внимание на использование абсолютного пути, чтобы убедиться, что мы создали каталог tutorial внутри /tmp .Без косой черты в начале команда mkdir
попытается найти каталог tmp внутри текущего рабочего каталога, а затем попытается создать внутри него каталог tutorial . Если он не сможет найти каталог tmp , команда завершится ошибкой.
Если вы не догадались, mkdir
— это сокращение от « m a k e dir ectory». Теперь, когда мы в безопасности внутри нашей тестовой области (дважды проверьте с pwd
, если вы не уверены), давайте создадим несколько подкаталогов:
mkdir dir1 dir2 dir3
Эта команда немного отличается.До сих пор мы видели только команды, которые работают сами по себе ( cd
, pwd
) или имеют один элемент после ( cd /
, cd ~/Desktop
). Но на этот раз мы добавили три вещи после команды mkdir
. Эти вещи называются параметры или аргументы , и разные команды могут принимать разное количество аргументов. Команда mkdir
ожидает как минимум один аргумент, тогда как команда cd
может работать с нулем или единицей, но не более.Посмотрите, что происходит, когда вы пытаетесь передать неправильное количество параметров команде:
mkdir
cd /etc ~/Рабочий стол
Вернуться к нашим новым каталогам. Приведенная выше команда создаст три новых подкаталога внутри нашей папки. Давайте посмотрим на них с помощью команды ls
( l i s t):
ls
Если вы выполнили последние несколько команд, ваш терминал должен выглядеть примерно так:
Обратите внимание, что mkdir
создал все папки в одном каталоге.Он не создал dir3 внутри dir2 внутри dir1 или любую другую вложенную структуру. Но иногда это удобно, и у mkdir
есть способ:
mkdir -p dir4/dir5/dir6
лс
На этот раз вы увидите, что в список добавлен только dir4 , потому что dir5 находится внутри него, а dir6 находится внутри него.Позже мы установим полезный инструмент для визуализации структуры, но у вас уже достаточно знаний, чтобы подтвердить это:
cd dir4
лс
компакт-диск dir5
лс
компакт диск ../..
«-p», который мы использовали, называется опцией или переключателем (в данном случае это означает «создать также p арентные каталоги»). Параметры используются для изменения способа работы команды, позволяя одной команде вести себя различными способами.К сожалению, из-за особенностей истории и человеческой природы параметры могут принимать разные формы в разных командах. Вы часто будете видеть их как отдельные символы, которым предшествует дефис (как в этом случае), или как более длинные слова, которым предшествуют два дефиса. Односимвольная форма позволяет комбинировать несколько параметров, хотя не все команды принимают это. И чтобы еще больше запутать ситуацию, некоторые команды вообще не идентифицируют четко свои параметры, и то, является ли что-либо параметром, определяется исключительно порядком аргументов! Вам не нужно беспокоиться обо всех возможностях, просто знайте, что варианты существуют, и они могут принимать различные формы.Например, следующие символы означают одно и то же:
# Не вводите их, они здесь только для демонстрационных целей.
mkdir --parents --verbose dir4/dir5
mkdir -p --verbose dir4/dir5
mkdir -p -v dir4/dir5
mkdir -pv dir4/dir5
Теперь мы знаем, как создать несколько каталогов, просто передав их в качестве отдельных аргументов команде mkdir
. Но предположим, мы хотим создать каталог с пробелом в имени? Давайте попробуем:
mkdir другая папка
лс
Вам, вероятно, даже не нужно было вводить это, чтобы догадаться, что произойдет: две новые папки, одна называется , другая , а другая называется , папка .Если вы хотите работать с пробелами в именах каталогов или файлов, вам нужно экранировать их. Не волнуйтесь, никто не сбегает из тюрьмы; экранирование — это компьютерный термин, который относится к использованию специальных кодов, чтобы заставить компьютер обрабатывать определенные символы иначе, чем обычно. Введите следующие команды, чтобы попробовать разные способы создания папок с пробелами в имени:
mkdir "папка 1"
mkdir 'папка 2'
папка mkdir\ 3
mkdir "папка 4" "папка 5"
mkdir -p "папка 6"/"папка 7"
лс
Хотя командная строка может использоваться для работы с файлами и папками с пробелами в именах, необходимость заключать их в кавычки или обратную косую черту усложняет задачу.О человеке, который много использует командную строку, часто можно узнать только по именам его файлов: он склонен придерживаться букв и цифр и использовать знаки подчеркивания ("_") или дефисы ("-") вместо пробелов.
Создание файлов с использованием перенаправления
Наша демонстрационная папка начинает выглядеть заполненной каталогами, но файлов в ней немного не хватает. Давайте исправим это, перенаправив вывод команды так, чтобы он не выводился на экран, а попадал в новый файл. Во-первых, напомните себе, что в данный момент показывает команда ls
:
ls
Предположим, мы хотим зафиксировать вывод этой команды в виде текстового файла, который мы можем просматривать или обрабатывать дальше.Все, что нам нужно сделать, это добавить символ «больше» («>») в конец нашей командной строки, за которым следует имя файла для записи:
ls > output.txt
На этот раз ничего не выводится на экран, потому что вместо этого вывод перенаправляется в наш файл. Если вы просто запустите ls
, вы увидите, что файл output.txt создан. Мы можем использовать команду cat
, чтобы просмотреть его содержимое:
вывод cat.текст
Итак, это не именно то, что отображалось на экране ранее, но оно содержит все те же данные, и в более удобном для дальнейшей обработки формате. Давайте посмотрим на другую команду, echo
:
echo "Это тест"
Да, echo
просто снова выводит свои аргументы (отсюда и название). Но объедините это с перенаправлением, и вы получите способ легко создавать небольшие тестовые файлы:
echo "Это тест" > test_1.текст
echo "Это второй тест" > test_2.txt
echo "Это третий тест" > test_3.txt
лс
Вы должны cat
каждый из этих файлов проверить их содержимое. Но cat
— это больше, чем просто просмотрщик файлов — его название происходит от «con cat enate», что означает «связывать вместе». Если вы передадите более одного имени файла cat
, он выведет каждое из них, одно за другим, в виде одного блока текста:
cat test_1.txt test_2.txt test_3.текст
Если вы хотите передать несколько имен файлов одной команде, есть несколько полезных сочетаний клавиш, которые могут сэкономить вам много времени, если файлы имеют похожие имена. Знак вопроса ("?") может использоваться для обозначения "любого одиночного символа" в имени файла. Звездочка («*») может использоваться для обозначения «ноля или более символов». Их иногда называют «подстановочными знаками». Может помочь пара примеров, все следующие команды делают одно и то же:
cat test_1.txt test_2.txt test_3.txt
кот test_?.txt
кот тест_*
Требуется дополнительное экранирование
Как вы могли догадаться, эта возможность также означает, что вам нужно экранировать имена файлов с помощью ? или символы * в них тоже. Обычно лучше избегать знаков препинания в именах файлов, если вы хотите манипулировать ими из командной строки.
Если вы посмотрите на вывод ls
, вы заметите, что единственные файлы или папки, начинающиеся с «t», — это три тестовых файла, которые мы только что создали, так что вы можете даже упростить последнюю команду до . cat t*
, что означает «объединить все файлы, имена которых начинаются с t и за которыми следует ноль или более других символов».Давайте воспользуемся этой возможностью, чтобы объединить все наши файлы вместе в один новый файл, а затем просмотрим его:
cat t* > Combined.txt
кот комбинированный.txt
Как вы думаете, что произойдет, если мы запустим эти две команды во второй раз? Будет ли компьютер жаловаться, потому что файл уже существует? Будет ли он добавлять текст в файл, чтобы он содержал две копии? Или полностью заменит? Попробуйте посмотреть, что произойдет, но чтобы не вводить команды снова, вы можете использовать клавиши со стрелкой вверх и со стрелкой вниз для перемещения вперед и назад по истории команд, которые вы использовали.Нажмите Стрелку вверх пару раз, чтобы перейти к первому коту
, и нажмите . Введите , чтобы запустить его, затем сделайте то же самое еще раз, чтобы перейти ко второму.
Как видите, файл выглядит так же. Это не потому, что его оставили нетронутым, а потому, что оболочка очищает все содержимое файла перед записью в него вывода вашей команды cat
. Из-за этого вы должны быть особенно осторожны при использовании перенаправления, чтобы убедиться, что вы случайно не перезаписали нужный файл.Если вы хотите добавить, а не заменить содержимое файлов, удвойте символ «больше чем»:
cat t* >> Combined.txt
echo "Я добавил строку!" >> в сочетании.txt
кот комбинированный.txt
Повторите первый cat
еще несколько раз, используя для удобства стрелку вверх , и, возможно, добавьте еще несколько произвольных эхо-команд
, пока ваш текстовый документ не станет настолько большим, что он не вместится весь. терминал сразу, когда вы используете cat
для его отображения.Чтобы увидеть весь файл, теперь нам нужно использовать другую программу, называемую пейджером (потому что она отображает ваш файл по одной «странице» за раз). Старый стандартный пейджер назывался more
, потому что он помещает строку текста внизу каждой страницы с надписью «-More-», чтобы показать, что вы еще не все прочитали. В наши дни есть гораздо лучший пейджер, который вы должны использовать вместо него: поскольку он заменяет больше
, программисты решили назвать его меньше
.
меньше вместе.txt
При просмотре файла через меньше
вы можете использовать Стрелка вверх , Стрелка вниз , Page Up , Page Down , Home и End и End Дайте им попробовать увидеть разницу между ними. Когда вы закончите просмотр своего файла, нажмите q до q uit минус
и вернитесь в командную строку.
Примечание по делу
Системы Unix чувствительны к регистру, то есть они считают «A.txt» и «a.txt» как два разных файла. Если бы вы запустили следующие строки, вы бы получили три файла:
echo "Нижний регистр" > a.txt
эхо "Верхний регистр" > A.TXT
echo "Смешанный регистр" > A.txt
Как правило, следует стараться избегать создания файлов и папок, имена которых различаются только в зависимости от регистра. Это не только поможет избежать путаницы, но и предотвратит проблемы при работе с разными операционными системами. Windows, например, нечувствительна к регистру , поэтому она будет рассматривать все три имени файла выше как один файл, что может привести к потере данных или другим проблемам.
У вас может возникнуть соблазн просто нажать клавишу Caps Lock и использовать верхний регистр для всех имен файлов. Но подавляющее большинство команд оболочки написаны строчными буквами, поэтому вам часто приходилось включать и выключать их по мере ввода. Большинство опытных пользователей командной строки, как правило, в первую очередь придерживаются имен своих файлов и каталогов в нижнем регистре, поэтому им редко приходится беспокоиться о конфликтах имен файлов или о том, какой регистр использовать для каждой буквы в имени.
Надлежащая практика именования
Когда вы учитываете как чувствительность к регистру, так и экранирование, хорошим эмпирическим правилом является сохранение имен файлов в нижнем регистре, с использованием только букв, цифр, символов подчеркивания и дефисов.Для файлов обычно также есть точка и несколько символов в конце, чтобы указать тип файла (называемый «расширением файла»). Это руководство может показаться ограничительным, но если вы в конечном итоге будете использовать командную строку с какой-либо частотой, вы будете рады, что придерживаетесь этого шаблона.