Συνιστάται, 2021

Επιλογή Συντάκτη

Πώς λειτουργεί το Linux Bash Shell στα Windows 10

Με την κυκλοφορία της Επέτειος Ενημέρωσης για τα Windows 10, η Microsoft ανήγγειλε το Windows Subsystem for Linux (WSL) - έναν τρόπο για να τρέξει πραγματικό, native Bash στα Windows 10, το οποίο υποστηρίζει την εκτέλεση τοπικών δυαδικών αρχείων Linux. Αυτό γίνεται με την εκτέλεση μιας εικόνας Ubuntu Linux σε κατάσταση λειτουργίας χρήστη πάνω από τα Windows.

Αυτό σημαίνει ότι μπορείτε να εκτελέσετε εργαλεία γραμμής εντολών Linux όπως ls, grep, top και chmod . Δεδομένου ότι εκτελείτε γνήσιο Ubuntu από κάτω, η εκτέλεση του lsb-release -a θα σας δώσει την ακόλουθη έξοδο:

Μπορείτε να χρησιμοποιήσετε το apt-get και τους φίλους σας για να εγκαταστήσετε βοηθητικά προγράμματα όπως vim, git, screen, tmux ή ακόμη και να παίξετε ένα παιχνίδι nethack:

Λάβετε υπόψη, ωστόσο, ότι αυτό το σύστημα είναι σε beta και δεν προορίζεται για φόρτωση εργασίας διακομιστή. Είναι μόνο ένα εργαλείο για τους προγραμματιστές (και τους ενθουσιώδεις) να δοκιμάζουν τις εφαρμογές τους που βασίζονται στο Linux σε Windows χωρίς τροποποιήσεις. Αυτό δεν είναι επίσης ένα εργαλείο που προορίζεται για την εκτέλεση εφαρμογών GUI Linux ή περιβάλλοντα όπως το Gnome ή το KDE, αν και αυτό είναι δυνατό και με ορισμένα hacks. Έχοντας ξεκαθαρίσει αυτό, ας ρίξουμε μια ματιά στο πώς λειτουργεί το κέλυφος του Linux στα Windows 10.

Υποσύστημα Windows για Linux (WSL)

Σύμφωνα με την επίσημη τεκμηρίωση, το "WSL είναι μια συλλογή από στοιχεία που επιτρέπουν τη λειτουργία των τοπικών Linux ELF64 δυαδικών αρχείων σε Windows". Το κάνει αυτό με την υλοποίηση ενός εικονικοποιημένου περιβάλλοντος πυρήνα Linux πάνω από τον πυρήνα των Windows NT. Δηλαδή, δεν χρησιμοποιεί κανένα κώδικα από τον πραγματικό πυρήνα του Linux - κάθε φορά που μια εφαρμογή κάνει μια συγκεκριμένη κλήση συστήματος (syscall), το WSL την μεταφράζει στο ισοδύναμο σύστημα Windows, το οποίο στη συνέχεια κάνει όλη τη βαριά ανύψωση.

Διαφορές από εικονικές μηχανές και Cygwin

Τώρα ας ρίξουμε μια ματιά στο πώς το Linux Bash Shell στα Windows 10 είναι διαφορετικό σε σύγκριση με τις ομοιότητες των virtual machines και Cygwin.

Εικονικές μηχανές

Μπορεί να σκέφτεστε, "Λοιπόν, γιατί να το χρησιμοποιήσετε αυτό; Γιατί να μην χρησιμοποιήσετε μόνο ένα VM Linux στα Windows; "

Σε σύγκριση με μια εικονική μηχανή, το WSL χρησιμοποιεί λιγότερους πόρους . Σας επιτρέπει επίσης να δουλεύετε με τα αρχεία σας όπως θα κάνατε στο Linux, παρέχοντάς σας πλήρη πρόσβαση στο υποκείμενο σύστημα αρχείων των Windows χωρίς να χρειάζεται να βασίζεστε σε κοινόχρηστους φακέλους ή κοινόχρηστα δίκτυα.

Cygwin

Μια άλλη δημοφιλής μέθοδος εκτέλεσης δημοφιλούς Linux / Unix-like tools στα Windows είναι η Cygwin. Η μεγαλύτερη διαφορά μεταξύ των δύο προσεγγίσεων είναι ότι ο Cygwin δεν είναι ένας τρόπος για να τρέξετε τα εγγενή δυαδικά αρχεία Linux στα Windows. Παρέχει μόνο ένα σύνολο εργαλείων GNU και Open Source που παρέχουν λειτουργικότητα παρόμοια με τη διανομή Linux στα Windows.

Από την άλλη πλευρά, τα εργαλεία WSL είναι εγγενή Linux ELF-64 που δημιουργούνται δυαδικά αρχεία που εκτελούνται σε Windows. Για παράδειγμα, η εκτέλεση εντολής apt-get install emacs στο WSL θα μεταφορτώσει και θα εγκαταστήσει τα ίδια αρχεία όπως και σε μια εγκατάσταση του Ubuntu 14.04, από τις επίσημες αποθήκες του Ubuntu.

Χρήστες, Δικαιώματα και Συστήματα Αρχείων στο WSL

Ιεραρχία συστήματος αρχείων

Το WSL είναι εγκατεστημένο στον %LocalAppData%\lxss\rootfs του τρέχοντος χρήστη. Αυτό είναι γνωστό ως περιβάλλον WSL και λειτουργεί ως κατάλογος Linux " / " (root). Για παράδειγμα, εάν το όνομα χρήστη σας στα Windows είναι beebom, ο ριζικός κατάλογος του Linux θα βρίσκεται στο φάκελο C:\Users\beebom\AppData\Local\lxss\rootfs. Αυτό σημαίνει ότι κάθε χρήστης των Windows μπορεί να έχει το δικό του WSL περιβάλλον και μπορεί να κάνει αλλαγές όπως πακέτα λογισμικού apt-get install, χωρίς να επηρεάζει άλλους χρήστες των Windows.

Είναι δυνατή η πρόσβαση στο υποκείμενο σύστημα αρχείων των Windows στο WSL. Όλοι οι δίσκοι είναι τοποθετημένοι κάτω από /mnt. Για παράδειγμα, το C:\ είναι τοποθετημένο κάτω από το /mnt/c, το D:\ είναι τοποθετημένο κάτω από το /mnt/d, κλπ.

Χρήστες και Δικαιώματα

Κατά την πρώτη εγκατάσταση του WSL, θα σας ζητηθεί να δημιουργήσετε έναν νέο προεπιλεγμένο χρήστη του Linux. Αυτός ο χρήστης δεν χρειάζεται να έχει το ίδιο όνομα με τον τρέχοντα χρήστη των Windows και αντιμετωπίζεται γενικά ως ξεχωριστή οντότητα. Μπορείτε ακόμη να δημιουργήσετε πολλούς χρήστες Linux, που ελέγχονται από έναν μόνο χρήστη των Windows.

Είναι δυνατή η απόκτηση προνομίων root χρησιμοποιώντας την εντολή sudo . Λάβετε υπόψη ότι η ύπαρξη root στο WSL επηρεάζει μόνο τα δικαιώματα των χρηστών στο περιβάλλον Linux και το σύστημα αρχείων - δεν έχουν καμία επίδραση στα δικαιώματα των Windows που έχουν χορηγηθεί. Για παράδειγμα, μια συνάντηση WSL με δικαιώματα διαχειριστή των Windows μπορεί να περιέχει cd /mnt/c/Users/Administrator ενώ μια περίοδος Bash χωρίς δικαιώματα διαχειριστή θα βλέπει την άδεια να απορρίπτεται. Η πληκτρολόγηση sudo cd /mnt/c/Users/Administrator δεν θα επιτρέψει την πρόσβαση στον κατάλογο του διαχειριστή, αφού τα δικαιώματα περιορίζονται από τα Windows.

Συγκεκριμένες λειτουργίες συστήματος αρχείων Linux

Το Linux είναι ένα σύστημα ευαίσθητο σε πεζά . Αυτό σημαίνει ότι το photo.png και το Photo.png αντιμετωπίζονται ως δύο διαφορετικά αρχεία. Ενώ τα Windows δεν είναι ευαίσθητα από προεπιλογή από τα πεζά, εξακολουθεί να έχει σημασία. Αυτό σημαίνει ότι ενώ το photo.png και το Photo.png δεν αντιμετωπίζονται ως δύο ξεχωριστά αρχεία, είναι σίγουρα ενήμεροι για τη διαφορά στην περίπτωση.

Το WSL χειρίζεται την ευαισθησία σε περίπτωση που μοιάζει με το Linux. Είναι ακόμη δυνατή η δημιουργία δύο αρχείων των οποίων το όνομα διαφέρει μόνο σε περιπτώσεις εκτός του περιβάλλοντος WSL. Λάβετε υπόψη, ωστόσο, ότι πολλές εφαρμογές των Windows δεν μπορούν να χειριστούν τέτοιες καταστάσεις και ενδέχεται να μην είναι σε θέση να ανοίξουν ένα ή και τα δύο αρχεία.

Παρομοίως, υποστηρίζονται συμβολικές συνδέσεις, υπό την προϋπόθεση ότι εκτελείτε ένα σύστημα αρχείων NTFS. Ωστόσο, οι συμβολικοί σύνδεσμοι θα λειτουργούν μόνο μέσα στο WSL και δεν μπορούν να επιλυθούν από άλλες εφαρμογές των Windows.

Το Linux υποστηρίζει επίσης όλους σχεδόν τους ειδικούς χαρακτήρες μέσα στα ονόματα των αρχείων, ενώ τα Windows είναι πιο περιοριστικά. Το WSL, ωστόσο, επιτρέπει τη χρήση τέτοιων ειδικών χαρακτήρων, υπό την προϋπόθεση ότι περιορίζονται στο περιβάλλον του Linux.

Είστε έτοιμοι να εκτελέσετε τη γραμμή εντολών Linux στα Windows;

Έτσι, έτσι το Ubuntu Bash ή το Linux Bash Shell, επίσης γνωστό ως Windows Subsystem for Linux, λειτουργεί στα Windows 10 (με την Επέτειος της ενημερωμένης έκδοσης). Μαζί με την εργασία του, μάθαμε επίσης πως είναι διαφορετική και καλύτερη από τις παραδοσιακές μεθόδους εκτέλεσης εντολών που σχετίζονται με το Linux στα Windows. Αν λοιπόν θέλετε πάντα να χρησιμοποιείτε εντολές Linux, ξεκινήστε και εάν έχετε ερωτήσεις, σχόλια ή συμβουλές, βεβαιωθείτε ότι μας ενημερώστε στην ενότητα σχολίων.

Top