Pokud pracujete ve Windows, ale potřebujete výkon linuxového terminálu, WSL je perfektním nástrojem pro vytváření a spouštění Bash skriptů bez nutnosti používat náročné virtuální stroje nebo dual-boot. V této komplexní příručce se naučíte, jak povolit WSL, nainstalovat Ubuntu, nakonfigurovat prostředí a vytvářet Bash skripty, které běží jako hodinky. Můžete také integrovat nástroje Windows, plánovat úlohy pomocí cronu a snadno ladit.
Cílem je dosáhnout elegantního a produktivního pracovního postupu: aktivujte WSL, nainstalujte si linuxovou distribuci, otevřete si svůj oblíbený editor (VS Code nebo Visual Studio), uložte si projekt na optimální místo pro dosažení nejlepšího výkonu a začněte psát Bash skripty, které automatizují reálné úlohy ve Windows s využitím výhod linuxového ekosystému.
Co je WSL a proč ho používat?
WSL (Windows Subsystem for Linux) je vrstva kompatibility od Microsoftu, která vám umožňuje spouštět skutečné linuxové prostředí v systému Windows . WSL 2 obsahuje odlehčené linuxové jádro, které poskytuje výrazně lepší výkon a kompatibilitu nástrojů ve srovnání s WSL 1. Budete moci používat Bash skripty, klasické utility jako grep, sed a awk a spouštět skripty stejně jako v nativní linuxové distribuci.
Integrace s Windows je hluboká: k souborům Windows můžete přistupovat z Linuxu a naopak, vyvolávat příkazy Linuxu z PowerShellu a spustitelné soubory Windows z Bash a dokonce i otevírat Průzkumníka souborů tak, že ukážete na aktuální adresář vaší relace WSL. Pokud pracujete ve smíšených prostředích, WSL vám ušetří neustálé přepínání mezi systémy.
Požadavky a aktivace WSL
Ve Windows 11 a novějších verzích Windows 10 je nejrychlejší způsob, jak povolit WSL, pomocí jediného příkazu . Otevřete PowerShell nebo CMD jako správce a spusťte:
wsl --install
Tento příkaz povolí potřebné komponenty, stáhne linuxové jádro, nastaví WSL 2 jako výchozí a nainstaluje distribuci (obvykle Ubuntu). Během tohoto procesu může být nutné restartovat počítač, aby se instalace dokončila.
Pokud dáváte přednost ruční metodě nebo váš tým vyžaduje předběžné kroky , můžete povolit funkce pomocí DISM z PowerShellu se zvýšenými oprávněními:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
>dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Dále nastavte WSL 2 jako výchozí a ujistěte se, že máte nejnovější jádro . Oprava WSL 2:
wsl --set-default-version 2
Zkontrolujte verzi Windows a případně sestavte systém (Win + R, zadejte 'winver'). V moderních sestavách funguje zjednodušený příkaz velmi dobře ; jinak postupujte podle manuálních kroků a restartujte.
Instalace a spuštění Ubuntu na WSL

Z obchodu Microsoft Store si můžete vybrat libovolnou distribuci (Ubuntu, Debian, Fedora atd.) . Pro předvídatelné a dobře zdokumentované prostředí je Ubuntu obvykle nejpraktičtější volbou s širokou kompatibilitou balíčků a průvodci.
Po instalaci otevřete distribuci z nabídky Start a dokončete vytvoření uživatele a hesla pro systém UNIX. Vytvořený uživatel bude výchozí a bude moci používat příkaz sudo pro administrativní operace.
Aktualizujte balíčky při spuštění , abyste měli k dispozici aktuální záplaty a zabezpečení:
sudo apt update && sudo apt upgrade -y
Ověřte, zda používáte WSL 2 a stav vašich distribucí pomocí:
wsl --list --verbose
Pokud vaše distribuce není ve WSL 2, převeďte ji (upravte název podle velikosti písmen):
wsl --set-version Ubuntu-22.04 2
Začínáme: Navigace v systému a správa souborů
Zvládnutí základních příkazů okamžitě zvýší vaši produktivitu . Můžete se pohybovat pomocí „cd“, vypisovat soubory pomocí „ls“, vytvářet adresáře pomocí „mkdir“ a spravovat soubory pomocí „cp“, „mv“ a „rm“.
cd /homezměnit adresářls -lavypsat včetně skrytýchmkdir scriptsvytvořit složkutouch notas.txtvytvořit prázdný soubornano archivo.shovim archivo.sheditovat z terminálu
Instalace běžných vývojářských utilit, jako jsou git, curl a kompilátory:
sudo apt install -y git curl build-essential
Nezapomeňte, že k disku C: se dostanete z WSL na adrese /mnt/c . Například pro přístup k uživatelské složce ve Windows :
cd /mnt/c/Users/tu_usuario
Správné postupy skladování a výkonu
Pro maximální rychlost uložte projekt do souborového systému Linux vaší distribuce WSL. při práci s linuxovými nástroji (Bash, GCC, Python atd.). Použijte svůj $HOME v WSL nebo standardních cestách Linuxu jak /home/tu_usuario/Proyecto.
Pokud chcete zvýšit výkon, vyhněte se práci přímo na discích připojených pomocí /mnt. Je to možné, ale přístup k C:\ pomocí /mnt/c může výrazně zpomalit určité operace náročné na I/O. Pokud potřebujete disk prozkoumat pomocí Průzkumníka Windows, spusťte:
explorer.exe .
Katalog souborového systému WSL můžete také otevřít v Průzkumníku. psaní do adresního řádku \\wsl$ a přístup k vaší distribuci. Pokud ve Windows preferujete explicitní cesty, příkladem by bylo \\wsl$\Ubuntu\home\tu_usuario\Proyecto.
Váš první Bash skript ve WSL
Bashský skript je textový soubor obsahující příkazy, které Bash provádí v pořadí . První řádek je obvykle shebang, což označuje interpret. V Bashu se používá toto :
#!/bin/bash
Vytvořte soubor skriptu a přidejte do něj minimální obsah pro otestování vašeho prostředí:
nano hola.sh
#!/bin/bash
echo '¡Hola, WSL!'
Udělte oprávnění ke spuštění a spusťte jej pomocí kterékoli z těchto metod:
chmod +x hola.sh
./hola.sh
bash hola.sh
sh hola.sh
Pokud používáte ./hola.sh a vidíte „Permission denied“ (Oprávnění odepřeno), chybí vám +x . Abyste se vyhnuli změně oprávnění během rychlých testů, můžete interpret zavolat přímo pomocí „bash script.sh“.
Proměnné, vstup a výstup
V Bashu neexistuje striktní typizace proměnných; vše je text, pokud nevyhodnocujete aritmetické operace.Můžete přiřadit pomocí nombre=valor a odkaz jako $nombre. Čtení od uživatele:
read -r nombre
echo "Hola, $nombre"
Přesměrování výstupu do souborů, používá > (přepíše) nebo >> (kachna):
echo 'Línea 1' > salida.txt
echo 'Línea 2' >> salida.txt
ls > listado.txt
Čtení ze souboru řádek po řádku (velmi užitečné v automatizaci):
while IFS= read -r linea; do
echo "$linea"
done < input.txt
Oprávnění a další: jak vytvořit spustitelné skripty
Oprávnění r, wy a x řídí čtení, zápis a provádění.Skriptům musí být přiřazeno x, aby je bylo možné spustit. ./script.sh. Spojené státy americké:
chmod u+x script.sh
Příkaz `#!/bin/bash` zajišťuje, že skript běží s Bashem, i když je výchozí shell jiný. Pokud chcete být 100% explicitní, získejte cestu k Bashu :
which bash
Podmíněné výrazy a smyčky v Bash
Řídicí struktury vám umožňují činit rozhodnutí a opakovat akce.Pro kontrolu podmínek použijte bloky. if a testovací operátoři. Jednoduchý příklad klasifikace čísla:
read -r n
if ; then
echo 'Positivo'
elif ; then
echo 'Negativo'
else
echo 'Cero'
fi
Pro opakování pokrývají většinu případů příkazy `while` a `for` . Inkrementace pomocí aritmetiky v Bashi:
i=0
while ; do
echo "Iteración $i"
(( i+=1 ))
done
Klasická smyčka for iteruje seznamy s velmi pohodlnou syntaxí :
for f in *.txt; do
echo "Procesando $f"
done
Pokud potřebujete více větví na jeden vzor, velká a malá písmena zjednodušují kód :
read -r fruta
case "$fruta" in
manzana) echo 'Roja';;
banana) echo 'Amarilla';;
*) echo 'Desconocida';;
esac
Základní příkazy a vestavěná nápověda
Pro hladkou navigaci mějte po ruce základní sadu příkazů : cd, ls, mkdir, touch, rm, cp, mv, echo, cat, grep, chmod, sudo, df, history, ps. Pro nalezení možností a příkladů a rychlé zrychlení si prostudujte manuál s použitím příkazu „man“ .
Automatizace úloh: cron ve WSL
Cron umožňuje naplánovat pravidelné spouštění skriptů na systémech podobných UNIXu. Otevřete crontab pomocí:
crontab -e
Syntaxe se skládá z pěti časových polí a příkazu . Užitečné příklady:
# Cada 5 minutos
*/5 * * * * /home/tu_usuario/scripts/tarea.sh
# A medianoche todos los días
0 0 * * * /home/tu_usuario/scripts/backup.sh
# A las 6:00 de lunes a viernes
0 6 * * 1-5 /home/tu_usuario/scripts/reporte.sh
Nezapomeňte dát skriptům oprávnění ke spuštění a použít absolutní cesty.Pokud něco nefunguje, Zkontrolujte systémové protokoly vaší distribuce; v Ubuntu se obvykle zaměřují na /var/log/syslog.
Ladění a ošetřování chyb v Bash
Chcete-li vidět, co skript dělá v reálném čase, aktivujte režim trasování při spuštění nebo během běhu:
# Dentro del script
set -x
# O al ejecutar
bash -x script.sh
Pokud chcete, aby se skript ukončil při selhání jakéhokoli příkazu, použijte 'set -e' . To je velmi užitečné v CI pipeline a kritických úlohách.
set -e
# tu código aquí
Pro provedení rozhodnutí a zaznamenání chyb zkontrolujte výstupní kód posledního příkazu pomocí znaku '$?' . Nula znamená úspěch a nenulové hodnoty označují chybu.
comando
if ; then
echo 'Hubo un error'
exit 1
fi
Interoperabilita: kombinace příkazů Windows a Linuxu
WSL umožňuje spouštět příkazy Linuxu z PowerShellu/CMD pomocí 'wsl' a spustitelné soubory Windows z Bash s příponou .exe . To otevírá řadu velmi praktických kombinací pro smíšené pracovní postupy.
- Z PowerShellu, seznam s Linuxem:
wsl ls -la - Filtrovat kombinaci Linuxu/Windows:
wsl ls -la | findstr 'git'odir | wsl grep git - Z Bash otevřete Poznámkový blok:
notepad.exe .bashrc - Extrahujte IPv4 pomocí smíšených nástrojů:
ipconfig.exe | grep IPv4 | cut -d: -f2
Binární soubory Windows, které spouštíte ze skriptů Bash, respektují váš aktuální adresář. ve většině případů se zobrazují ve Správci úloh, jako by byly otevřeny z CMD. Pokud potřebujete nativní příkazy CMD, použijte je přes 'cmd.exe /C' (například cmd.exe /C dir).
Pro sdílení proměnných prostředí mezi Windows a WSL existuje funkce WSLENV . Můžete určit, zda je proměnná cesta (/p), seznam cest (/l) nebo zda má být předána pouze z Win32→WSL (/u) nebo z WSL→Win32 (/w). Tato funkce usnadňuje čisté meziplatformní zpracování dat.
Úpravy a ladění pomocí VS Code a Visual Studia
Visual Studio Code nabízí bezproblémovou integraci s WSL díky rozšíření Remote Development. V terminálu WSL otevřete projekt a vzdálený server pomocí :
code .
Můžete ladit, instalovat rozšíření specifická pro WSL a pracovat, jako by se jednalo o nativní prostředí Linuxu . Pokud pracujete s C/C++, Visual Studio 2022 vám umožňuje kompilovat a ladit projekty CMake tak, že je nasměrujete na WSL nebo SSH ze stejné instance.
Kontejnery, databáze a akcelerace GPU
WSL 2 se bezproblémově integruje s Docker Desktop pro Windows , což vám umožňuje transparentně používat kontejnery připojené k vašemu prostředí WSL. Je to ideální řešení pro izolaci nástrojů a replikaci prostředí.
V rámci WSL můžete také spouštět běžné databáze, jako například MySQL, PostgreSQL, MongoDB nebo Redis, které jsou ideální pro lokální vývoj. Dokumentace ke každému enginu podrobně popisuje, jak tyto služby nainstalovat a spravovat pomocí systemd nebo ekvivalentních systémů ve vaší distribuci.
Pokud se věnujete strojovému učení nebo náročným úlohám, nakonfigurujte akceleraci GPU v WSL s potřebnými ovladači a komponentami. To může zkrátit dobu trénování a výrazně zlepšit výkon při práci s velkými datovými toky.
Připojení disků a desktopových aplikací pro Linux
WSL umožňuje připojovat disky a externí jednotky pomocí příslušného příkazu, což je užitečné pro přístup k dalším datům z Linuxu. Navíc je možné v moderním WSL spouštět linuxové aplikace s grafickým rozhraním bez složitých konfigurací a bezproblémově je integrovat s pracovní plochou Windows.
Upravujte pomocí Nano nebo Vimu a spravujte balíčky pomocí APT
Pro rychlé úpravy je Nano jednoduchý a dostačující (uložení pomocí Ctrl+O a ukončení pomocí Ctrl+X). Pokud dáváte přednost něčemu výkonnějšímu, Vim je váš přítel (ukončení pomocí :qo, uložení a ukončení pomocí :wq). V obou případech udržujte své prostředí aktuální pomocí apt.
sudo apt update
sudo apt upgrade -y
sudo apt install htop -y
Pokud si všimnete poškozených balíčků nebo zaseknutých závislostí, pamatovat si sudo apt -f install y sudo dpkg --configure -a, dva zástupné znaky pro nouzové situace s balíky.
Rychlé příklady užitečných skriptů
Kontextový výpis s datem (zobrazuje substituci příkazů a proměnných):
#!/bin/bash
echo "Hoy es $(date)"
echo 'Introduce una ruta:'
read -r ruta
echo 'Contenido:'
ls -la "$ruta"
Skript s argumenty (první a druhý argument):
#!/bin/bash
echo "Hola, $1"
echo "Has pasado también: $2"
Modulární skript s funkcí (čistá a znovu použitelná struktura):
#!/bin/bash
saluda() {
echo "¡Hola desde la función!"
}
saluda
Alternativa: Git Bash, pokud nechcete WSL
Pokud nemůžete používat WSL nebo potřebujete pouze minimální prostředí Bash, Git pro Windows obsahuje Git Bash , 64bitové prostředí, které poskytuje Bash a základní nástroje. Není tak kompletní ani rychlé v I/O jako WSL 2, ale pro jednoduché skripty a instalaci během několika minut je naprosto dostačující.
Zabezpečení, oprávnění a malé triky
Nespouštějte skripty jako root, pokud to není nezbytně nutné ; v případě pochybností použijte sudo. Před spuštěním skriptu s oprávněními root si jeho obsah zkontrolujte , abyste předešli vzniku problémů.
Pokud budete někdy potřebovat dočasně zakázat interoperabilitu systému Windows v WSL , abyste izolovali určité chování, můžete tak učinit zadáním jako root:
echo 0 > /proc/sys/fs/binfmt_misc/WSLInterop
Chcete-li jej znovu aktivovat, změňte hodnotu 0 na 1 nebo restartujte relaci WSL . Tato akce není mezi relacemi trvalá , takže je bezpečná pro omezené testování.
Jak vidíte, vytváření Bash skriptů ve Windows s WSL je nejen možné, ale také neuvěřitelně pohodlné. Díky dobře nakonfigurovanému prostředí, optimalizovanému úložišti v souborovém systému distribuce, integrovaným editorům, jako je VS Code, a interoperabilitě mezi Windows a Linuxem můžete úlohy automatizovat, plánovat je pomocí cronu, snadno je ladit a kombinovat je s Dockerem, databázemi a GPU.
Tento přístup vám nabízí to nejlepší z obou světů pro rychlejší a bezproblémový vývoj. Sdílejte tyto informace, aby se více uživatelů mohlo naučit, jak vytvářet Bash skripty pro Windows.