командная строка ubuntu в windows
BASH – оболочка пользователя подсистемы Windows для Linux (WSL) в Windows 10.
Формат командной строки:
bash [длинные опции GNU] [опции] файл_со_скриптом.
—debug
—debugger
—dump-po-strings
—dump-strings
—help
—init-file
—login
—noediting
—noprofile
—norc
—posix
—rcfile
—restricted
—verbose
—version
Для получения дополнительной информации о параметрах командной строки используется команда:
Для получения подсказки по внутренним командам bash используется команда:
В системе могут быть установлены несколько дистрибутивов Linux, и один из них является дистрибутивом по умолчанию. Утилита работает именно с данным дистрибутивом. Список зарегистрированных в системе дистрибутивов можно получить с помощью команд:
Первым в списке дистрибутивов отображается дистрибутив по умолчанию:
kali-linux (по умолчанию)
Ubuntu
SLES-15
ubuntu2
Ubuntu-18.04
Дистрибутив по умолчанию можно сменить с помощью команд wsl или wslconfig :
При запуске bash.exe без параметров, программа выполняется в интерактивном режиме, ожидая ввода команд пользователем. Строка приглашения содержит имя пользователя, компьютера и текущий каталог, унаследованный из среды windows:
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
Работу в среде выбранного дистрибутива Linux следует начать с обновления пакетов программ, например, для пользователя kali-linux :
Для случая выполнения оболочки bash в контексте учетной записи root, команда sudo не нужна:
apt update
Для удобства работы можно установить файловый менеджер Midnight Commander :
И, например, на левой панели отобразить файловую структуру Linux, а на правой – файловую структуру Windows:
Оболочка позволяет выполнять запуск программ как Linux, так и Windows:
В случае запуска из текущего каталога, полный путь указывать не обязательно:
Выполняемые командой bash скрипты (сценарии) могут находиться как в файловой системе Linux, так и в файловой системе Windows:
Подсистема Windows для Linux не предоставляет пользователю полноценное ядро Linux, по крайней мере, на момент реализации в Windows 10.0.18362.295. По этой причине, например, невозможно установить драйверы ядра (kernel drivers), что накладывает определенные ограничения на использование программного обеспечения, которому необходим доступ к оборудованию – датчикам температуры, напряжения, контроля скорости вращения вентиляторов и т.п. (lm-sensors и ему подобное ПО).
При работе с командной строкой в Windows 10 вместо bash удобнее пользоваться новой командой wsl, а также новым Терминалом Windows вместо стандартной консоли.
WSL – запуск исполняемых файлов и конфигурирование подсистемы Windows для Linux (WSL) в Windows 10.
Формат командной строки:
wsl.exe [Аргументы] [Параметры. ] [командная строка]
Параметры командной строки:
Аргументы для запуска двоичного кода Linux:
— Если командная строка не указана, то wsl.exe запускает стандартную оболочку bash дистрибутива Linux, используемого по умолчанию.
Аргументы для управления подсистемой Windows для Linux:
Примеры использования WSL.EXE для запуска приложений.
Распределения подсистемы Windows для Linux:
Ubuntu (по умолчанию)
kali-linux
SLES-15
Ubuntu-18.04
На сегодняшний день перевод сообщений утилиты wsl.exe на русский язык оставляет желать лучшего. Первым в списке зарегистрированных в Windows 10 дистрибутивов Linux отображается дистрибутив, установленный по умолчанию. Именно этот дистрибутив используется для запуска исполняемых файлов Linux, если явно не указано имя другого дистрибутива.
Для просмотра переменных окружения дистрибутива по умолчанию, можно воспользоваться командой:
Пример отображаемой информации о переменных окружения:
HOSTTYPE=x86_64
LANG=C.UTF-8
WSL_DISTRO_NAME=Ubuntu
USER=root
PWD=/mnt/c/WINDOWS/system32
HOME=/root
NAME=Win10
SHELL=/bin/bash
TERM=xterm-256color
SHLVL=1
LOGNAME=root
PATH=/usr/local/sbin:/usr/local/bin: /usr/sbin:/usr/bin:/sbin:/bin:/usr/games: /usr/local/games:/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/User/AppData/Local/ Microsoft/WindowsApps
WSLENV=
_=/usr/bin/env
Переменную WSLENV можно применить для совместного использования сценариями Windows и Linux.
Пути поиска исполняемых файлов включают в себя как каталоги файловой системы Windows, так и каталоги Linux.
Одновременное применение команд разных ОС с разными переменными окружения и различным синтаксисом может вызывать некоторые трудности, Например, нужно установить и сражу же запустить в среде WSL файловый менеджер Midnight Commander ( mc ). Напрашивается решение объединить установку и запуск в контейнер:
wsl apt-get install mc && mc
Но, интерпретатор команд Windows воспримет специальный символ & как предназначенный командной оболочке Windows и интерпретирует вводимую строку как 2 команды:
Чтобы установленная программа mc выполнялась в среде Linux, она должна запускаться с помощью wsl.exe :
wsl apt-get install mc & wsl mc
Примеры использования WSL.EXE для администрирования дистрибутивов Linux.
Справочник по командам для WSL
Основные команды
После установки WSL поддерживаются следующие основные команды.
Установка
Устанавливает WSL и дистрибутив Linux Ubuntu. Подробнее.
Установка определенного дистрибутива Linux
Список доступных дистрибутивов Linux
Список установленных дистрибутивов Linux
Указание версии WSL (1 или 2)
Чтобы указать версию WSL (1 или 2), в которой работает дистрибутив Linux, измените на имя дистрибутива, а — на число 1 или 2. Применяется в WSL 1 и WSL 2.
Указание версии WSL по умолчанию
Указание дистрибутива Linux по умолчанию
Чтобы задать дистрибутив Linux по умолчанию, который команды WSL будут использовать для запуска, измените на имя предпочитаемого дистрибутива Linux.
Запуск определенного дистрибутива Linux из PowerShell или CMD
Обновление WSL
Проверка состояния WSL
Отображает общие сведения о конфигурации WSL, такие как тип дистрибутива по умолчанию, дистрибутив по умолчанию и версия ядра.
Команда help
Отображает список параметров и команд, доступных в WSL.
Домашний каталог
можно использовать с WSL для запуска в домашнем каталоге пользователя. Чтобы в командной строке WSL вернуться в домашний каталог из другого, можно использовать команду cd
Shutdown
Завершение
Чтобы завершить работу определенного дистрибутива или остановить его выполнение, замените именем нужного дистрибутива.
Экспорт дистрибутива в TAR-файл
Экспорт дистрибутива в TAR-файл. Именем файла может быть «-» для стандартного вывода.
Импорт нового дистрибутива
Отмена регистрации или удаление дистрибутива Linux
Позволяет отменить регистрацию определенного дистрибутива или удалить его, заменив именем целевого дистрибутива. Это приведет к удалению дистрибутива из WSL, а также всех связанных данных. Вы также можете удалить приложение дистрибутива Linux на компьютере под управлением Windows так же, как и любое другое приложение из Store.
Подключение диска или устройства
Позволяет подключить физический диск во всех дистрибутивах WSL 2, изменив на путь к каталогу или файлу, где расположен диск. См. статью Подключение диска Linux в WSL 2. Возможны следующие значения.
codedokode / cli.md
Как начать пользоваться командной строкой
Я не знаю, ты пользуешься Линуксом или Уиндоузом (обычно туториалы рассчитаны на линуксоидов и макосников, уиндоуз не модный среди молодежи). В макоси все практически так же как и в линуксе, в windows пошли своим путем и сделали все как в DOS.
Краткий мануал чайника по командной строке:
Как попасть в командную строку?
Во всех операционных системах
↑,↓ — стрелки вверх и вниз в командной строке позволяют смотреть предыдущие введенные команды, чтобы 2 раза не набирать. В Windows при закрытии окошка консоли вся история теряется, в других ОС — сохраняется.
[tab] — автодополняет имена файлов и команды. Если в текущем каталоге есть файл file.txt, ты наберешь fi и нажмешь [tab] то он автодополнит имя файла (или предложит варианты, если таких файлов несколько).
[ctrl+c] — прерывает выполнение команды, например, если она долго тупит
Важно: клавиша Esc не работает в командной строке. Клавиши Ctrl + C, V, X не работают как «копировать/вырезать/вставить» (иногда для вставки можно использовать Shift + Ins). Клавиша Ctrl + Q не работает как «выход».
В линуксе и маке, [ctrl+l] очищает экран, [ctrl+k] и [ctrl+u] удаляют все перед или после курсора, [ctrl+w] удаляет слово перед курсором, [ctrl+r] делает поиск по истории команд (для отмены поиска нажми [ctrl+c], escape в командной строке не работает, для завершения поиска нажми стрелку вправо/влево), [ctrl+d] завершает работу и закрывает консоль.
Еще в линуксе и маке иногда не работают Home и End, используй [ctrl+a] чтобы перейти в начала строки и [ctrl+e], чтобы в конец. [alt + b] (back) и [alt + f] (forward) двигают курсор на 1 слово назад/вперед.
В командной строке не работает ctrl+v,c,x для вставки, копирования и вырезания текста. Иногда (зависит от настроек системы) вставить текст можно через [shift+ins], иногда правой кнопкой мыши. Скопировать текст можно, выделив мышью (в Windows надо разрешить выделение текста сначала в настройках окна и нажать Enter после выделения).
В командной строке результат выполнения команд зависит от того, в каком каталоге и на каком диске ты находишься. Какой каталог текущий, в Windows написано в подсказке, а в linux можно узнать командой pwd (print working directory)
Чтобы перейти в другой каталог, в линуксе используют команду cd :
В linux — команда clear или клавиша [ctrl+L], в windows — команда cls (clear screen).
Команды и оболочка
Оболочка — это cmd.exe в Windows и bash в линукс, это та программа, которая собственно мигает курсором и выполняет твои команды. Ты набираешь команды, а она их выполняет. Команда обычно состоит из имени команды, и, иногда, дополнительных параметров, отделенных пробелом, вроде:
В линукс: man bash — выведет подробную длинную справку по команде bash (для выхода жми q, для прокрутки используй стрелки и PgUp/PgDn)
В Windows: dir /? — выведет справку по команде dir
В Windows: help выведет подсказку по основным командам
Команды бывают внутренние (это маленький список команд, встроенных в оболочку). Встроенные команды — это, например, cd в линукс или exit в Windows. Их мало.
Внешние команды — их большинство — это фактически программы, лежащие на диске. Оболочка ищет их не по всему диску, а только в заранее заданных папках. Список папок перечислен в специальной переменной PATH. Просмотреть эту переменную можно так:
В windows: echo %PATH%
В linux PATH — это папки /bin, /usr/bin, /usr/local/bin, /sbin, /usr/sbin, именно в них в Линуксе хранятся почти все программы. В текущем каталоге програмы не ищутся, если это не указать явно.
В Windows PATH — это всякие системные папки вроде c:\windows и так далее + текущий каталог, в котором ты находишься. Заметь, что папки вроде c:\program files\autocad в PATH не добавлены и в Windows таким образом, из командной строки обычные программы и игры, установленные в Program Files, не запустить. Только то, что положено в системные папки.
Что же делать? 1) добавить папку с php в PATH через мой компьютер — свойства и перезалогиниться в систему 2) писать вместо php полный путь c:\php\php.exe
Допустим, ты хочешь запустить php-файл не из текущего каталога. Тогда надо написать путь к нему:
В общем, проще запускать файлы из текущег каталога, чем мучаться с путями.
Больше команд — linux
Попрактиковаться в линукс в командной строке можно на таких командах:
Попрактиковаться в комнадной строке в Windows можно так:
Команды для работы с сетью Интернет
В линукс показать информацию о настройке сети: ifconfig (или /sbin/ifconfig если у тебя в PATH нет /sbin)
В Windows показать информацию о сети: ipconfig
Пропинговать (проверить связь) с сервером: ping google.com
Узнать IP по имени домена: nslookup yandex.ru
Показать список открытых с компьютера соединений: netstat (в подсказке по команде указаны также параметры, с помощью которых, например, можно вывести какая программа установила это соединение) Проверить путь до какого-то сервера или узла сети:
Гугли мануал по командной строке windows/linux в интернете.
Настройка дистрибутивов Linux
подсистема Windows для Linux (WSL) поддерживает запуск как угодно различных дистрибутивов Linux, которые вы хотите установить. это может включать в себя выбор дистрибутивов из Microsoft Store, импорт настраиваемого распределенияили создание собственного пользовательского распределения.
Способы запуска WSL
Существует несколько способов запустить дистрибутив Linux с WSL после установки.
Список установленных дистрибутивов
Отмена регистрации и повторная установка дистрибутива
хотя дистрибутивы Linux можно устанавливать с помощью Microsoft Store, их невозможно удалить через магазин.
Чтобы отменить регистрацию и удалить WSL распространения, выполните следующие действия.
Выполнение от имени определенного пользователя
Выполняет WSL от имени указанного пользователя. Обратите внимание на то, что этот пользователь должен существовать в дистрибутиве WSL.
Изменение пользователя по умолчанию для распределения
Изменение пользователя по умолчанию, который используется для входа в дистрибутив. Пользователь должен уже существовать в распределении, чтобы стать пользователем по умолчанию.
Запуск определенного дистрибутива
Запускает указанный дистрибутив WSL. Эту команду можно использовать для отправки команд в определенный дистрибутив без необходимости изменения дистрибутива по умолчанию.
Настройка параметров с помощью. вслконфиг и WSL. conf
Можно настроить параметры для установленных дистрибутивов Linux, таких как параметры автоматического подключения и конфигурация сети, которые будут автоматически применяться при каждом запуске WSL двумя способами.
чтобы получить доступ к вашему %UserProfile% каталогу, в PowerShell используйте cd
WSL обнаружит наличие этих файлов и прочитает их содержимое. Если этот файл отсутствует или имеет неправильный формат (т. е. неправильное форматирование разметки), WSL продолжит запуск в обычном режиме.
настройка параметров для каждого распределения с помощью файла. wsl. conf доступна только в Windows сборки 17093 и более поздних версий.
Параметры конфигурации распределения в WSL. conf
В wsl.conf приведенном ниже образце файла показаны некоторые параметры конфигурации, доступные для добавления в дистрибутивы.
Параметры для WSL. conf
В соответствии с соглашениями об INI-файлах ключи объявляются в разделе.
automount
По умолчанию WSL задает для идентификаторов UID и GID значения пользователя по умолчанию (в дистрибутиве Ubuntu пользователь по умолчанию создается с идентификаторами UID = 1000 и GID = 1000). Если пользователь явно указывает параметр GID или UID с помощью этого ключа, связанное значение будет перезаписано. В противном случае всегда будет добавляться значение по умолчанию.
Примечание. Эти параметры применяются в качестве параметров подключения для всех автоматически подключенных дисков. Чтобы изменить параметры для конкретного диска, используйте /etc/fstab.
Параметры подключения
Задание различных параметров подключения для дисков Windows (DrvFs) позволяет контролировать определение разрешений для файлов Windows. Доступны следующие варианты:
Маски разрешений подвергаются логической операции ИЛИ перед применением к файлам или каталогам.
network
Метка раздела: [network]
interop
Метка раздела: [interop]
Эти параметры доступны в выпусках для программы предварительной оценки, начиная со сборки 17713.
пользователь
Метка раздела: [user]
Эти параметры доступны в сборках 18980 и более поздних версий.
ключ | value | значение по умолчанию | HDInsight |
---|---|---|---|
значение по умолчанию | строка | Начальное имя пользователя, созданное при первом запуске | Задание этого параметра указывает, какой пользователь будет запускать, как при первом запуске сеанса WSL. |
Параметры просмотра пользователя
эти параметры доступны только в последней предварительной версии сборки, если вы используете последние сборки программы Windows insider.
Метка раздела: [boot]
ключ | value | значение по умолчанию | HDInsight |
---|---|---|---|
. | строка | «» | Строка команды, которую вы хотите выполнить при запуске экземпляра WSL. Эта команда выполняется от имени привилегированного пользователя. Например service docker start |
Глобальные параметры конфигурации с помощью. вслконфиг
Этот файл может содержать следующие параметры:
Параметры для. вслконфиг
Метка раздела: [wsl2]
Эти параметры влияют на виртуальную машину, на которой распространяется любое WSL 2.
записи со path значением должны быть Windows путями с escape-символами обратной косой черты, например: C:\\Temp\\myCustomKernel
Параметры предварительной версии параметра WSL 2
эти параметры доступны только в последней предварительной версии сборки, если вы используете последние сборки программы Windows insider.