Spuštění základních příkazů WSL
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:
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
Pomocí příkazu:
wsl --update
k zajištění, že máme nejnovější aktualizace WSL.Uveďte seznam linuxových distribucí, které jste aktuálně nainstalovali, zadáním:
wsl --list --verbose
.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 nainstalovalawsl --list
znovu pomocí příkazu.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.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říkazupwd
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>
.
- Ukončete příkazový řádek Bash zpět do PowerShellu pomocí:
exit
. Pomocí příkazupwd
znovu zobrazte cestu, kterou právě používáte, měla by to vypadat nějak taktoC:\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 --help
pří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:
pwd
: Tisk pracovního adresáře zobrazí cestu k aktuálnímu adresáři vybranému na příkazovém řádku.ls
nebodir
: Vypíše obsah aktuálního adresáře. Některé příkazy zahrnují příznaky, které můžou upravit operaci. Zadejtels -l
například další podrobnosti o obsahu adresáře, například jeho velikost, vlastník a datum poslední změny. Zadejtels -a
, pokud chcete zahrnout veškerý obsah adresáře, včetně skrytých souborů. Bash bude obsahovat skryté.bash_history
soubory.bashrc
.bash_logout
a.profile
soubory, které mohou být užitečné pro úlohy správy Bash a přizpůsobení.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říkladcd project-folder
, přesunout na úroveň adresáře pomocícd ..
nebo změnit domovský adresář pomocícd ~
.mkdir
: Vytvořte nový adresář pomocí tohoto příkazu a názvu nového adresáře. Například,mkdir new-folder
.cp
: Zkopírujte soubor nebo adresář. Napříkladcp file.txt
nebocp 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
.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 ucp
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.clear
: Vymažte obrazovku terminálu.
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.
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.touch
: Příkaz touch vytvoří prázdný soubor. Například,touch file.txt
. Ekvivalentem v PowerShellu jeNew-Item file.txt
neboni file.txt
.cat
: Příkaz concatenate může číst obsah souboru nebo více souborů. Napříkladcat file.txt file2.txt
zobrazuje obsah souboru a souboru2.-n
Přidejte příznak pro zahrnutí čísel řádků. Některé příkazy secat
v prostředí Bash a PowerShell chovají trochu jinak. V Bash příkazcat > file.txt
vytvoří nový soubor a umožní vám zadat do souboru text, dokud ctrl+d neunikne a soubor nezavře. V PowerShellucat
není tento příkaz tradičním formulářem acat > 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.