Spuštění základních příkazů WSL

Dokončeno

Už jsme se podívali na několik základních příkazů pro správu WSL, včetně wsl --install a wsl --list --online, a také několik základních linuxových příkazů, včetně mkdir vytvoření adresáře a sudo apt install <package> instalace softwaru, ale pojďme se podívat na několik dalších věcí a vyzkoušet některé běžné úlohy.

Vyzkoušejte některé základní příkazy WSL.

Příkazy WSL v tomto trénování jsou uvedeny ve formátu podporovaném PowerShellem nebo příkazovým řádkem Windows (Cmd.exe). Chcete-li tyto příkazy spustit z příkazového řádku Bash v linuxové distribuci, musíte nahradit wsl .wsl.exe Důvodem je, že WSL se spravuje ze systému souborů Windows jako spustitelný soubor... ale spustitelné soubory systému Windows lze spustit také z Linuxu, pokud zahrnete příponu souboru.

Otevřete příkazový řádek PowerShellu a vyzkoušejte několik základních úloh správy WSL pomocí příkazů správce WSL:

  1. Zkontrolujte, jakou verzi WSL máte nainstalovanou, pomocí: wsl --version. Zobrazí se verze uvedená pro:

    • WSL
    • Jádro Linuxu používané WSL
    • verze WSLg, která spouští aplikace grafického uživatelského rozhraní linuxu
    • verze MSRDC, která představuje Vzdálená plocha Microsoft klient podporující WSL
    • verze Direct3D a DXCore používané pro vykreslování grafiky
    • verze Windows, kterou používáte
  2. Pomocí příkazu: wsl --update k zajištění, že máme nejnovější aktualizace WSL.

  3. Uveďte seznam linuxových distribucí, které jste aktuálně nainstalovali, zadáním: wsl --list --verbose.

  4. Zkontrolujte, která distribuce jsou k dispozici prostřednictvím Microsoft Storu, použijte wsl --list --online a zkuste nainstalovat novou distribuci zadáním: wsl --install <Distribution Name>. Ověřte, že se distribuce nainstalovala wsl --list znovu pomocí příkazu.

  5. Zkuste změnit výchozí linuxovou distribuci z Ubuntu (nebo cokoli, co jste poprvé nainstalovali, pokud není výchozí) na distribuci, kterou jste právě nainstalovali pomocí příkazu: wsl --set-default <Distribution Name>. Můžete ho změnit zpět pomocí stejného příkazu.

  6. Otevřete příkazový řádek Bash (z linuxové distribuce nastavené jako výchozí) do domovského adresáře systému souborů WSL zadáním příkazu wsl ~ z PowerShellu. Uvidíte, že zůstanete ve stejném okně příkazového řádku PowerShellu, ale výzva se změní na Bash, vypadá nějak takto: <user>@<CPU-name>:~$. Zadáním příkazu pwd potvrďte, že cesta k adresáři je teď něco jako /home/<username>. Zadejte příkaz: explorer.exe . pokud chcete otevřít adresář ve Windows Průzkumník souborů (nezapomeňte zahrnout tečku, která označuje otevření aktuální cesty k adresáři). Po otevření můžete potvrdit, že cesta k souboru vypadá nějak takto: \\wsl.localhost\Ubuntu\home\<username>.

Screen capture of PowerShell terminal with wsl ~ command entered showing path.

  1. Ukončete příkazový řádek Bash zpět do PowerShellu pomocí: exit. Pomocí příkazu pwd znovu zobrazte cestu, kterou právě používáte, měla by to vypadat nějak takto C:\Users\<username>\.... Můžete tedy vidět, že jste přepnuli mezi systémem souborů Windows (jednotka C:\) a systémem souborů Linux (\\wsl.localhost\<distro name> síťová jednotka). V dalším kroku zkusme otevřít aktuální adresář systému souborů Windows v Bash pomocí příkazu: wsl bez ~ (který indikuje, že chcete otevřít Bash v domovském adresáři Linuxu). Uvidíte, že cesta k adresáři je teď podobná /mnt/c/Users/<username>/... , protože Bash ukazuje na cestu k systému souborů Windows na připojené jednotce C-drive. Adresář jednotky C je připojený, protože ho teď zobrazujete z linuxového systému souborů. Další informace o práci mezi systémem souborů Windows a systémem linuxových souborů ve WSL najdete v samostatném trénování propojeném se souhrnem na konci tohoto modulu.

Úplný seznam příkazů zobrazíte spuštěním wsl --helppříkazu .

Základní příkazy Bash a PowerShellu

Bash je výchozí rozhraní příkazového řádku (CLI) pro Linux. Podrobný úvod do bashe je propojený v souhrnu na konci tohoto modulu. PowerShell je výchozí příkazový řádek pro Windows (nahrazuje předchozí příkazový řádek Windows). Obojí může hostovat Terminál Windows, které si můžete přizpůsobit tak, aby vyhovovaly vašim preferencím.

I když se rozhraní příkazového řádku Bash liší od PowerShell CLI (a staršího příkazového řádku Windows), rozdíly mezi příkazovými řádky jsou minimální. U WSL bude většina příkazů fungovat stejně v obou. Například příkaz k výpisu souborů v adresáři byl ls například v prostředí Bash/Linux a dir v prostředí PowerShellu nebo Windows, ale s WSL můžete použít zaměnitelně. Nástroje, které jsou k dispozici k instalaci a používání, se liší mezi Bashem a PowerShellem, ale po instalaci se i tyto nástroje dají mezi příkazovými řádky zaměnitelně. Bash i PowerShell jsou užitečné pro vytváření skriptů pro automatizaci úloh, ale Bash je navržený tak, aby fungoval lépe pro automatizaci úloh operačního systému Linux a PowerShell pro úlohy operačního systému Windows.

Pojďme vyzkoušet několik základních příkazů Bash, které budou fungovat v prostředí Bash i v PowerShellu. Otevřete příkazový řádek Ubuntu (nebo preferovanou linuxovou distribuci) a zadejte tyto příkazy:

  1. pwd: Tisk pracovního adresáře zobrazí cestu k aktuálnímu adresáři vybranému na příkazovém řádku.
  2. ls nebo dir: Vypíše obsah aktuálního adresáře. Některé příkazy zahrnují příznaky, které můžou upravit operaci. Zadejte ls -l například další podrobnosti o obsahu adresáře, například jeho velikost, vlastník a datum poslední změny. Zadejte ls -a , pokud chcete zahrnout veškerý obsah adresáře, včetně skrytých souborů. Bash bude obsahovat skryté .bash_historysoubory .bashrc.bash_logouta .profile soubory, které mohou být užitečné pro úlohy správy Bash a přizpůsobení.
  3. cd: Příkaz změnit adresář musí být doprovázen bitem informací označujících, na co chcete adresář změnit. Můžete zadat název adresáře, například cd project-folder, přesunout na úroveň adresáře pomocí cd ..nebo změnit domovský adresář pomocí cd ~.
  4. mkdir: Vytvořte nový adresář pomocí tohoto příkazu a názvu nového adresáře. Například, mkdir new-folder.
  5. cp: Zkopírujte soubor nebo adresář. Například cp file.txt nebo cp folder-1. Vytvoření kopie s názvem stejné jako existující soubor tento soubor bezobslužně nahradí, takže doporučujeme použít -i interaktivní příznak, který vás upozorní před odstraněním nebo nahrazením existujícího souboru. Například, cp -i file.txt.
  6. rm: Odeberte soubor nebo adresář. Například, rm file.txt. Pokud chcete odebrat adresář v Bash, musíte přidat -r příznak. Například, rm -r folder-1. Podobně jako u cp příkazu se doporučuje použít -i příznak k zadání výzev s potvrzením toho, co chcete odstranit nebo odebrat. Příznak -f vynutí odebrání a potlačuje všechny výzvy. Obecně se doporučuje vyhnout použití příznaku -f , pokud si nejste jistí, co děláte.
  7. clear: Vymažte obrazovku terminálu.

Screen capture of Ubuntu terminal showing basic Bash commands.

V PowerShellu i Bashu funguje několik klávesových zkratek, například použití šipky nahoru k odvolání posledních zadaných příkazů.

Teď zkusme vyzkoušet několik základních příkazů Bash, které nebudou fungovat v PowerShellu.

  1. sudo: Příkaz superuživatele v Bash umožňuje dočasně zvýšit úroveň uživatelského účtu aktuálního příkazového řádku tak, aby měl oprávnění uživatele kořenového adresáře nebo oprávnění správce. Sudo se často vyžaduje pro úlohy, jako je instalace nového softwaru, a bude vyžadovat, abyste zadali heslo pro Linux. Sudo nemá v PowerShellu ekvivalent, místo toho byste museli otevřít samostatnou instanci příkazového řádku PowerShellu v režimu Správa istrator tak, že kliknete pravým tlačítkem a zvolíte Spustit jako správce.
  2. touch: Příkaz touch vytvoří prázdný soubor. Například, touch file.txt. Ekvivalentem v PowerShellu je New-Item file.txt nebo ni file.txt.
  3. cat: Příkaz concatenate může číst obsah souboru nebo více souborů. Například cat file.txt file2.txt zobrazuje obsah souboru a souboru2. -n Přidejte příznak pro zahrnutí čísel řádků. Některé příkazy se cat v prostředí Bash a PowerShell chovají trochu jinak. V Bash příkaz cat > file.txt vytvoří nový soubor a umožní vám zadat do souboru text, dokud ctrl+d neunikne a soubor nezavře. V PowerShellu cat není tento příkaz tradičním formulářem a cat > file.txt nebude fungovat, cat > newfile file.txt ale vytvoří nový soubor.

Probrali jsme zde několik základních příkazů, které je možné začlenit do pracovního postupu, kromě několika podobností a rozdílů mezi příkazovými řádky. Stejný příkaz je často možné spustit několika způsoby, přičemž příkazové řádky Bash a PowerShell mají vlastní upřednostňované způsoby použití příkazů a skriptů. Pomocí WSL můžete intermixovat příkazy Bash a PowerShellu a doporučuje se seznámit se s oběma různými způsoby automatizace úloh.