GNU/Linux >> Belajar Linux >  >> Linux

Aliansi yang sangat tidak suci - Perintah Linux nyata untuk PowerShell dengan pembungkus fungsi WSL

Baru-baru ini saya memposting tentang Apa perbedaan antara konsol, terminal, dan shell? Dunia Windows menarik - dan sedikit aneh dan asing bagi orang non-Windows. Anda mungkin menggunakan Ubuntu atau Mac dan Anda telah memilih shell Anda seperti zsh atau bash atau pwsh, tetapi kemudian Anda masuk ke Windows dan kami berpindah antar shell (dan sekarang sistem operasi dengan WSL!) pada basis tab demi tab.

Jika Anda menggunakan shell Windows seperti PowerShell karena Anda menyukai mesin berbasis .NET Core dan bahasa skrip yang kuat, Anda mungkin masih melewatkan perintah *nix shell yang umum seperti ls, grep, sed, dan lainnya.

Tidak peduli shell apa yang Anda gunakan di Windows (powershell, yori, cmd, apa pun), Anda selalu dapat memanggil instance Ubuntu default Anda dengan "wsl command" jadi "wsl ls" atau "wsl grep" tetapi akan menyenangkan untuk membuatnya lebih alami dan terintegrasi dengan nyaman.

Sekarang ada seri baru "pembungkus fungsi" yang membuat perintah Linux tersedia langsung di PowerShell sehingga Anda dapat dengan mudah bertransisi di antara beberapa lingkungan.

Ini mungkin tampak aneh tetapi memungkinkan kita untuk membuat perintah pipa luar biasa yang bergerak masuk dan keluar dari Windows dan Linux, PowerShell dan bash. Ini sebenarnya sangat menakjubkan dan sangat wajar jika Anda, seperti saya, non-denominasi dalam pilihan sistem operasi dan shell pilihan Anda.

Pembungkus fungsi ini dirancang dengan sangat rapi dan bahkan mengekspos penyelesaian TAB di seluruh sistem operasi! Itu berarti saya bisa mengetik perintah Linux di PowerShell dan penyelesaian TAB datang!

Sangat mudah untuk mengaturnya. Dari Github Mike Battista

  • Instal PowerShell Core
  • Instal Subsistem Windows untuk Linux (WSL)
  • Instal modul WslInterop dengan Install-Module WslInterop
  • Impor perintah dengan Import-WslCommand baik dari profil Anda untuk akses terus-menerus atau sesuai permintaan saat Anda membutuhkan perintah (mis. Import-WslCommand "awk", "emacs", "grep", "head", "less", "ls", "man", "sed", "seq", "ssh", "tail", "vim" )

Anda akan melakukan Install-Module Anda hanya satu, dan kemudian jalankan notepad $profile dan tambahkan hanya satu baris terakhir. Pastikan Anda mengubahnya untuk mengekspos perintah WSL/Linux yang Anda inginkan. Setelah selesai, Anda cukup membuka PowerShell Core dan mencampur dan mencocokkan perintah Anda!

Dari blog, "Dengan pembungkus fungsi ini, kami sekarang dapat memanggil perintah Linux favorit kami dengan cara yang lebih alami tanpa harus mengawalinya dengan wsl atau khawatir tentang bagaimana jalur Windows diterjemahkan ke jalur WSL:"

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

Ini adalah hal yang sangat jenius dan pujian untuk Mike karena telah membagikannya kepada kami! Pergi mencobanya sekarang. https://github.com/mikebattista/PowerShell-WSL-Interop

Sponsor: Seperti C#? Kami juga melakukannya! Itulah mengapa kami mengembangkan .NET IDE lintas platform yang cepat, cerdas, yang memberi Anda lebih banyak kekuatan pengkodean. Analisis kode yang cerdas, penyelesaian kode yang kaya, pencarian dan navigasi instan, debugger tingkat lanjut... Dengan JetBrains Rider, semua yang Anda butuhkan ada di ujung jari Anda. Kode C# dengan kecepatan berpikir di Linux, Mac, atau Windows. Coba JetBrains Rider hari ini!


Linux
  1. Lembar contekan untuk perintah umum Linux

  2. Subsistem Windows untuk Linux Dijelaskan, WSL &WSL2

  3. 20 Perintah Dasar Linux untuk Pemula Dijelaskan dengan Contoh

  1. 3 tips untuk mencetak dengan Linux

  2. 8 perintah Linux untuk manajemen proses yang efektif

  3. 10 Perintah Linux Untuk Diagnostik Jaringan

  1. Perintah FreeDOS untuk penggemar Linux

  2. Perintah Linux yang harus diketahui, menjalankan Podman di Windows, dan tips lainnya untuk sysadmin

  3. Menggunakan Windows Subsystem for Linux (WSL) dari Sublime Text