Ieteicams, 2020

Redaktora Izvēle

Kā Linux Bash Shell darbojas uz Windows 10

Atbrīvojot Windows 10 gadadienas atjauninājumu, Microsoft paziņoja par Windows apakšsistēmu Linux (WSL) - veids, kā Windows 10 darbināt reālu, dzimtu Bash, kas atbalsta vietējo Linux bināru izpildi. Tas tiek darīts, lietojot lietotāja režīmā Ubuntu Linux attēlu uz Windows.

Tas nozīmē, ka varat palaist Linux komandrindas rīkus, piemēram, ls, grep, top un chmod . Tā kā jūs izmantojat oriģinālu Ubuntu, lsb-release -a palaiž jums šādu izlaidi:

Jūs varat izmantot apt-get un draugus, lai instalētu tādus komunālos pakalpojumus kā vim, git, screen, tmux vai pat spēlēt nethack:

Paturiet prātā, ka šī sistēma ir beta versijā un nav paredzēta serveru slodzēm. Tas ir tikai rīks, kas ļauj izstrādātājiem (un entuziastiem) izmēģināt savas Linux orientētās lietojumprogrammas sistēmā Windows bez izmaiņām. Tas nav arī rīks, kas paredzēts, lai palaistu Linux GUI lietojumprogrammas vai tādas vides kā Gnome vai KDE, lai gan tas ir iespējams arī ar dažiem hacks. Izdzēšot to, apskatīsim, kā Linux apvalks darbojas operētājsistēmā Windows 10.

Windows apakšsistēma Linux (WSL)

Saskaņā ar oficiālo dokumentāciju “WSL ir komponentu kolekcija, kas ļauj vietējiem Linux ELF64 binārijiem darboties sistēmā Windows”. Tas tiek darīts, ieviešot virtualizētu Linux kodola interfeisu virs Windows NT kodola. Tas nozīmē, ka tas neizmanto nekādu kodu no faktiskā Linux kodola - ja lietojumprogramma veic Linux specifisku sistēmas zvanu (syscall), WSL to pārvērš līdzvērtīgam Windows syscall, kas pēc tam veic visu smago pacelšanu.

Atšķirības no virtuālajām mašīnām un Cygwin

Tagad aplūkosim, kā Linux Bash Shell uz Windows 10 atšķiras, salīdzinot ar virtuālo mašīnu un Cygwin.

Virtuālās mašīnas

Jūs varētu domāt: „Nu, kāpēc to izmantot? Kāpēc ne tikai izmantot Linux VM sistēmā Windows? "

Salīdzinot ar virtuālo mašīnu, WSL izmanto mazāk resursu . Tas arī ļauj jums strādāt ar jūsu failiem, kā jūs lietojat Linux, vienlaikus sniedzot jums pilnīgu piekļuvi pamatā esošajai Windows failu sistēmai bez nepieciešamības paļauties uz koplietojamām mapēm vai tīkla daļām.

Cygwin

Vēl viena populāra metode populāru Linux / Unix līdzīgu rīku darbināšanai sistēmā Windows ir Cygwin. Lielākā atšķirība starp abām pieejām ir tāda, ka Cygwin nav veids, kā Windows darbināt dzimtās Linux bināras . Tas nodrošina tikai GNU un Open Source rīku komplektu, kas nodrošina funkcionalitāti, kas ir līdzīga Linux izplatīšanai sistēmā Windows.

No otras puses, WSL rīki ir vietējie Linux ELF-64 apkopotie bināriji, kas darbojas sistēmā Windows. Piemēram, vadot apt-get install emacs komandu WSL, tiks lejupielādēti un instalēti tādi paši faili kā Ubuntu 14.04 instalācijā, no oficiālajām Ubuntu krātuvēm.

WSL lietotāji, atļaujas un failu sistēmas

Failu sistēmas hierarhija

WSL tiek instalēts pašreizējā lietotāja %LocalAppData%\lxss\rootfs direktorijā. Tas ir pazīstams kā WSL vide un darbojas kā Linux “ / ” (saknes) katalogs. Piemēram, ja jūsu lietotājvārds sistēmā Windows ir beebom, Linux saknes direktorijs atradīsies C:\Users\beebom\AppData\Local\lxss\rootfs. Tas nozīmē, ka katram Windows lietotājam var būt sava WSL vide un var veikt izmaiņas, piemēram, apt-get install programmatūras pakotnes, neietekmējot citus Windows lietotājus.

WSL sistēmā ir iespējams piekļūt pamatā esošajai Windows failu sistēmai. Visi diskdziņi ir uzstādīti zem /mnt. Piemēram, C:\ ir uzstādīts zem /mnt/c, D:\ ir uzstādīts zem /mnt/d utt.

Lietotāji un atļaujas

Kad pirmo reizi instalējat WSL, tas liks jums izveidot jaunu noklusējuma Linux lietotāju. Šim lietotājam nav jābūt tādam pašam nosaukumam kā pašreizējam Windows lietotājam, un to uzskata par atsevišķu vienību kopumā. Jūs pat varat izveidot vairākus Linux lietotājus, kurus kontrolē viens Windows lietotājs.

Ir iespējams iegūt root privilēģijas, izmantojot sudo komandu. Paturiet prātā, ka root WSL ietekmē tikai lietotāja tiesības Linux vidē un failu sistēmā - tās neietekmē piešķirtās Windows privilēģijas. Piemēram, WSL sesija ar Windows administratora privilēģijām var cd /mnt/c/Users/Administrator kamēr Bash sesija bez administratora privilēģijām varētu būt atteikta. Rakstot sudo cd /mnt/c/Users/Administrator nepiešķir piekļuvi administratora direktorijai, jo Windows ierobežo atļaujas.

Linux specifiskas failu sistēmas iespējas

Linux ir reģistrjutīga sistēma. Tas nozīmē, ka photo.png un Photo.png tiek uzskatīti par diviem dažādiem failiem. Kamēr Windows pēc noklusējuma nav reģistrjutīga, tas joprojām ir informēts . Tas nozīmē, ka, lai gan photo.png un Photo.png netiek uzskatīti par diviem atšķirīgiem failiem, tas noteikti apzinās atšķirību gadījumā.

WSL rīkojas kā jutīgums tieši tāpat kā Linux. Ir pat iespējams izveidot divus failus, kuru nosaukums atšķiras tikai pēc WSL vides. Tomēr atcerieties, ka daudzas Windows lietojumprogrammas nevar apstrādāt šādas situācijas un, iespējams, nevarēs atvērt vienu vai abus failus.

Līdzīgi tiek atbalstītas simboliskas saites, ja izmantojat NTFS failu sistēmu. Tomēr simboliskās saites darbosies tikai WSL iekšienē un tās nevarēs atrisināt ar citām Windows lietojumprogrammām.

Linux atbalsta arī gandrīz visas īpašās rakstzīmes failu nosaukumos, kamēr Windows ir ierobežojošāka. Tomēr WSL ļauj izmantot šādas īpašas rakstzīmes, ja tās ir ierobežotas ar Linux sistēmas vidi.

Vai esat gatavs palaist Linux komandrindu sistēmā Windows?

Tātad, tā ir Ubuntu Bash vai Linux Bash Shell, kas pazīstams arī kā Windows apakšsistēma Linux darbam ar Windows 10 (ar atjaunināšanas gadadienu). Līdztekus darbam mēs uzzinājām arī to, kā tas ir atšķirīgs un labāks par tradicionālajām Linux operāciju komandām. Tātad, ja jūs vienmēr esat vēlējies izmantot Linux komandas, sākt darbu un ja jums ir jautājumi, komentāri vai padomi, pārliecinieties, vai esat to informējis komentāru sadaļā.

Top