PC

Cum funcționează Linux Bash Shell pe Windows 10

Cum funcționează Linux Bash Shell pe Windows 10

Odată cu lansarea actualizării aniversare pentru Windows 10, Microsoft a anunțat Subsistemul Windows pentru Linux (WSL) - o modalitate de a rula Bash real, nativ pe Windows 10, care acceptă executarea binarelor native Linux. Face acest lucru rulând o imagine Ubuntu Linux în modul utilizator deasupra Windows.

Aceasta înseamnă că puteți rula instrumente de linie de comandă Linux, cum ar fi eu sunt, grep, top și chmod. Întrucât rulați sub Ubuntu autentic, rulați lsb-release -a vă va oferi următoarea ieșire:

Poți să folosești apt-get și prietenii să instaleze utilitare precum vim, git, ecran, tmux, sau chiar juca un joc de nethack:

Rețineți, totuși, că acest sistem este în versiune beta și nu destinat încărcărilor de lucru ale serverului. Este doar un instrument pentru dezvoltatori (și entuziaști) pentru a testa aplicațiile lor centrate pe Linux pe Windows fără modificări. De asemenea, acesta nu este un instrument destinat să ruleze aplicații GUI Linux sau medii precum Gnome sau KDE, deși acest lucru este posibil și cu anumite hack-uri. După ce am eliminat acest lucru, să aruncăm o privire la modul în care funcționează shell-ul Linux în Windows 10.

Subsistemul Windows pentru Linux (WSL)

Conform documentației oficiale, „WSL este o colecție de componente care permite binarelor native Linux ELF64 să ruleze pe Windows”. Face acest lucru prin implementarea unei interfețe kernel Linux virtualizate deasupra kernel-ului Windows NT. Adică, nu folosește niciun cod din kernel-ul Linux actual - ori de câte ori o aplicație efectuează un apel de sistem specific Linux (syscall), WSL îl traduce în Windows syscall echivalent, care apoi face tot greul.

Diferențe față de mașinile virtuale și Cygwin

Acum, să aruncăm o privire asupra modului în care Linux Bash Shell pe Windows 10 este diferit în comparație cu mașinile virtuale și Cygwin.

Mașini virtuale

S-ar putea să vă gândiți: „Ei bine, de ce să folosești asta? De ce nu folosiți doar o mașină virtuală Linux în Windows? ”

Comparativ cu o mașină virtuală, WSL folosește mai puține resurse. De asemenea, vă permite să lucrați cu fișierele dvs. așa cum ați face pe Linux, oferindu-vă în același timp acces complet la sistemul de fișiere Windows subiacent, fără a fi nevoie să vă bazați pe foldere partajate sau partajări de rețea.

Cygwin

O altă metodă populară de a rula instrumente populare de tip Linux / Unix pe Windows este Cygwin. Cea mai mare diferență dintre cele două abordări este că Cygwin nu este o modalitate de a rula binarele native Linux pe Windows. Oferă doar un set de instrumente GNU și Open Source care oferă funcționalitate similar la o distribuție Linux pe Windows.

Pe de altă parte, Instrumentele WSL sunt Linux native ELF-64 a compilat binare care rulează pe Windows. De exemplu, rularea unui apt-get install emacs comanda din WSL va descărca și instala aceleași fișiere ca pe o instalare Ubuntu 14.04, din depozitele oficiale Ubuntu.

Utilizatori, permisiuni și sisteme de fișiere în WSL

Ierarhia sistemului de fișiere

WSL este instalat sub utilizatorul curent % LocalAppData% \ lxss \ rootfs director. Acest lucru este cunoscut sub numele de WSL Environment și acționează ca Linux „/”(Rădăcină) director. De exemplu, dacă numele dvs. de utilizator din Windows este beebom, Directorul rădăcină Linux va fi localizat în C: \ Users \ beebom \ AppData \ Local \ lxss \ rootfs. Aceasta înseamnă că fiecare utilizator Windows poate avea propriul mediu WSL și poate face modificări precum apt-get install pachete software, fără a afecta alți utilizatori Windows.

Este posibil să accesați sistemul de fișiere Windows subiacent în WSL. Toate unitățile sunt montate dedesubt / mnt. De exemplu, C: \ este montat sub / mnt / c, D: \ este montat sub / mnt / d, etc..

Utilizatori și permisiuni

Când instalați WSL pentru prima dată, vă va solicita să creați un nou utilizator implicit Linux. Acest utilizator nu trebuie să aibă același nume ca utilizatorul Windows actual și este tratat ca o entitate separată în general. Puteți crea chiar mai mulți utilizatori Linux, controlați de un singur utilizator Windows.

Este posibil să obțineți rădăcină privilegii folosind sudo comanda. Ține minte acea ființă rădăcină în WSL afectează doar drepturile utilizatorului în mediul și sistemul de fișiere Linux - nu au niciun impact asupra privilegiilor Windows acordate. De exemplu, o sesiune WSL cu privilegii de administrator Windows poate cd / mnt / c / Users / Administrator în timp ce o sesiune Bash fără privilegii de administrator ar vedea Permisiunea refuzată. Tastare sudo cd / mnt / c / Users / Administrator nu va acorda acces la directorul administratorului, deoarece permisiunile sunt restricționate de Windows.

Caracteristici ale sistemului de fișiere specifice Linux

Linux este un caz sensibil sistem. Asta inseamna ca photo.png și Photo.png sunt tratate ca două fișiere diferite. În timp ce Windows nu este cazul sensibil în mod implicit, este încă cazul conștient. Ceea ce înseamnă asta în timp ce photo.png și Photo.png nu sunt tratate ca două fișiere distincte, cu siguranță este conștient a diferenței în caz.

WSL gestionează sensibilitatea la majuscule și minuscule la fel ca pe Linux. Este chiar posibil să creați două fișiere al căror nume diferă doar de la caz la altul în afara mediului WSL. Rețineți, însă, că multe aplicații Windows nu pot gestiona astfel de situații și este posibil să nu poată deschide unul sau ambele fișiere.

În mod similar, legături simbolice sunt acceptate, cu condiția să rulați un sistem de fișiere NTFS. Cu toate acestea, legăturile simbolice vor funcționa numai în interiorul WSL și nu pot fi rezolvate de alte aplicații Windows.

Linux acceptă, de asemenea, aproape toate personaje speciale în numele fișierelor, în timp ce Windows este mai restrictiv. Cu toate acestea, WSL permite utilizarea unor astfel de caractere speciale, cu condiția ca acestea să fie limitate la mediul sistemului Linux.

VEZI ȘI: Cum să îți sincronizezi contul OneDrive pe un computer Linux

Gata să ruleze linia de comandă Linux pe Windows?

Deci, așa funcționează Ubuntu Bash sau Linux Bash Shell, cunoscut și sub numele de Windows Subsystem for Linux pe Windows 10 (cu actualizarea Anniversary). Împreună cu funcționarea sa, am învățat, de asemenea, cum este diferit și mai bun decât metodele tradiționale de a rula comenzi specifice Linux pe Windows. Deci, dacă ați dorit întotdeauna să utilizați comenzi Linux, începeți și dacă aveți întrebări, comentarii sau sfaturi, asigurați-vă că ne anunțați în secțiunea de comentarii.

Lucruri care contează
Încerc din greu să ies din „blocul scriitorului”, așa că iartă-mă dacă articolul nu este la înălțimea așteptărilor. Această postare este pentru perso...
Cum să câștigi bani din scrierea unui blog
Blogging-ul este o distracție populară. Este o modalitate ușoară de a vă împărtăși gândurile cu restul lumii, păstrând în același timp un grad de an...
Cum se salvează fișiere în format TXT în TextEdit pe Mac
TextEdit - editorul de text implicit pe Mac, este destul de bun. De fapt, dacă singura dvs. nevoie de un editor de text este să tastați câteva lucruri...