Προγραμματισμός

Ανακαλύψτε τη δύναμη του Bash στα Windows

Τα Microsoft Windows μπορεί να είναι ο κυρίαρχος παίκτης στην επιφάνεια εργασίας, αλλά η ραγδαία αυξανόμενη αγορά λογισμικού ανοιχτού κώδικα - ειδικά για εργαλεία διαχειριστή και προγραμματιστές - ευνοεί σαφώς το Linux. Για να μην αναφέρουμε την αγορά κινητής τηλεφωνίας, όπου το Android χρησιμοποιεί παραλλαγές Linux. Εάν είστε προγραμματιστής στα Windows, το drumbeat για να αποκτήσετε δυνατότητες ισχίου στο Linux συνεχίζει να γίνεται πιο δυνατά.

Με τα χρόνια, η Microsoft εισήγαγε διάφορες λύσεις για τη χρήση δυνατοτήτων Linux σε Windows, όπως το PowerShell με SSH και Cygwin και MSYS. Η εκτέλεση του Linux σε μια εικονική μηχανή είναι μια άλλη επιλογή. Ωστόσο, οι VM καταναλώνουν σημαντικό αριθμό πόρων και δεν παρέχουν εμπειρία Linux πρώτης κατηγορίας, καθώς δεν μπορείτε να επεξεργαστείτε τοπικά αρχεία ή να έχετε πλήρη πρόσβαση σε τοπικές μονάδες δίσκου, για παράδειγμα.

Καθώς ο κόσμος της πληροφορικής στρέφεται προς Linux για πολλά έργα, η Microsoft έχει παρουσιάσει μια νέα προσφορά για να αξιοποιήσει αυτήν την αναπτυσσόμενη αγορά. Το Bash στα Windows είναι η απάντηση. Εδώ σας καθοδηγούμε για την εγκατάσταση του Bash στα Windows και σας δίνουμε μια γεύση από το τι μπορείτε να κάνετε - και γιατί θα το κάνατε - στη γραμμή εντολών του Linux.

Μια επισκόπηση του Bash στα Windows

Το Bash on Windows είναι μια νέα δυνατότητα που προστέθηκε στα Windows 10. Η Microsoft συνεργάστηκε με την Canonical, γνωστούς και ως δημιουργούς του Ubuntu Linux, για τη δημιουργία αυτής της νέας υποδομής εντός των Windows που ονομάζεται Υποσύστημα Windows για Linux (WSL). Επιτρέπει στους προγραμματιστές να έχουν πρόσβαση σε ένα πλήρες σύνολο Ubuntu CLI και βοηθητικών προγραμμάτων. Με μια εγγενή εμπειρία Linux, οι προγραμματιστές μπορούν να εκτελούν εντολές Linux σε Windows, συμπεριλαμβανομένης της πρόσβασης σε τοπικά αρχεία και μονάδες δίσκου. Καθώς το Linux είναι εγγενώς ενσωματωμένο στα Windows, οι προγραμματιστές έχουν την ευελιξία να εργάζονται στο ίδιο αρχείο σε Linux και Windows. Με απλά λόγια, το Bash στα Windows φέρνει το Ubuntu userland στα Windows μείον τον πυρήνα Linux.

Bash εναντίον PowerShell

Η Microsoft διαθέτει ήδη ένα κέλυφος εντολών στο PowerShell. Λοιπόν, πώς διαφέρει το Bash στα Windows; Το PowerShell είναι το πλαίσιο διαχείρισης διαμόρφωσης της Microsoft για την αυτοματοποίηση εργασιών. Χρησιμοποιείται για τη διαχείριση των Windows με αρχιτεκτονική προσανατολισμένη στα API. Το Bash, από την άλλη πλευρά, βασίζεται κυρίως σε αρχεία κειμένου για αυτοματοποίηση και ανάπτυξη. Τα δύο διαφέρουν τόσο στην εστίαση όσο και στο σχεδιασμό. Για παράδειγμα, όταν παραθέτετε αρχεία σε έναν κατάλογο χρησιμοποιώντας το είναι εντολή, το PowerShell εμφανίζει την έξοδο ως αντικείμενα αρχείου, ενώ το Bash στα Windows εμφανίζει την έξοδο ως σύνολο συμβολοσειρών. Ευτυχώς, για τους διαχειριστές των Windows, μπορείτε να εργαστείτε και με τις δύο λύσεις δίπλα-δίπλα και να αξιοποιήσετε το καλύτερο και των δύο κόσμων.

Μια λέξη προειδοποίησης: Το PowerShell διαθέτει ψευδώνυμα που σας επιτρέπουν νομίζω εκτελείτε παραδοσιακές εντολές Bash όταν, στην πραγματικότητα, χρησιμοποιείτε cmdlet PowerShell. Αυτό μπορεί να τριπλασιάσει μερικούς ανθρώπους. Για παράδειγμα, είναι είναι ένα ψευδώνυμο για το Λήψη-ChildItem εντολή. Ομοίως, pwd είναι ένα ψευδώνυμο για Λήψη-Τοποθεσίας και CD είναι ένα ψευδώνυμο για Ορισμός-Τοποθεσία. Για μια λίστα με όλα τα ψευδώνυμα στο PowerShell, χρησιμοποιήστε το Get-Alias cmdlet.

Το Bash στα Windows παρέχει πολλαπλά οφέλη στους προγραμματιστές ανοιχτού κώδικα. Φέρνοντας εγγενείς δυνατότητες Linux στα Windows, το Bash στα Windows εξαλείφει την ανάγκη εκτέλεσης διπλής εκκίνησης με το Ubuntu για πρόσβαση στις δυνατότητες Linux. Δεν χρειάζεται να πάτε για Mac OS X, να εκτελέσετε μια εικονική μηχανή ή να δημιουργήσετε λύσεις χρησιμοποιώντας το Cygwin. Δίνει το απαιτούμενο σύνολο εργαλείων για τη σύνταξη και τη δημιουργία κώδικα για τα σενάρια και τις πλατφόρμες σας. Με την πρόσβαση στο σύστημα αρχείων των Windows από το Bash, μπορείτε να εργαστείτε στα ίδια αρχεία χρησιμοποιώντας τα Windows ή το Linux CLI.

Πώς μεταφέρει η Microsoft το Bash σε Windows;

Στο Build Conference του Απριλίου 2016, η Microsoft ανακοίνωσε το Υποσύστημα Windows για Linux (WSL) με έκπληξη πολλών. Γεννημένος από μια συνεργασία με την Canonical, το Bash στα Windows κυκλοφόρησε για πρώτη φορά με το Windows 10 Anniversary Update. Διατίθεται σε δύο μέρη: το βασικό υποσύστημα και ένα πακέτο. Το βασικό υποσύστημα είναι ήδη μέρος των Windows 10 Insider Builds και προσφέρει το Linux API στα Windows, πράγμα που σημαίνει ότι μπορείτε να φορτώσετε εγγενώς βιβλιοθήκες Linux και εκτελέσιμα αρχεία. Η Canonical παρέχει το πακέτο λογισμικού προαιρετικά. Αυτό το πακέτο λογισμικού προσφέρει εργαλεία Bash και CLI που απαιτούνται για το περιβάλλον Linux.

Εγκατάσταση του Bash

Για να εκτελέσετε το Bash σε Windows, το σύστημά σας πρέπει να εκτελέσει το x64 Windows 10 Anniversary Update Build 14393 ή μεταγενέστερη έκδοση. Ανακαλύπτετε την έκδοση πληκτρολογώντας οινοποιός στο πλαίσιο εντολών.

Εάν η έκδοση build είναι μικρότερη από 14393, δεν θα μπορείτε να εγκαταστήσετε το Bash.

Για να ενεργοποιήσετε το Bash σε μια υποστηριζόμενη έκδοση, πρέπει πρώτα να ενεργοποιήσετε τη Λειτουργία προγραμματιστή. Για να το κάνετε αυτό, μεταβείτε στις Ρυθμίσεις, κάντε κλικ στο Για προγραμματιστές και επιλέξτε το κουμπί επιλογής Λειτουργία προγραμματιστή. Μόλις γίνει αυτό, θα σας ζητηθεί να επιβεβαιώσετε.

Μόλις γίνει αυτό, πρέπει να είναι ενεργοποιημένη η δυνατότητα Υποσύστημα Windows για Linux. Ο ευκολότερος τρόπος για να γίνει αυτό είναι μέσω ενός cmdlet PowerShell:

Ενεργοποίηση-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

Για να ανοίξετε το Bash στα Windows, ανοίξτε τη γραμμή εντολών, πληκτρολογήστε κτυπώ δυνατάκαι αποδεχτείτε τη συμφωνία άδειας χρήσης. Κατά την εγκατάσταση του Bash, εκτελεί μερικές αλλαγές στο σύστημά σας:

  • Πραγματοποιείται λήψη μιας εικόνας λειτουργίας χρήστη του Ubuntu.
  • Ένας κρυμμένος φάκελος που βρίσκεται στη διεύθυνση % localappdata% \ lxss \ δημιουργειται.
  • Μια συντόμευση τοποθετείται στην επιφάνεια εργασίας.

Για να εκτελέσετε το Bash, μπορείτε τώρα είτε να μεταβείτε στη γραμμή εντολών είτε να χρησιμοποιήσετε το εικονίδιο συντόμευσης στην επιφάνεια εργασίας.

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

Ξεκινώντας με εντολές

Μόλις φτάσετε στο Bash, έχετε μερικές διαθέσιμες εντολές για τη διαχείριση του WSL και της εικόνας του Ubuntu.

  • lxrun: Για τη διαχείριση της παρουσίας WSL
  • lxrun / εγκατάσταση: Για να ξεκινήσετε τη διαδικασία λήψης και εγκατάστασης
  • lxrun / απεγκατάσταση: Για να απεγκαταστήσετε την εικόνα του Ubuntu
  • lxrun / ενημέρωση: Για να ενημερώσετε το ευρετήριο πακέτων WSL
  • lxrun / setdefaultuser: Για να ορίσετε το προεπιλεγμένο Bash στο χρήστη του Ubuntu

Το Bash στα Windows, φυσικά, σας επιτρέπει να εκτελείτε πολλές «παραδοσιακές» εντολές Bash. Για παράδειγμα:

  • grep: Για να βρείτε γραμμές που ταιριάζουν με ένα μοτίβο
  • σεν: Για να αντικαταστήσετε μια συμβολοσειρά
  • ηχώ: Για έξοδο της τιμής στην οθόνη
  • var = 2: Για να δημιουργήσετε μια μεταβλητή για $ var
  • =!=: Για σύγκριση μικρών αποσπασμάτων κειμένων

Εντολές πλοήγησης

Για πλοήγηση, μπορείτε επίσης να χρησιμοποιήσετε την εντολή Windows DOS CD για πλοήγηση στη δομή του φακέλου.

  • cd temp: Αλλάζει τον κατάλογο εργασίας στον φάκελο που ονομάζεται temp
  • CD\: Σας μεταφέρει στον ριζικό κατάλογο. Καθώς το Ubuntu δεν έχει γράμματα δίσκου όπως τα Windows, ο ριζικός κατάλογος θα ήταν ο κατάλογος ανώτατου επιπέδου.
  • CD..: Μεταφέρει την προτροπή ένα επίπεδο προς τα πάνω (δηλαδή στον γονικό κατάλογο)
  • cd ~: Σας μεταφέρει στον αρχικό κατάλογο

Ωστόσο, CD στο PowerShell είναι ελαφρώς διαφορετικό στο Bash στο Ubuntu. Στο περιβάλλον WSL, οι μονάδες δίσκου των Windows αποθηκεύονται στο / mnt φάκελο και το όνομα της μονάδας χρησιμοποιείται ως υποφάκελος. Όταν χρησιμοποιείτε το CD εντολή, θα πρέπει να αλλάξετε τη διαδρομή ανάλογα.

Εμφάνιση εντολών

Για να ελέγξετε τη διαδρομή και τα περιεχόμενα ενός καταλόγου, ακολουθούν μερικά παραδείγματα:

  • pwd: Εκτυπώνει τη διαδρομή ή τον κατάλογο στον οποίο βρίσκεστε στην οθόνη
  • είναι: Εμφανίζει τα αρχεία σε έναν κατάλογο

Εντολές βοήθειας

Εάν θέλετε να κατανοήσετε τη λειτουργικότητα και τις παραμέτρους που σχετίζονται με κάθε εντολή, το άνδρας μπορεί να χρησιμοποιηθεί η εντολή.

Τύπος άνδρας και θα εμφανίσει τη σύνοψη του τι είναι η εντολή και των σχετικών παραμέτρων. Αυτό είναι παρόμοιο με το PowerShell βοήθεια εντολή.

Επεξεργασία εντολών

Ένα από τα πλεονεκτήματα του Bash είναι ότι εργάζεστε με απλό κείμενο. Αυτό σημαίνει ότι δεν χρειάζεται να χάσετε τις ρυθμίσεις του μητρώου ή του προγράμματος. Είτε θέλετε να αλλάξετε την ακολουθία εκκίνησης είτε τη διαμόρφωση του διακομιστή ιστού, απλώς επεξεργαστείτε το αντίστοιχο αρχείο κειμένου. Για να εκτελέσετε αποτελεσματικά εργασίες επεξεργασίας, χρειάζεστε έναν καλό πρόγραμμα επεξεργασίας κειμένου. Το Bash προσφέρει ισχυρούς συντάκτες για να διευκολύνει τη δουλειά σας. Μερικά καλά παραδείγματα επεξεργαστών κειμένου που διατίθενται στο Bash είναι νανο και vi.

Διαχείριση πακέτων στο Bash

Δεδομένου ότι χρησιμοποιείτε ουσιαστικά Linux, έχετε πλέον διαθέσιμες εντολές διαχείρισης πακέτων με τη μορφή καταλαβαίνω. Μερικά παραδείγματα:

  • sudo apt-get ενημέρωση: Ανανεώνει τη λίστα των αποθετηρίων για λήψη
  • sudo apt-get αναβάθμιση: Αναβαθμίζει όλο το λογισμικό στην πιο πρόσφατη έκδοση
  • apt-cache αναζήτηση app_name: Αναζητά το αποθετήριο για μια συγκεκριμένη εφαρμογή
  • sudo apt-get εγκατάσταση apt-name: Λήψεις και εγκατάσταση της συγκεκριμένης εφαρμογής

sudo Προετοιμάζεται σε όλες τις εντολές για να σας επιτρέψει να εκτελέσετε μια εντολή κάτω από διαφορετικό χρήστη, τον υπερχρήστη (ή τον διαχειριστή) ως προεπιλογή. Είναι παρόμοιο με την τεχνική "run as administrator" στα Windows.

Εντολές δικτύωσης

Για λήψη αρχείων μέσω HTTP από διακομιστή ή διεύθυνση URL, μπορείτε πλέον να χρησιμοποιήσετε το μπούκλα εντολή. Αυτή η εντολή είναι παρόμοια με το PowerShell Invoke-WebRequest cmdlet.

Ομοίως, μπορείτε να συνδεθείτε σε έναν άλλο απομακρυσμένο υπολογιστή Linux και να εκτελέσετε εντολές σε αυτόν. Δεδομένου ότι είμαστε τώρα στο Linux, έχουμε τελικά έναν πραγματικό πελάτη SSH για να συνεργαστούμε. Αντί να χρησιμοποιήσουμε το Cygwin ή την τρέχουσα έκδοση beta της εφαρμογής OpenSSH για Windows, τώρα μπορούμε να τρέξουμε SSH εγγενώς μέσω του ssh εντολή:

ssh όνομα χρήστη @ abc.com

Ενώ είμαστε στο θέμα του OpenSSH, έχουμε πλέον τη δυνατότητα να αντιγράφουμε αρχεία με ασφάλεια μέσω SCP χρησιμοποιώντας το ενσωματωμένο scp εντολή επίσης:

scp localfile [email protected]: remotedirectory / remotefile

Με το Bash στα Windows, έχετε πλέον πολλές άλλες δυνατότητες στα χέρια σας:

  • Εργαλεία όπως το Git, το Python και το Ruby απευθείας στα Windows
  • Συντάκτες γραμμής εντολών όπως emacs και vi
  • Πρόσβαση στο σύστημα αρχείων των Windows από το περιβάλλον Bash
  • Υποστήριξη χρηστών Linux
  • Υποστήριξη Symlink
  • Αποθήκευση μέσω / mnt

Ποιες είναι οι συνήθεις περιπτώσεις χρήσης για το Bash στα Windows;

Επί του παρόντος, πολλοί προγραμματιστές χρησιμοποιούν εργαλεία Windows και Linux, πράγμα που σημαίνει ότι πρέπει να εκτελέσουν διπλή εκκίνηση ή να τρέξουν Linux μέσα σε μια εικονική μηχανή για να αποκτήσουν τις δυνατότητες CLI. Όταν μπορούν να εκτελέσουν αυτά τα εργαλεία στα Windows, τότε τα Windows γίνονται η κύρια επιφάνεια εργασίας τους. Σε αυτήν την περίπτωση, δεν χρειάζεται να μεταφέρουν εφαρμογές και υπηρεσίες Linux σε συστήματα Windows. Ενώ ορισμένα άτομα μπόρεσαν να εκτελέσουν εφαρμογές Linux GUI μέσα σε Windows, πολλοί άνθρωποι έχουν ένα εύχρηστο CLI Linux για να εκτελούν απλές εργασίες χωρίς να αγοράσουν ένα ειδικό μηχάνημα Linux από το Azure ή να μετακινηθούν σε μια συσκευή Mac για απλούς σκοπούς. Καθώς η δέσμη ενεργειών είναι εύκολη στο Bash, μπορείτε να αυτοματοποιήσετε εργασίες ανάπτυξης, όπως δημιουργία αντιγράφων ασφαλείας ιστότοπων στο Apache.

Για παράδειγμα, πολλοί προγραμματιστές χρησιμοποιούν το GitHub για εργασίες ελέγχου εκδόσεων. Για να αποκτήσετε πρόσβαση στο GitHub στα Windows, πρέπει να εγκαταστήσετε το GitHub για Windows και, στη συνέχεια, να χρησιμοποιήσετε τις εντολές komit και push για να πραγματοποιήσετε αλλαγές. Εναλλακτικά, πρέπει να κατεβάσετε το βοηθητικό πρόγραμμα Git, το οποίο είναι μια κουραστική διαδικασία. Με το Bash στα Windows, η εργασία σας γίνεται απλή:

apt-get install git

git δεσμεύω

σκατά

Επίσης, στο Bash, δεν χρειάζεστε εργαλεία τρίτων για να εργαστείτε με παραδοσιακούς τύπους αρχείων Linux, όπως GZIPed tarballs (αρχεία tar.gz).

Ποια είναι τα μειονεκτήματα της χρήσης του Bash στα Windows;

Το Bash στα Windows εξακολουθεί να είναι σε έκδοση beta και περιέχει μερικές άκρες. Η Microsoft λέει ότι το Bash στα Windows ενδέχεται να μην εκτελεί τέλεια όλα τα σενάρια σας αυτή τη στιγμή. Ωστόσο, η Microsoft παρακολουθεί προσεκτικά την απόδοση και τα σχόλια και προβαίνει ενεργά σε αλλαγές σε αυτήν τη λύση.

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

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

Το Bash στα Windows βρίσκεται ακόμα στο αρχικό του στάδιο. Αν και υπάρχουν ορισμένοι περιορισμοί σε αυτήν τη λύση, η Microsoft εργάζεται έντονα για να προσθέσει περισσότερες δυνατότητες για να διαγράψει αυτές τις διαφορές και να κάνει τα Windows την πλατφόρμα Νο. 1 για κάθε τύπο έργου ανάπτυξης. Παρακολουθήστε αυτό το έργο από τη Microsoft. Με τη νέα στάση της Microsoft στον κόσμο των ανοιχτών πηγών, είναι βέβαιο ότι θα κάνει το Bash έναν πολίτη πρώτης κατηγορίας στα Windows με την πάροδο του χρόνου.

Σχετικά Άρθρα

  • Ο βασικός οδηγός για το PowerShell για Windows, Windows Server και Exchange
  • 10 βασικά σενάρια ασφαλείας του PowerShell για διαχειριστές των Windows
  • Όλα σχετικά με τους παρόχους και τις ενότητες του PowerShell
  • Go pro: Ο οδηγός χρήσης του PowerShell