Δείτε τι είναι ο "Διερμηνέας εντολών" σε άλλα λεξικά. Οδηγός χρήσης

Αυτο 15.07.2019

Για να εξασφαλιστεί η αλληλεπίδραση του χρήστη με το λειτουργικό σύστημα και τα προγράμματα εφαρμογών, απαιτείται μια διεπαφή: ένα σύστημα για τη μετάδοση εντολών χρήστη στο λειτουργικό σύστημα και τις αποκρίσεις του συστήματος πίσω στον χρήστη. Αυτή η αλληλεπίδραση είναι ένας «διάλογος» μεταξύ του χρήστη και του υπολογιστή σε μια ειδική γλώσσα, είτε πρόκειται για μια γλώσσα που χρησιμοποιεί σημεία παρόμοια με λέξεις και δηλώσεις της φυσικής γλώσσας είτε μια γλώσσα εικόνων. Σήμερα, δύο θεμελιώδεις δυνατότητες για την οργάνωση μιας διεπαφής είναι γνωστές: η γραφική διεπαφή και η γραμμή εντολών.

Η γραμμή εντολών, μια προτροπή φλοιού που υποδεικνύει την ετοιμότητα του συστήματος να αποδεχθεί μια εντολή χρήστη, δείχνει την ιδέα του διαλόγου στην πιο σαφή μορφή της. Για κάθε εντολή που εισάγεται, ο χρήστης λαμβάνει μια απάντηση από το σύστημα: είτε μια άλλη προτροπή, που υποδεικνύει ότι η εντολή έχει ολοκληρωθεί και μπορεί να εισαχθεί η επόμενη, είτε ένα μήνυμα σφάλματος, το οποίο είναι μια δήλωση από το σύστημα σχετικά με τα συμβάντα που έχουν συνέβη σε αυτό, που απευθύνεται στον χρήστη. Όταν εργάζεστε σε περιβάλλον λειτουργίας με γραφική διεπαφή, ο συνεχής διάλογος μεταξύ του χρήστη και του συστήματος δεν είναι τόσο προφανής, αν και από την άποψη του συστήματος, ένα κλικ του ποντικιού σε μια συγκεκριμένη περιοχή στην οθόνη είναι παρόμοιο με μια εντολή που εισάγεται από το πληκτρολόγιο και η απάντηση του συστήματος στον χρήστη μπορούν να παρουσιαστούν με τη μορφή ενός πλαισίου διαλόγου.

Όταν εργάζεστε με τη γραμμή εντολών, χρησιμοποιούνται ειδικά προγράμματα για την οργάνωση της διεπαφής - διερμηνείς εντολών. Δέχονται εντολές που εκδίδονται από τον χρήστη με τη μορφή γραμμών κειμένου που περιέχουν ονόματα προγραμμάτων και παραμέτρους με τις οποίες θα πρέπει να εκτελεστούν αυτά τα προγράμματα, αναλύουν τις λαμβανόμενες γραμμές, εκτελούν τα απαραίτητα προγράμματα και μεταδίδουν την έξοδο τους στον χρήστη - επίσης γραμμές κειμένου. Όλη η αλληλεπίδραση του χρήστη με το σύστημα πραγματοποιείται μέσω του διερμηνέα εντολών, γι' αυτό και ονομάζεται συχνά κέλυφος. Για την εκτέλεση τυπικών ενεργειών, οι ακολουθίες εντολών είναι οι ίδιες. Τέτοιες ακολουθίες εντολών μπορούν να γραφτούν σε ένα αρχείο κειμένου και στη συνέχεια να περάσουν αυτό το αρχείο κειμένου στον διερμηνέα εντολών για εκτέλεση. Τέτοια αρχεία κειμένου ονομάζονται σενάρια. Για να τρέξουν πρέπει να έχουν τα κατάλληλα δικαιώματα (σημαία "x"). Οι διερμηνείς εντολών υποστηρίζουν την εκτέλεση εντολών υπό όρους (δομές if-then-else), βρόχους, δημιουργία και κλήσεις υπορουτίνων κ.λπ. Η γλώσσα του κελύφους είναι εξαιρετικά ισχυρή και σας επιτρέπει να αυτοματοποιήσετε σχεδόν οποιαδήποτε εργασία στο σύστημα. Για παράδειγμα, οι ενέργειες κατά την εκκίνηση του συστήματος εκτελούνται από σενάρια διερμηνέων εντολών - ξεκινώντας από το /etc/rc.d/rc.sysinit, το οποίο, με τη σειρά του, καλεί μεγάλο αριθμό άλλων σεναρίων.

Στα συστήματα *nix, σύμφωνα με τον αρθρωτό σχεδιασμό τους, διατίθενται αρκετοί διερμηνείς εντολών. Βασικά, ο διερμηνέας bash (/bin/bash) χρησιμοποιείται αυτήν τη στιγμή.

Οι εντολές του λειτουργικού συστήματος είναι μικρά προγράμματα που βρίσκονται στους καταλόγους /bin, /usr/bin, /sbin, /usr/sbin. Στο μέλλον, όταν μιλάμε για εντολές, θα τις κατανοούμε συγκεκριμένα ως τα καθορισμένα προγράμματα.

Η γενική μορφή για την κλήση της εντολής είναι η εξής:

$ εντολή -f --flag --key=παράμετρος όρισμα1 agrument2 ...

Εδώ το "$" είναι η προτροπή του λειτουργικού συστήματος για την εισαγωγή μιας εντολής. Για τους απλούς χρήστες μοιάζει με "$", για έναν υπερχρήστη (root) - "#". Στο εξής, για εντολές που απαιτούν δικαιώματα root, θα χρησιμοποιείται ο συμβολισμός "# εντολή".

εντολή - όνομα εντολής. Για εντολές που χρησιμοποιούνται συχνά, τα ονόματα είναι σύντομα, αποτελούμενα από 2-3 γράμματα.

Μετά το όνομα της εντολής, εάν είναι απαραίτητο, υποδεικνύονται τα πλήκτρα. Ένα κλειδί είναι μια παράμετρος εντολής που επηρεάζει το αποτέλεσμα της εκτέλεσής της. Τα πλήκτρα που χρησιμοποιούνται συχνά είναι σύντομα, ενός χαρακτήρα. Για λιγότερο συχνά απαιτούμενα μεγάλα πλήκτρα, χρησιμοποιούνται λέξεις ή συντομογραφίες. Τα σύντομα πλήκτρα ξεκινούν με έναν χαρακτήρα "-", τα μεγάλα - με δύο χαρακτήρες "-". Τα σύντομα πλήκτρα αντιγράφονται συχνά από μεγάλα για να αυξηθεί η αναγνωσιμότητα των σεναρίων. Μετά τα πλήκτρα, μπορούν να καθοριστούν πρόσθετες παράμετροι για μεγάλα πλήκτρα, τέτοιες παράμετροι συνήθως γράφονται χρησιμοποιώντας το σύμβολο "=". Πολλαπλοί διακόπτες μονού χαρακτήρων μπορούν να συνδυαστούν μαζί: για παράδειγμα, αντί για "$ ls -l -a" μπορείτε να γράψετε "$ ls -la".

Η σειρά των κλειδιών γενικά δεν είναι σημαντική.

Όλες οι επιλογές ακολουθούνται από ορίσματα εντολών. Τα ορίσματα είναι συνήθως διαδρομές προς αρχεία ή καταλόγους. Είναι δυνατό να χρησιμοποιηθούν ορίσματα που ξεκινούν με ένα σύμβολο "-". Σε αυτήν την περίπτωση, χωρίζονται από τα πλήκτρα με δύο χαρακτήρες "-":

$ άγγιγμα -- -αρχείο-με-

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

Συνήθως τα προγράμματα υποστηρίζουν πολλά τυπικά κλειδιά. Χρησιμοποιώντας το διακόπτη "-h" ή "--help", εμφανίζονται σύντομες πληροφορίες σχετικά με το πρόγραμμα. Με το πλήκτρο "-v" ή "--έκδοση" - η έκδοσή του. Εάν η σύντομη βοήθεια δεν είναι αρκετή, μπορείτε να καλέσετε μια περιγραφή του προγράμματος στο σύστημα βοήθειας. Για πρόσβαση στη βοήθεια, χρησιμοποιήστε την εντολή man (συντομογραφία του "manual"). Η εντολή man παίρνει το όνομα μιας εντολής ή αρχείου διαμόρφωσης ως όρισμα και αναζητά και εμφανίζει τη σελίδα man. Η βοήθεια που εκδίδεται από την εντολή man περιέχει πληροφορίες σχετικά με τη μορφή κλήσης του προγράμματος, τα κλειδιά και τις παραμέτρους που υποστηρίζει, πληροφορίες σχετικά με τους δημιουργούς και την άδεια χρήσης του προγράμματος, σε ορισμένες περιπτώσεις - παραδείγματα χρήσης, συνδέσμους σε ιστότοπους προγραμματιστών με πρόσθετη τεκμηρίωση.

Για να προβάλετε μη αυτόματες σελίδες που δεν χωρούν στην οθόνη, χρησιμοποιήστε τα πλήκτρα κέρσορα, "Σελίδα επάνω" και "Σελίδα κάτω" για κύλιση. Ένα διάστημα μετακινεί το εγχειρίδιο μία σελίδα μπροστά. Για να βγείτε από τον χρήστη και να συνεχίσετε να εργάζεστε με το σύστημα, πατήστε το πλήκτρο "q" (έξοδος).

Ορισμένα προγράμματα, εκτός από τα εγχειρίδια σε μορφή "man", έχουν επίσης πιο εκτενή τεκμηρίωση σε μορφή "info" - καλούμενη μέσω του ομώνυμου βοηθητικού προγράμματος.

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

BAT Επέκταση αρχείου: .bat, .cmd (μόνο για Windows NT) Τύπος μορφής: Γλώσσα προγραμματισμού δέσμης ενεργειών Μαζικό αρχείο - ένα αρχείο κειμένου σε OS/2 ή Windows που περιέχει μια ακολουθία εντολών που προορίζονται να εκτελεστούν από την εντολή ... Wikipedia

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

Το κέλυφος του λειτουργικού συστήματος (από το αγγλικό κέλυφος) είναι ένας διερμηνέας εντολών του λειτουργικού συστήματος (OS), παρέχοντας μια διεπαφή για την αλληλεπίδραση του χρήστη με τις λειτουργίες του συστήματος. Γενικά, υπάρχουν κελύφη με δύο τύπους διεπαφής για ... Wikipedia

Το κέλυφος του λειτουργικού συστήματος (από το αγγλικό κέλυφος) είναι ένας διερμηνέας εντολών του λειτουργικού συστήματος (OS), παρέχοντας μια διεπαφή για την αλληλεπίδραση του χρήστη με τις λειτουργίες του συστήματος. Γενικά, υπάρχουν κελύφη με δύο τύπους διεπαφής για ... Wikipedia

Οικογενειακό δέντρο συστημάτων UNIX UNIX (διαβάστε UNIX) οικογένεια φορητών, πολλαπλών εργασιών και πολλαπλών χρηστών ... Wikipedia

Οικογενειακό δέντρο συστημάτων UNIX Το UNIX (διαβάστε Unix) είναι μια ομάδα φορητών λειτουργικών συστημάτων πολλαπλών εργασιών και πολλαπλών χρηστών. Το πρώτο σύστημα UNIX αναπτύχθηκε το 1969 από το τμήμα Bell Labs του AT T. Έκτοτε, δημιουργήθηκε ... Wikipedia

Οικογενειακό δέντρο συστημάτων UNIX Το UNIX (διαβάστε Unix) είναι μια ομάδα φορητών λειτουργικών συστημάτων πολλαπλών εργασιών και πολλαπλών χρηστών. Το πρώτο σύστημα UNIX αναπτύχθηκε το 1969 από το τμήμα Bell Labs του AT T. Έκτοτε, δημιουργήθηκε ... Wikipedia

Οικογενειακό δέντρο συστημάτων UNIX Το UNIX (διαβάστε Unix) είναι μια ομάδα φορητών λειτουργικών συστημάτων πολλαπλών εργασιών και πολλαπλών χρηστών. Το πρώτο σύστημα UNIX αναπτύχθηκε το 1969 από το τμήμα Bell Labs του AT T. Έκτοτε, δημιουργήθηκε ... Wikipedia

Προγράμματα οδήγησης συσκευών χαρακτήρων

Όταν εκδίδεται μια εντολή, η ροή χαρακτήρων ερμηνεύεται πρώτα από το πρόγραμμα οδήγησης της συσκευής χαρακτήρων. Το ποιο πρόγραμμα οδήγησης λειτουργεί εξαρτάται σε κάθε περίπτωση από τον εξοπλισμό που χρησιμοποιείται (για πιο λεπτομερείς πληροφορίες, βλ. «Περιγραφή προγράμματος. Μέρος 1. Αναφορά βοηθητικών προγραμμάτων» KPDA.10964-01 13 01).

Σημείωμα. Ορισμένες πληκτρολογήσεις ενδέχεται να υποστούν διαφορετική επεξεργασία από αυτήν που περιγράφεται σε αυτήν την ενότητα, ανάλογα με τη διαμόρφωση του συστήματός σας.

Λειτουργίες εισαγωγής

Τα προγράμματα οδήγησης συσκευών εισόδου/εξόδου χαρακτήρων μπορούν να λειτουργήσουν σε οποιοδήποτε από τα δύο λειτουργία μη επεξεργασμένων ("ακατέργαστων") δεδομένων εισόδου(λειτουργία πρωτογενούς εισαγωγής) ή σε κανονική λειτουργία(κανονική λειτουργία), ή επεξεργάσιμη λειτουργία εισαγωγής(επεξεργασμένη λειτουργία εισαγωγής). Στη λειτουργία πρωτογενούς εισαγωγής, όλοι οι χαρακτήρες μεταβιβάζονται στην εφαρμογή καθώς εισάγονται. Στη λειτουργία εισαγωγής με δυνατότητα επεξεργασίας, η εφαρμογή λαμβάνει χαρακτήρες μόνο μετά την ολοκλήρωση μιας ολόκληρης γραμμής εισαγωγής (συνήθως υποδεικνύεται από μια επιστροφή μεταφοράς).

Υποστήριξη τερματικού

Ορισμένα προγράμματα (για παράδειγμα,vi) απαιτούνται πληροφορίες σχετικά με τις ενέργειες που μπορεί να εκτελέσει το τερματικό σας (είναι δυνατή η μετακίνηση του δρομέα, η εκκαθάριση της οθόνης κ.λπ.). Μεταβλητή περιβάλλοντος TERMυποδεικνύει τον τύπο του τερματικού που χρησιμοποιείται και ο κατάλογος /usr/lib/terminfo είναι μια βάση δεδομένων τερματικού. Αυτός ο κατάλογος περιέχει ένα σύνολο υποκαταλόγων (a έως z) που αποθηκεύουν πληροφορίες για το αντίστοιχο τερματικό. Ορισμένες εφαρμογές χρησιμοποιούν το /etc/termcap, το οποίο είναι ένα παλαιού τύπου μοντέλο βάσης δεδομένων ενός αρχείου, αντί για το /usr/lib/terminfo.

Το προεπιλεγμένο τερματικό είναιqansi-m (έκδοση QNX του τερματικού ANSI). Για περισσότερες πληροφορίες σχετικά με τη ρύθμιση του τύπου τερματικού, ανατρέξτε στην υποενότητα. "Τύποι τερματικού" στην ενότητα 9.

Υπηρεσία telnet

Όταν χρησιμοποιείτε μια διαδικτυακή υπηρεσίαtelnet για επικοινωνία μεταξύ δύο μηχανών QNX (που εκτελούν QNX 4 ή QNX Neutrino), η παράμετρος -8 πρέπει να καθοριστεί για να ενεργοποιηθεί η διαδρομή δεδομένων των οκτώ bit. Εάν συνδέεστε σε μηχάνημα που εκτελεί QNX Neutrino από μηχάνημα με άλλο λειτουργικό σύστημα και το τερματικό δεν λειτουργεί σωστά, κλείστε το telnet και εκτελέστε ξανά το βοηθητικό πρόγραμμα με την επιλογή -8.

Σημείωμα . Κατά την εκκίνησηΤο telnet από το λειτουργικό σύστημα Windows χρησιμοποιεί τη λειτουργία ansi ή vt100, ανάλογα με τον τύπο τερματικού.

Γενικές πληροφορίες για το πληκτρολόγιο

Στον πίνακα Το 4.1 δείχνει πώς τα προγράμματα οδήγησης συσκευών εισόδου/εξόδου χαρακτήρων ερμηνεύουν διάφορα πλήκτρα και τους συνδυασμούς τους (δηλαδή ομάδες πλήκτρων που πατάτε ταυτόχρονα). Τα προγράμματα οδήγησης επεξεργάζονται πατήματα πλήκτρων αμέσως μετά την εκτέλεσή τους.

Σημείωμα. Η απόκριση του συστήματος στη χρήση του πληκτρολογίου από τον χρήστη μπορεί να διαφέρει από αυτή που περιγράφεται παρακάτω εάν:

Σχόλιο: Αναλύονται οι εσωτερικές εντολές που υποστηρίζονται από τον διερμηνέα Cmd.exe και οι πιο συχνά χρησιμοποιούμενες εξωτερικές εντολές (εργαλεία γραμμής εντολών). Περιγράφονται μηχανισμοί για ανακατεύθυνση I/O, διοχέτευση και εκτέλεση εντολών υπό όρους. Δίνονται παραδείγματα εντολών για εργασία με το σύστημα αρχείων.

Κέλυφος γραμμής εντολών των Windows. Διερμηνέας Cmd.exe

Στο λειτουργικό σύστημα Windows, όπως και σε άλλα λειτουργικά συστήματα, οι διαδραστικές εντολές (που πληκτρολογούνται από το πληκτρολόγιο και εκτελούνται αμέσως) εκτελούνται χρησιμοποιώντας τον λεγόμενο διερμηνέα εντολών, που αλλιώς ονομάζεται επεξεργαστής εντολών ή κέλυφος εντολών (κέλυφος εντολών). Διερμηνέας εντολώνή το κέλυφος της γραμμής εντολών είναι ένα πρόγραμμα που, ενώ βρίσκεται στη μνήμη RAM, διαβάζει τις εντολές που πληκτρολογείτε και τις επεξεργάζεται. Στα Windows 9x, όπως και στο MS-DOS, διερμηνέας εντολώναπό προεπιλογή αντιπροσωπεύτηκε από το εκτελέσιμο αρχείο εντολής. com. Ξεκινώντας με την έκδοση των Windows NT, το λειτουργικό σύστημα έχει υλοποιηθεί διερμηνέας εντολών Cmd.exe, το οποίο έχει πολύ πιο ισχυρές δυνατότητες.

Εκτόξευση του κελύφους

Στα Windows NT/2000/XP, το αρχείο Cmd.exe, όπως και άλλα εκτελέσιμα αρχεία που αντιστοιχούν εξωτερικές ομάδεςΤο λειτουργικό σύστημα βρίσκεται στον κατάλογο %SystemRoot%\SYSTEM32 (η τιμή της μεταβλητής περιβάλλοντος %SystemRoot% είναι ο κατάλογος συστήματος των Windows, συνήθως C:\Windows ή C:\WinNT). Για να ξεκινήσετε τον διερμηνέα εντολών (άνοιγμα μιας νέας περιόδου λειτουργίας γραμμής εντολών), μπορείτε να επιλέξετε Εκτέλεση... από το μενού Έναρξη, πληκτρολογήστε το όνομα αρχείου Cmd.exe και κάντε κλικ στο OK. Ως αποτέλεσμα, θα ανοίξει ένα νέο παράθυρο (βλ. Εικ. 2.1), στο οποίο μπορείτε να εκτελέσετε εντολές και να δείτε το αποτέλεσμα της δουλειάς τους.


Ρύζι. 2.1.

Εσωτερικές και εξωτερικές ομάδες. Δομή εντολών

Ορισμένες εντολές αναγνωρίζονται και εκτελούνται απευθείας από το ίδιο το κέλυφος - αυτές ονομάζονται εσωτερικές εντολές (για παράδειγμα, COPY ή DIR Άλλες εντολές λειτουργικού συστήματος είναι ξεχωριστά προγράμματα, που βρίσκονται από προεπιλογή στον ίδιο κατάλογο με το Cmd.exe, τον οποίο φορτώνουν τα Windows). εκτελεί παρόμοια άλλα προγράμματα. Τέτοιες εντολές ονομάζονται εξωτερικές (για παράδειγμα, MORE ή XCOPY).

Ας δούμε τη δομή της ίδιας της γραμμής εντολών και την αρχή της εργασίας μαζί της. Για να εκτελέσετε την εντολή, πρέπει γραμμή εντολών(για παράδειγμα, C:\>) πληκτρολογήστε το όνομα αυτής της εντολής (η κεφαλαία δεν είναι σημαντική), τις παραμέτρους και τους διακόπτες της (αν χρειάζεται) και πατήστε το πλήκτρο . Για παράδειγμα:

C:\>ΑΝΤΙΓΡΑΦΗ C:\myfile.txt A:\ /V

Το όνομα της εντολής εδώ είναι COPY, οι παράμετροι είναι C:\myfile.txt και A:\ και το κλειδί είναι /V. Σημειώστε ότι σε ορισμένες εντολές οι διακόπτες μπορεί να ξεκινούν όχι με το σύμβολο /, αλλά με το σύμβολο – (μείον), για παράδειγμα, -V .

Πολλές εντολές των Windows έχουν μεγάλο αριθμό πρόσθετων παραμέτρων και διακοπτών, που συχνά είναι δύσκολο να θυμηθούν. Οι περισσότερες εντολές έχουν ενσωματωμένη βοήθεια που περιγράφει εν συντομία τον σκοπό και τη σύνταξη της εντολής. Μπορείτε να αποκτήσετε πρόσβαση σε αυτή τη βοήθεια εισάγοντας την εντολή με το διακόπτη /? Για παράδειγμα, εάν εκτελέσουμε την εντολή ATTRIB /?, τότε στο παράθυρο MS-DOS θα δούμε το ακόλουθο κείμενο:

Εμφάνιση και αλλαγή χαρακτηριστικών αρχείων. ATTRIB [+R|-R] [+A|-A] [+S|-S] [+H|-H] [[drive:][path]filename] + Ορίστε το χαρακτηριστικό.

- Αφαίρεση χαρακτηριστικού.

R Χαρακτηριστικό μόνο για ανάγνωση.

Ένα χαρακτηριστικό "Αρχείο".

S Χαρακτηριστικό "System".

H Κρυφό χαρακτηριστικό. /S Επεξεργάζεται αρχεία σε όλους τους υποφακέλους της καθορισμένης διαδρομής.Για ορισμένες εντολές, το ενσωματωμένο κείμενο βοήθειας μπορεί να είναι αρκετά μεγάλο και μπορεί να μην χωράει σε μία οθόνη. Σε αυτήν την περίπτωση, η βοήθεια μπορεί να εμφανιστεί διαδοχικά σε μία οθόνη χρησιμοποιώντας την εντολή MORE και το σύμβολο σωληνώσεων |, για παράδειγμα: Σε αυτήν την περίπτωση, αφού γεμίσετε την επόμενη οθόνη, η έξοδος βοήθειας θα διακοπεί μέχρι να πατηθεί οποιοδήποτε πλήκτρο. Μπορείτε επίσης να χρησιμοποιήσετε τα σύμβολα ανακατεύθυνσης εξόδου > και >> για να κατευθύνετε το κείμενο που εμφανίζεται στην οθόνη σε ένα αρχείο κειμένου για μεταγενέστερη προβολή. Για παράδειγμα, για να εξάγετε κείμενο βοήθειας για την εντολή XCOPY στο αρχείο κειμένου xcopy.txt, χρησιμοποιήστε την ακόλουθη εντολή: XCOPY /? > XCOPY.TXT ΣχόλιοΑντί για το όνομα του αρχείου, μπορείτε να καθορίσετε τις ονομασίες των συσκευών του υπολογιστή σας. Τα ακόλουθα ονόματα συσκευών υποστηρίζονται στα Windows:

PRN

(εκτυπωτής),

LPT1–LPT3

  • (αντίστοιχες παράλληλες θύρες),
  • AUX
  • (συσκευή συνδεδεμένη στη σειριακή θύρα 1), COM1–COM3 (αντίστοιχες σειριακές θύρες), CON (τερματικό: πληκτρολόγιο για είσοδο, οθόνη για έξοδο), NUL (κενή συσκευή, όλες οι λειτουργίες I/O σε αυτήν αγνοούνται).

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

εντολή > όνομα αρχείου

Εάν το αρχείο που έχει καθοριστεί για έξοδο υπήρχε ήδη, αντικαθίσταται (τα παλιά περιεχόμενα χάνονται αν δεν υπήρχε, δημιουργείται). Μπορείτε επίσης να μην δημιουργήσετε ξανά το αρχείο, αλλά να προσθέσετε την έξοδο πληροφοριών από την εντολή στο τέλος του υπάρχοντος αρχείου. Για να γίνει αυτό, η εντολή ανακατεύθυνσης εξόδου πρέπει να καθοριστεί ως εξής:

εντολή >> όνομα αρχείου

Χρησιμοποιώντας ένα σύμβολο< можно прочитать входные данные для заданной команды не с клавиатуры, а из определенного (заранее подготовленного) файла:

ομάδα< имя_файла

Ακολουθούν μερικά παραδείγματα ανακατεύθυνσης I/O.

  1. Εξαγωγή της ενσωματωμένης βοήθειας για την εντολή COPY στο αρχείο copy.txt:

    ΑΝΤΙΓΡΑΦΗ /? > copy.txt

  2. Προσθήκη κειμένου βοήθειας για την εντολή XCOPY στο αρχείο copy.txt:

    XCOPY /? >> copy.txt

  3. Εισαγωγή νέας ημερομηνίας από το αρχείο date.txt (Η DATE είναι μια εντολή για την προβολή και την αλλαγή της ημερομηνίας συστήματος):

    ΗΜΕΡΟΜΗΝΙΑ< date.txt

Εάν παρουσιαστεί σφάλμα κατά την εκτέλεση μιας συγκεκριμένης εντολής, ένα μήνυμα σχετικά με αυτό εμφανίζεται στην οθόνη από προεπιλογή. Εάν είναι απαραίτητο, τα μηνύματα σφάλματος (τυπική ροή σφαλμάτων) μπορούν να ανακατευθυνθούν σε ένα αρχείο κειμένου χρησιμοποιώντας την κατασκευή

εντολή 2> όνομα αρχείου

Σε αυτήν την περίπτωση, η τυπική έξοδος θα παραχθεί σε ένα αρχείο. Είναι επίσης δυνατή η έξοδος μηνυμάτων πληροφοριών και μηνυμάτων σφάλματος στο ίδιο αρχείο. Αυτό γίνεται ως εξής:

κέλυφος(κέλυφος) στο σύστημα UNIX αναφέρεται στον μηχανισμό αλληλεπίδρασης μεταξύ των χρηστών και του συστήματος. Ουσιαστικά, είναι ένας διερμηνέας εντολών που διαβάζει τις γραμμές που πληκτρολογεί ο χρήστης και ξεκινά να εκτελεί τις ζητούμενες λειτουργίες του συστήματος. Η πλήρης γλώσσα εντολών που ερμηνεύεται από το κέλυφος είναι πλούσια σε δυνατότητες και αρκετά περίπλοκη, αλλά οι περισσότερες εντολές είναι εύχρηστες και εύκολες στη μνήμη.

Η γραμμή εντολών αποτελείται από το όνομα της εντολής (δηλαδή το όνομα του αρχείου που πρόκειται να εκτελεστεί), ακολουθούμενο από μια λίστα ορισμάτων, διαχωρισμένα με κενά. Το κέλυφος χωρίζει τη γραμμή εντολών σε στοιχεία. Το αρχείο που καθορίζεται στην εντολή φορτώνεται και έχει πρόσβαση στα ορίσματα που καθορίζονται στην εντολή.

Οποιαδήποτε γλώσσα εντολών στην οικογένεια του κελύφους αποτελείται στην πραγματικότητα από τρία μέρη:

 Κατασκευές υπηρεσιών που σας επιτρέπουν να χειρίζεστε συμβολοσειρές κειμένου και να δημιουργείτε σύνθετες εντολές με βάση απλές εντολές.

 ενσωματωμένες εντολές που εκτελούνται απευθείας από τον διερμηνέα της γλώσσας εντολών.

 εντολές που αντιπροσωπεύονται από ξεχωριστά εκτελέσιμα αρχεία.

Με τη σειρά του, το σύνολο εντολών του τελευταίου τύπου περιλαμβάνει τυπικές εντολές (βοηθητικά προγράμματα συστήματος όπως vi, cc κ.λπ.) και εντολές που δημιουργούνται από χρήστες του συστήματος. Προκειμένου ένα εκτελέσιμο αρχείο που αναπτύχθηκε από έναν χρήστη OSUNIX να εκτελεστεί ως εντολή φλοιού, αρκεί να ορίσετε μια συνάρτηση με το όνομα main σε ένα από τα αρχεία προέλευσης (το όνομα main πρέπει να είναι καθολικό, δηλαδή να μην προηγείται με τη λέξη-κλειδί στατικό). Εάν χρησιμοποιείτε το όνομα ενός τέτοιου εκτελέσιμου αρχείου ως όνομα εντολής, το κέλυφος θα δημιουργήσει μια νέα διεργασία και θα εκτελέσει το καθορισμένο εκτελέσιμο πρόγραμμα σε αυτό, ξεκινώντας με μια κλήση στην κύρια συνάρτηση.

Το σώμα της κύριας συνάρτησης, σε γενικές γραμμές, μπορεί να είναι αυθαίρετο (για τον διερμηνέα, το μόνο που έχει σημασία είναι η παρουσία ενός σημείου εισόδου στο πρόγραμμα που ονομάζεται main), αλλά για να δημιουργήσετε μια εντολή που μπορεί να ορίσει παραμέτρους, πρέπει να τηρούν ορισμένους τυπικούς κανόνες. Σε αυτήν την περίπτωση, κάθε κύρια συνάρτηση πρέπει να οριστεί με δύο παραμέτρους – argci και argv. Μετά την κλήση της εντολής, η παράμετρος argc θα αντιστοιχεί στον αριθμό των συμβολοσειρών χαρακτήρων που καθορίζονται ως ορίσματα στην κλήση της εντολής και το argv είναι ένας πίνακας δεικτών σε μεταβλητές που περιέχουν αυτές τις συμβολοσειρές. Σε αυτήν την περίπτωση, το ίδιο το όνομα της εντολής αποτελεί την πρώτη γραμμή ορισμάτων (δηλαδή, μετά την κλήση, η τιμή του argc είναι πάντα μεγαλύτερη ή ίση με 1). Ο κύριος κωδικός συνάρτησης πρέπει να αξιολογεί την εγκυρότητα της δεδομένης τιμής argc και να επεξεργάζεται τις δεδομένες συμβολοσειρές κειμένου ανάλογα.

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

#συμπεριλαμβάνω

κύρια (argc, argv)

printf(“χρήση: %s your-text\n”, argv);

printf(“%s\n”, argv);

Διαδικασίες

Μια διεργασία στο UNIX νοείται με την κλασική έννοια του όρου, δηλαδή ως πρόγραμμα που εκτελείται στον δικό του εικονικό χώρο διευθύνσεων. Όταν ένας χρήστης συνδέεται, δημιουργείται αυτόματα μια διαδικασία που εκτελεί ένα πρόγραμμα φλοιού. Εάν ο διερμηνέας εντολών συναντήσει μια εντολή που αντιστοιχεί σε ένα εκτελέσιμο αρχείο, δημιουργεί μια νέα διεργασία και εκτελεί το αντίστοιχο πρόγραμμα σε αυτήν, ξεκινώντας από την κύρια συνάρτηση. Αυτό το τρέχον πρόγραμμα, με τη σειρά του, μπορεί να δημιουργήσει μια διεργασία και να εκτελέσει ένα άλλο πρόγραμμα σε αυτήν (πρέπει επίσης να περιέχει την κύρια συνάρτηση) κ.λπ.

Για να δημιουργήσετε μια νέα διαδικασία και να εκτελέσετε ένα πρόγραμμα σε αυτήν, χρησιμοποιούνται δύο κλήσεις συστήματος: fork() και exes(executable_file_name). Η κλήση συστήματος fork έχει ως αποτέλεσμα τη δημιουργία ενός νέου χώρου διευθύνσεων, η κατάσταση του οποίου είναι απολύτως πανομοιότυπη με την κατάσταση του χώρου διευθύνσεων της κύριας διεργασίας (δηλαδή περιέχει τα ίδια προγράμματα και δεδομένα). Αντίγραφα όλων των τμημάτων δεδομένων δημιουργούνται για τη θυγατρική διαδικασία.

Με άλλα λόγια, αμέσως μετά την εκτέλεση της κλήσης συστήματος διχάλας, η κύρια (γονική) και η θυγατρική διαδικασία είναι απόλυτες δίδυμες.

ο έλεγχος και στα δύο βρίσκεται στο σημείο αμέσως μετά την κλήση διακλάδωσης. Για να μπορεί το πρόγραμμα να καταλάβει σε ποια διεργασία λειτουργεί τώρα - στην κύρια ή στην ωοτοκία, η συνάρτηση πιρουνιού επιστρέφει διαφορετικές τιμές: 0 στη διαδικασία αναπαραγωγής και έναν θετικό ακέραιο (το αναγνωριστικό της διαδικασίας αναπαραγωγής - το λεγόμενο PID) στην κύρια διαδικασία.

Τώρα, εάν θέλουμε να εκτελέσουμε ένα νέο πρόγραμμα στη διαδικασία αναπαραγωγής, πρέπει να καλέσουμε την κλήση συστήματος exec, προσδιορίζοντας ως ορίσματα στην κλήση το όνομα του αρχείου που περιέχει το νέο εκτελέσιμο πρόγραμμα και πιθανώς μία ή περισσότερες συμβολοσειρές κειμένου που θα μεταβιβάζονται ως ορίσματα στα νέα προγράμματα κύριας συνάρτησης. Η εκτέλεση της κλήσης συστήματος exec προκαλεί τη φόρτωση ενός νέου εκτελέσιμου προγράμματος στον χώρο διευθύνσεων της αναπαραγωγικής διαδικασίας και την εκτέλεση από τη διεύθυνση που αντιστοιχεί στην είσοδο στην κύρια συνάρτηση. Με άλλα λόγια, αυτό προκαλεί την αντικατάσταση του τρέχοντος τμήματος προγράμματος και του τρέχοντος τμήματος δεδομένων που κληρονομήθηκαν όταν πραγματοποιήθηκε η κλήση διακλάδωσης με τα νέα αντίστοιχα τμήματα που καθορίζονται στο αρχείο. Τα προηγούμενα τμήματα χάνονται. Αυτή είναι μια αποτελεσματική μέθοδος αλλαγής του προγράμματος που εκτελεί μια διεργασία, αλλά όχι της ίδιας της διαδικασίας. Τα αρχεία που είναι ήδη ανοιχτά πριν από την εκτέλεση του exec primitive παραμένουν ανοιχτά μετά την εκτέλεσή του.

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

if (fork ()==(0) wait(0); /* γονική διαδικασία */

else excl("ls", "Is", 0); /* διαδικασία αναπαραγωγής */

Έτσι, από πρακτική άποψη, μια διεργασία στο UNIX είναι ένα αντικείμενο που δημιουργήθηκε ως αποτέλεσμα της εκτέλεσης της συνάρτησης fork(). Κάθε διεργασία, με εξαίρεση την αρχική (null) διεργασία, δημιουργείται ως αποτέλεσμα μιας άλλης διεργασίας που ξεκινά τη λειτουργία fork(). Κάθε διαδικασία έχει έναν γονέα, αλλά μπορεί να δημιουργήσει πολλές διεργασίες. Η αρχική (μηδέν) διαδικασία είναι μια ειδική διαδικασία που δημιουργείται ως αποτέλεσμα της εκκίνησης του συστήματος. Μετά τη δημιουργία μιας νέας διεργασίας με ID 1, η διαδικασία μηδέν γίνεται διαδικασία ανταλλαγής και υλοποιεί τον μηχανισμό εικονικής μνήμης. Η διεργασία με ID 1, γνωστή ως init, είναι ο πρόγονος κάθε άλλης διεργασίας στο σύστημα και συνδέεται με κάθε διεργασία με έναν ειδικό τρόπο.



Συνιστούμε να διαβάσετε

Κορυφή