GNU/Linux >> Znalost Linux >  >> Linux

Nádherně bezbožná aliance – skutečné příkazy Linuxu pro PowerShell s WSL funkcemi

Nedávno jsem psal o tom, jaký je rozdíl mezi konzolí, terminálem a shellem? Svět Windows je zajímavý – a pro lidi bez Windows trochu zvláštní a neznámý. Možná používáte Ubuntu nebo Mac a vybrali jste si svůj shell jako zsh nebo bash nebo pwsh, ale pak se dostanete do Windows a přeskakujeme mezi shelly (a nyní operačními systémy s WSL!) na základě jednotlivých karet.

Pokud používáte prostředí Windows, jako je PowerShell, protože se vám líbí jeho engine založený na .NET Core a výkonný skriptovací jazyk, stále vám mohou chybět běžné příkazy *nix shellu jako ls, grep, sed a další.

Bez ohledu na to, jaký shell ve Windows používáte (powershell, yori, cmd, cokoliv), vždy můžete zavolat do své výchozí instance Ubuntu pomocí „wsl command“, tedy „wsl ls“ nebo „wsl grep“, ale bylo by hezké aby byly přirozenější a pohodlnější.

Nyní je k dispozici nová řada „obálky funkcí“, která zpřístupňuje příkazy Linuxu přímo v prostředí PowerShell, takže můžete snadno přecházet mezi více prostředími.

Může se to zdát divné, ale umožňuje nám to vytvářet úžasné zřetězené příkazy, které se přesouvají dovnitř a ven z Windows a Linuxu, PowerShellu a bash. Je to vlastně docela úžasné a velmi přirozené, pokud jste jako já nekonfesijní ve výběru operačního systému a preferovaného prostředí.

Tyto obálky funkcí jsou velmi úhledně navrženy a dokonce odhalují dokončení TAB napříč operačními systémy! To znamená, že mohu zadávat příkazy Linuxu v PowerShell a dokončení TAB přichází!

Je to super snadné nastavit. Z Githubu Mika Battisty

  • Nainstalujte PowerShell Core
  • Instalace podsystému Windows pro Linux (WSL)
  • Nainstalujte modul WslInterop s Install-Module WslInterop
  • Importujte příkazy s Import-WslCommand buď z vašeho profilu pro trvalý přístup, nebo na vyžádání, když potřebujete příkaz (např. Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim" )

Provedete svůj instalační modul pouze jeden a poté spustíte poznámkový blok $profile a přidáte pouze jeden poslední řádek. Ujistěte se, že jste jej změnili, aby odkryl příkazy WSL/Linux, které chcete. Jakmile budete hotovi, stačí otevřít PowerShell Core a smíchat a spárovat své příkazy!

Z blogu:„S těmito obálkami funkcí nyní můžeme volat naše oblíbené linuxové příkazy přirozenějším způsobem, aniž bychom jim museli předponu wsl nebo se starejte o to, jak se cesty Windows překládají na cesty WSL:"

  • man bash
  • less -i $profile.CurrentUserAllHosts
  • ls -Al C:\Windows\ | less
  • grep -Ein error *.log
  • tail -f *.log

Je to opravdu geniální věc a děkujeme Mikeovi, že se o to s námi podělil! Jdi to zkusit hned teď. https://github.com/mikebattista/PowerShell-WSL-Interop

Sponzor: Jako C#? My taky! Proto jsme vyvinuli rychlé, chytré, multiplatformní .NET IDE, které vám dává ještě větší kódovací výkon. Chytrá analýza kódu, bohaté doplňování kódu, okamžité vyhledávání a navigace, pokročilý debugger... S JetBrains Rider máte vše, co potřebujete, na dosah ruky. Kódujte C# rychlostí myšlenky na Linuxu, Macu nebo Windows. Vyzkoušejte JetBrains Rider ještě dnes!


Linux
  1. Vysvětlení subsystému Windows pro Linux, WSL a WSL2

  2. 20 základních Linuxových příkazů pro začátečníky vysvětlených s příklady

  3. 10 Linuxových příkazů pro diagnostiku sítě

  1. 3 tipy pro tisk s Linuxem

  2. Cheat sheet pro běžné linuxové příkazy

  3. Použití Windows Subsystem for Linux (WSL) od Sublime Text

  1. Příkazy FreeDOS pro fanoušky Linuxu

  2. 8 Linuxových příkazů pro efektivní řízení procesů

  3. Musíte znát příkazy Linuxu, spouštět Podman ve Windows a další tipy pro systémové správce