Hostwinds Учебники

Результаты поиска для:


Содержание


Начало работы с WSL
Файл -системы WSL и Windows
WSL и Windows Du Command
Смешивание команд Linux и Windows

Как использовать подсистему Windows для Linux (WSL)

Теги: Cloud Servers,  Dedicated Server 

Начало работы с WSL
Файл -системы WSL и Windows
WSL и Windows Du Command
Смешивание команд Linux и Windows

Подсистема Windows для Linux (WSL) позволяет выполнять бинарные исполнители Linux, изначально в Windows 10 и выше, а также Windows Server 2019 и выше.WSL использует истинное ядро Linux через подмножество функций Hyper-V.Чтобы узнать, как установить WSL для Windows, см. Как изначально запустить Linux на Windows 10 и выше.

В этом уроке мы начнем с некоторых простых примеров и завершились использованием команд Linux, PowerShell и DOS (CMD.Exe) вместе.

Начало работы с WSL

Для начала откройте установленное распределение Linux следующим образом:

Шаг 1: Выберите Начало Меню, затем выберите установленное вами распределение Linux - для этого примера мы установили Ubuntu.

Теперь вы должны быть в командной строке Linux для вашего распространения:

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

В этом примере подчеркивается тот факт, что вы можете запускать команды PowerShell из среды WSL Linux.В вышеперечисленном обратите внимание на цитаты вокруг команды PowerShell (не все команды WSL PowerShell требуют цитаты, как в PowerShell.exe Get-Process)Это поведение виртуальной машины также можно увидеть при запуске Linux Топ Команда:

Четвертый в линии из вышеперечисленного мы видим, что есть 11911,9 MIB (или Legacy MB) «физической» памяти.Чтобы определить фактическую физическую память системы, вы можете запустить следующие команды Windows из WSL:

systeminfo.exe | finstr.exe

Это показывает, что на самом деле 15 289 МБ физической памяти:

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

Затем мы рассмотрим системы WSL Linux и Windows Files и то, как они подвергаются воздействию друг друга.

Файл -системы WSL и Windows

Из WSL запустите следующие команды:

cd /
ls -lah

Например:

Это типичный список каталогов Linux.Однако, если мы посмотрим на мнт каталог, мы можем увидеть, как файловая система Windows выявляется через WSL (примечание команды):

В вышеперечисленном мы видим стандартные папки Windows, такие как программные файлы, пользователи, Windows и т. Д.

Теперь, на стороне Windows, мы можем получить доступ к файловой системе WSL следующим образом:

1. Откройте Windows Explorer и в адресной строке, введите сетевой диск \\ wsl $, как показано:

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

2. Дважды щелкните установленное вами распределение Linux (Ubuntu в этом примере).Это обеспечивает доступ к файловой системе WSL:

WSL и Windows Du Command

Затем давайте рассмотрим команду Linux, которая действительно должна иметь Windows - команда DU.В Windows может быть сложно сортировать как файлы, так и каталоги по размеру.Для Linux эта задача относительно проста:

du -aSh 2>&1 | sort -n -r | head -n 5

Пример следует:

Для вышеизложенного:

  • du -ash 2> & 1 Возвращает информацию о размере файла/каталога, игнорируйте любые ошибки разрешения.
  • Sort -n -r Сортирует список файлов/каталогов по размеру, от наименьшего до самых больших.
  • Голова -n 5 Возвращает 5 самых больших файлов/каталогов.

Не было бы хорошо, если бы Windows смогут это сделать?Что ж, благодаря WSL, теперь это может.Из поднятой командной строки Windows (cmd.exe) запустите следующее:

wsl du -aSh 2>&1 | wsl sort -n -r | wsl head -n 5

Это приводит к выводу, аналогично:

Обратите внимание WSL предшествует каждой команде Linux.Это требуется, чтобы Windows знала, что мы запускаем команду Linux (из вашего установленного распределения), а не команду по уродливой Windows.

Далее, давайте немного глубже в отношении комбинирования команд Linux, PowerShell и DOS (CMD.Exe).

Смешивание команд Linux и Windows

Вот пример команд смешивания в командной строке WSL Linux.Это сочетает в себе Linux, PowerShell и DOS:

powershell.exe Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | awk '{print $2}'

Сначала мы запускаем Get-Childitem Команда PowerShell, затем впишите это в DOS Findstr команда и, наконец, впишите это в Linux ав командованиеЧтобы лучше понять поток команд, мы начнем с представителя Get-Childitem выход:

Затем мы используем Findstr Команда DOS, чтобы выбрать вывод, содержащий «Карлито»:


Наконец, мы выбираем второй столбец, используя Linux ав Команда:

Далее мы запустим аналогичную команду из командной строки PowerShell, как показано:

Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | wsl awk '{ print \$6 }'

Опять же, мы посмотрим на этот шаг за шагом, начиная с репрезентативных результатов Get-Childitem:

Затем мы находим файлы/каталоги, содержащие «Карлито:

Обратите внимание на шесть столбцов выше (данные PM/AM считаются столбцом).Из -за этого нам нужно изменить ав командование следующим образом:

Соблюдать \ персонаж до $6 в ав командованиеПоскольку $ Персонаж имеет особое значение в PowerShell, поэтому мы должны избежать, используя \, как показано.

Последний пример запускает ту же команду, но из командной строки Windows (cmd.exe):

Обратите внимание на использование powershell.exe запустить команду PowerShell и WSL Чтобы запустить команду Linux.

В заключение, используя WSL для прикрепления распределения Linux к окнам, вы расширяете мощность и возможности окон, а также у вас есть удобная оболочка Linux у вас под рукой.И, надеюсь, информация, представленная в этом учебнике, улучшит вашу командование и эффективность.

Написано Karlito Bonnevie  /  Июнь 17, 2022