Командная строка linux для виндовс

BASH – оболочка пользователя подсистемы Windows для Linux (WSL) в Windows 10.

Начиная с 2016 в Windows 10 появилась возможность использования подсистемы Windows для Linux (WSL — W indows S ubsystem for L inux), позволяющей легко и просто установить из Microsoft Store некоторые дистрибутивы Linux, в том числе Debian, Ubuntu, Kali, Suse. Подробности — Linux в среде Windows 10. При использовании WSL, пользователь получает не изолированную виртуальную машину с Linux, а интегрированную в Windows подсистему с возможностью выполнения утилит командной строки из обеих ОС, запуск программ одной ОС из среды другой и т.п. Кроме того, WSL предоставляет пользователю Windows 10 возможность использования нескольких дистрибутивов Linux одновременно.

bash.exe — утилита командной строки в подсистеме Windows для Linux (Windows Subsystem for Linux), обеспечивающая оболочку bash пользователя (shell) операционной системы Linux. Представляет собой командный процессор, работающий, как правило, в интерактивном режиме в текстовом окне. Bash также может читать команды из файла, который называется скриптом или сценарием. Нужно отметить, что команда разработчиков подсистемы WSL, в том числе и bash.exe , проделала огромную работу над программой, и с каждым новым релизом Windows 10, ее возможности становятся все более приближенными к возможностям классической оболочки bash Linux, и приобретают дополнительные качества, направленные на обеспечение максимальной совместимости Windows и Linux.

Формат командной строки:

bash [длинные опции GNU] [опции] .

bash [длинные опции GNU] [опции] файл_со_скриптом.

Длинные опции GNU:

—debug
—debugger
—dump-po-strings
—dump-strings
—help
—init-file
—login
—noediting
—noprofile
—norc
—posix
—rcfile
—restricted
—verbose
—version

-ilrsD или -c команда или -O короткие параметры ( только при запуске)

-abefhkmnptuvxBCHP или опция -o

Для получения дополнительной информации о параметрах командной строки используется команда:

bash -c «help set»

Для получения подсказки по внутренним командам bash используется команда:

bash -c help команда

В системе могут быть установлены несколько дистрибутивов Linux, и один из них является дистрибутивом по умолчанию. Утилита работает именно с данным дистрибутивом. Список зарегистрированных в системе дистрибутивов можно получить с помощью команд:

wslconfig /l
или

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

kali-linux (по умолчанию)
Ubuntu
SLES-15
ubuntu2
Ubuntu-18.04

Дистрибутив по умолчанию можно сменить с помощью команд wsl или wslconfig :

wsl —setdefault kali-linux — определить дистрибутив kali-linux дистрибутивом по умолчанию.

wslconfig /setdefault ubuntu — определить дистрибутив ubuntu дистрибутивом по умолчанию.

При запуске bash.exe без параметров, программа выполняется в интерактивном режиме, ожидая ввода команд пользователем. Строка приглашения содержит имя пользователя, компьютера и текущий каталог, унаследованный из среды windows:

Логические диски Windows монтируются в среде Linux в точки монтирования /mnt/c для диска C: , /mnt/d для диска D: и т.д. Путь /mnt/c/WINDOWS/system32 соответствует C:\WINDOWS\system32 в Windows. Оболочка для дистрибутива Ubuntu запускается в контексте учетной записи суперпользователя root , но, например, для kali-linux — в контексте учетной записи пользователя.

Читайте также:  Linux для восстановления системы windows

Для просмотра переменных окружения можно воспользоваться командой env . Пример выводимой информации:

SHELL=/bin/bash
WSL_DISTRO_NAME=kali-linux
NAME=Win10n
PWD=/mnt/c/WINDOWS/system32
LOGNAME=user
HOME=/home/user
LANG=en_US.UTF-8
TERM=xterm-256color
USER=user
SHLVL=1
WSLENV=
PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin /mnt/c/WINDOWS/system32: /mnt/c/WINDOWS: /mnt/c/WINDOWS/System32/Wbem: /mnt/c/WINDOWS/System32 /WindowsPowerShell/v1.0/: /mnt/c/WINDOWS/System32 /OpenSSH/: /mnt/c/Users/usr/AppData/Local/ Microsoft/WindowsApps
HOSTTYPE=x86_64
_=/usr/bin/env

Переменная WSL_DISTRO_NAME определяет имя дистрибутива Linux в подсистеме WSL . Переменная WSLENV может быть использована для обмена данными между скриптами, выполняющимися как в среде Linux, так и в среде Windows. Переменная PATH задает пути поиска исполняемых файлов в обеих ОС.

Работу в среде выбранного дистрибутива Linux следует начать с обновления пакетов программ, например, для пользователя kali-linux :

sudo apt update

sudo apt upgrade

Для случая выполнения оболочки bash в контексте учетной записи root, команда sudo не нужна:
apt update

Для удобства работы можно установить файловый менеджер Midnight Commander :

И, например, на левой панели отобразить файловую структуру Linux, а на правой – файловую структуру Windows:

Оболочка позволяет выполнять запуск программ как Linux, так и Windows:

ping yandex.ru — выполнить опрос узла yandex.ru утилитой ping из среды Linux

/mnt/c/WINDOWS/system32/notepad.exe — запустить приложение Блокнот из среды Windows

В случае запуска из текущего каталога, полный путь указывать не обязательно:

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

Выполняемые командой bash скрипты (сценарии) могут находиться как в файловой системе Linux, так и в файловой системе Windows:

bash /home/user/scripts/test.sh — выполнить скрипт test.sh из домашнего каталога пользователя user Linux

bash /mnt/d/scripts/test.sh — выполнить скрипт test.sh из каталога файловой системы Windows D:\scripts

bash ./test.sh — выполнить скрипт test.sh из текущего каталога файловой системы (Windows или Linux).

Подсистема Windows для Linux не предоставляет пользователю полноценное ядро Linux, по крайней мере, на момент реализации в Windows 10.0.18362.295. По этой причине, например, невозможно установить драйверы ядра (kernel drivers), что накладывает определенные ограничения на использование программного обеспечения, которому необходим доступ к оборудованию – датчикам температуры, напряжения, контроля скорости вращения вентиляторов и т.п. (lm-sensors и ему подобное ПО).

При работе с командной строкой в Windows 10 вместо bash удобнее пользоваться новой командой wsl, а также новым Терминалом Windows вместо стандартной консоли.

Источник

Установка консольной Linux в Windows 10

На данный момент консольные Linux свободно устанавливаются из Microsoft Store. Они идеально подходят для разработки, работы с файловой системой, удаленного администрирования и тысячи других задач. В этом руководстве я познакомлю вас с настройкой подсистемы Windows для Linux (WSL) на вашем компьютере с Windows, чтобы вы могли в полной мере использовать свои навыки работы с командной строкой UNIX. Для активации подсистемы Windows для Linux на вашем компьютере должна быть установлена ​​64-разрядная Windows 10 версии 1607 и выше. Если ваша версия ниже вам придется обновить Windows, прежде чем активировать подсистему.

Активация Bash или WSL

Подсистема Windows для Linux (WSL) является встроенной функцией Windows 10, но ее необходимо включить вручную, и есть несколько способов это сделать:

Читайте также:  Не очищает кэш обновлений windows

С помощью команды.

Для этого запускаем командную строку — Power Shell, от имени администратора. Далее набираем следующую команду:

Система попросит перезагрузку — соглашаемся, набираем «Y» и нажимаем «Enter».

С помощью параметров.

Открываем параметры > Приложения > Приложения и возможности. Находим «Сопутствующие параметры» и нажимаем «Программы и компоненты». В открывшемся окне выбираем «Включение или отключение компонентов Windows». Ищем в списке «Подсистема Windows для Linux» и ставим галочку. Перезагружаем компьютер.

Установка дистрибутива Linux

После перезагрузки компьютера, следующим шагом будет установка дистрибутива Linux. Откройте Microsoft Store — поищите «Microsoft Store» в строке поиска Windows, или найдите его в меню «Пуск». В приложении магазина выполните поиск по запросу «Linux». Выберите необходимый вам дистрибутив (в большинстве случаев выбирают Ubuntu) и нажмите «Получить» и «Установить».

Добавление учетной записи пользователя Linux

После завершения загрузки и установки приложения — запускаем его. Откроется терминал, и система предложит создать учетную запись пользователя. Введите предпочитаемое имя пользователя и пароль. Это могут быть любые имя пользователя и пароль, не обязательно использовать ваше имя пользователя и пароль от Windows. Обратите внимание, что вам будет предложено ввести ваш пароль дважды, и ваш пароль не будет отображаться в терминале, во время его ввода.

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

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

Изменение рабочего каталога по умолчанию

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

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

Прокрутите его до конца и нажмите i , что бы перейти в режим редактирования. Затем необходимо ввести cd , после чего указать путь к новому каталогу по умолчанию. Обратите внимание, что в Ubuntu ваш диск C: находится внутри папки /mnt/ , в результате чего у вас должна получается, примерно такая запись:

Хорошим тоном будет добавление комментария # , чуть выше сделанной записи, который кратко сообщит о том, что делает новая команда:

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

Затем, что бы перезапустить командную строку вводим следующую команду:

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

Источник

Сответствие консольных команд Windows и Linux.

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

Читайте также:  Windows 10 home edition для одного языка

Соответствие команд CMD Windows командам Linux

Описание Команда CMD Windows Команда Linux
Вызов справочной системы HELP apropos, man, whatis
Вызов командного интерпретатора (оболочки) CMD bash, csh, sh
Очистка экрана CLS clear, reset
Вывод сообщения на экран ECHO echo
Пауза в работе PAUSE sleep
Настройка параметров терминала MODE stty
Установка значений переменных окружения (указание путей к каталогам) PATH, SET, SETx env, set
Изменение системной даты DATE date
Изменение системного времени TIME date
Выход из командной строки EXIT exit
Работа с файлами и каталогами
Отображение списка файлов и каталогов DIR dir, ls
Создание каталога MKDIR mkdir
Удаление каталога RMDIR rmdir
Удаление файла DEL, ERASE rm
Переход в другой каталог CD cd
Копирование файлов или каталогов COPY, XCOPY cp
Переименование файла REN, RENAME mv
Перемещение файлов MOVE mv
Поиск файла WHERE find, locate
Вывод на экран содержимого файла TYPE, MORE cat, less, more
Сравнение содержимого двух файлов COMP, FC cmp, diff, diff3, sdiff
Сортировка строк в текстовом файле SORT sort
Изменение атрибутов файла ATTRIB chmod
Создание символьной ссылки на файл или каталог MKLINK ln
Резервное копирование данных ROBOCOPY cpio, tar
Вызов текстового редактора EDIT (нет в Windows Vista и старше) vi
Работа с томами и разделами
Создание разделов FDISK fdisk
Управление разделами DISKPART parted, partx
Форматирование диска, создание файловой системы DISKPART, FORMAT mformat, mkfs
Проверка файловой системы CHKDSK fsck
Управление системой.
Отобразить список процессов TASKLIST, QUERY PROCESS ps
Уничтожить процесс TASKKILL kill, killall
Перезагрузить компьютер SHUTDOWN shutdown, reboot
Выключить компьютер SHUTDOWN shutdown, halt
Выполнить команду от имени другого пользователя RUNAS sudo
Отобразить имя компьютера HOSTNAME hostname
Пользователи и группы.
Создать нового пользователя NET USER useradd
Изменить параметры пользователя NET USER usermod
Изменить пароль пользователя NET USER passwd
Удалить пользователя NET USER userdel
Создать новую группу пользователей NET GROUP groupadd
Изменить параметры группы NET GROUP groupmod
Удалить группу NET GROUP groupdel
Отобразить список активных пользователей QUERY USER users
Работа с сетью.
Работа с таблицей соответствия IP и MAC адресов ARP arp arp
Конфигурация протокола IP IPCONFIG, NETSH ifconfig, ip
Работа с таблицей маршрутизации ROUTE route
Опрос узла по протоколу ICMP PING ping
Клиент Telnet TELNET telnet
Работа с DNS-сервером в интерактивном режиме NSLOOKUP dig, nslookup
Трассировка маршрута к удаленному узлу TRACERT traceroute
Отобразить статистику сетевых соединений NETSTAT netstat

Строчные и заглавные буквы для команд командной строки Windows воспринимаются одинаково, ECHO и echo — будет интерпретировано как одна и та же команда. При работе в командной строке Linux соблюдение регистра символов обязательно.

Если вы желаете помочь развитию проекта, можете воспользоваться кнопкой «Поделиться» для своей социальной сети

Источник

Оцените статью