Τρόπος χρήσης της εντολής man στο linux

Όλα όσα πρέπει να γνωρίζετε για το Linux βρίσκονται στα man pages. Για παράδειγμα, μπορείτε να αναζητήσετε μια εντολή για να ολοκληρώσετε μια εργασία, ακόμα κι αν δεν γνωρίζετε πως ονομάζεται. Αλλά πώς μπορείτε να βρείτε τα man pages; Σε αυτό το άρθρο θα σας δείξω μερικά κόλπα.

Το ενσωματωμένο manual Linux

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

Οι αριθμοί είναι ένα άλλο ζήτημα, τι είναι και τι σημαίνουν; Θα δείτε πράγματα όπως man(2) ή man(5), Θα δείτε αναφορές σε εντολές που ακολουθούνται από αριθμούς, όπως το mount (2) και το mount (8). Σίγουρα δεν μπορούν να υπάρχουν περισσότερες από μία εντολές mount, σωστά; Όπως θα δούμε, οι αριθμοί είναι σημαντικοί και η ένοια τους σχετικά απλή.

Μιλώντας για απλότητα, η αναζήτηση μέσα στα man pages είναι πολύ εύκολη μόλις μάθετε πώς να τη κάνετε. Στην πραγματικότητα, υπάρχουν μερικοί τρόποι με τους οποίους μπορείτε εύκολα να κάνετε αναζήτηση και πλοήγηση μέσα στα man pages. Ας ρίξουμε μια ματιά!

Πώς να ανοίξετε το manual

Για να χρησιμοποιήσετε το man, πληκτρολογείτε man στη γραμμή εντολών, ακολουθούμενο από ένα κενό και μια εντολή Linux. Το man ανοίγει το εγχειρίδιο Linux στη «σελίδα man» που περιγράφει αυτήν την εντολή - αν μπορεί να τη βρει, φυσικά.

man man

Ανοίγει η σελίδα man για το man.

Όπως μπορείτε να δείτε, αυτή είναι η σελίδα man(1)

Ακολουθήστε αυτές τις συμβουλές για να πλοηγηθείτε στη σελίδα:

Για να μετακινηθείτε στη σελίδα του man μία γραμμή τη φορά: Χρησιμοποιήστε τον τροχό κύλισης στο ποντίκι σας ή το πλήκτρο πάνω και κάτω βέλος και Enter.

Για να μετακινηθείτε στη σελίδα του man μία οθόνη τη φορά: Πατήστε το πλήκτρο space και τα πλήκτρα PgDn και PgUp.

Για να μετακινηθείτε απευθείας στην κορυφή ή στο κάτω μέρος της σελίδας man: Πατήστε τα πλήκτρα Home και End.

Για έξοδο από το man, απλώς πατήστε Q.

## Η ανατομία μιας σέλιδας man

Στο επάνω μέρος της σελίδας, βλέπετε τις επικεφαλίδες “Name” και “Synopsis”. Υπάρχουν σελίδες για εντολές, προγράμματα και λειτουργίες προγραμματισμού. Δεν θα δείτε όλες αυτές τις επικεφαλίδες σε κάθε σελίδα man, επειδή ορισμένες από αυτές ισχύουν μόνο για συγκεκριμένους τύπους εντολών.

Τα παρακάτω είναι μερικές από τις επικεφαλίδες που μπορεί να δείτε:

Name: Το όνομα της εντολής που περιγράφει η σελίδα man. Synopsis: Περίληψη της εντολής και της σύνταξής της. Configuration: Λεπτομέρειες ρύθμισης. Description: Μια εξήγηση για το τι κάνει το πρόγραμμα. Options: Μια περιγραφή των επιλογών που δέχεται η εντολή. Exit Status: Πιθανές τιμές κατάστασης εξόδου για μία εντολή και τι μπορεί να προκαλέσει τη χρήση τους. Errors: Μια λίστα με τις τιμές που ενδέχεται να τοποθετηθούν στο errno σε περίπτωση σφάλματος. Environment: Μια λίστα με τις μεταβλητές περιβάλλοντος που επηρεάζουν μία εντολή ή ένα πρόγραμμα και με ποιο τρόπο. Files: Μια λίστα με τα αρχεία που χρησιμοποιεί μία εντολή ή ένα πρόγραμμα. Attributes: Περίληψη διαφόρων χαρακτηριστικών μίας εντολής. Versions: Λεπτομέρειες σχετικά με τις εκδόσεις πυρήνα. Notes: Διάφορες σημειώσεις. Bugs: Γνωστά προβλήματα. Examples: Ένα ή περισσότερα παραδείγματα που επιδεικνύουν τη χρήση μίας εντολής. Authors: Οι άνθρωποι που έγραψαν μία εντολή. See also: Συνιστώμενη ανάγνωση που σχετίζεται με μία εντολή.

Οι ενότητες του man

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

Οι ενότητες είναι:

General commands: Εντολές που χρησιμοποιείτε στη γραμμή εντολών. System calls: Λειτουργείες που παρέχει ο πυρήνας (Kernel) και που μπορεί ενα πρόγραμμα να καλέσει. Library functions: Λειτουργείες που τα προγράμματα μπορούν να καλέσουν. Special files: Συνήθως συσκευές(devices), όπως αυτές που βρίσκονται στο /dev, και τα Drivers τους. File formats and conventions: Formats για αρχεία, όπως τα αρχεία passwd, cron table και tar αρχεία. Games: Περιγραφές εντολών, όπως η fortune. Miscellaneous: Διάφορες περιγραφές όπως για τα inodes, παραμέτρους εκκίνησης και του ίδιου του man. System administration: Εντολές και daemons που συνήθως προορίζονται για εργασία ως root. Kernel Routines: Πληροφορίες που σχετίζονται με την εσωτερική λειτουργία του πυρήνα. Περιλαμβάνει διεπαφές λειτουργίας και μεταβλητές χρήσιμες για προγραμματιστές που γράφουν προγράμματα οδήγησης συσκευών. Στα περισσότερα συστήματα, αυτή η ενότητα δεν είναι εγκατεστημένη.

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

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

Για παράδειγμα, πληκτρολογούμε το παρακάτω για να ανοίξουμε την καταχώριση για το man στην ενότητα επτά:

man 7 man

Το εγχειρίδιο ανοίγει στην καταχώρηση man στην ενότητα επτά.

Πώς να βρείτε καταχωρήσεις στις ενότητες

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

Μπορείτε εύκολα να μάθετε ποιες ενότητες του εγχειριδίου περιέχουν καταχωρήσεις για μια εντολή. Κάθε σελίδα έχει έναν τίτλο και μια σύντομη περιγραφή. Η επιλογή -f (whatis) αναζητά τους τίτλους της σελίδας και επιστρέφει μια λίστα με αποτελέσματα.

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

man -f man

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

Για παράδειγμα, πληκτρολογούμε τα εξής:

man -f printf

Φαίνεται ότι βρέθηκαν δύο καταχωρίσεις για το printf: η πρώτη στην ενότητα ένα και μια άλλη στην ενότητα τρία. Ωστόσο, αυτές είναι διαφορετικές εντολές. Η σελίδα στην ενότητα 1 περιγράφει την εντολή printf , η οποία διαμορφώνει την έξοδο στο παράθυρο του τερματικού. Η σελίδα στην ενότητα 3 περιγράφει την οικογένεια printf των λειτουργιών βιβλιοθήκης στη γλώσσα προγραμματισμού C.

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

Πληκτρολογούμε τα εξής:

man -k printf

Πολλές από αυτές τις εντολές περιγράφονται στις ίδιες σελίδες man επειδή η βασική λειτουργικότητά τους είναι η ίδια. Η σελίδα man για το vprintf περιγράφει τη λειτουργικότητα για 10 από τις εντολές που αναφέρονται στην παραπάνω εικόνα.

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

Ας υποθέσουμε ότι θέλετε να αλλάξετε τον κωδικό πρόσβασης ενός λογαριασμού χρήστη. Μπορούμε να αναζητήσουμε οποιεσδήποτε εντολές που αναφέρουν τον όρο “user” στους τίτλους ή τις περιγραφές της σελίδας. Στη συνέχεια μπορούμε να το διοχετεύσουμε (pipe) μέσω grep για να αναζητήσουμε καταχωρήσεις που περιέχουν τον όρο “password”.

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

man -k 'user ' | grep password

Επειδή εσωκλείσαμε τη λέξη “user” σε μονά εισαγωγικά και συμπεριλάβαμε ένα κενό στο τέλος, θα βρει αντιστοιχίες μόνο για τον όρο “user” και όχι “users”. Μια γρήγορη ματιά στα αποτελέσματα αναζήτησης μας δείχνει ότι ο πιθανός υποψήφιος είναι το “passwd”.

Στη συνέχεια πληκτρολογούμε τα εξής:

man passwd

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

man -k word | grep count

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

man wc

Αναζήτηση σε μια σελίδα man

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

Για αυτό το παράδειγμα, πληκτρολογούμε τα ακόλουθα για να ανοίξουμε τη σελίδα man για την εντολή history

man history

Για αναζήτηση προς τα εμπρός, πατάμε forward slash (/) και στη συνέχεια πληκτρολογούμε τη λέξη “event”. Ο στόχος αναζήτησης εμφανίζεται στο κάτω μέρος του παραθύρου του τερματικού και πατάμε Enter για να ξεκινήσει η αναζήτηση.

Το παράθυρο εμφανίζει το πρώτο αποτέλεσμα τυχόν αντιστοιχιών που βρέθηκαν.

Πατήστε “n” για να μετακινηθείτε από αποτέλεσμα σε αποτέλεσμα προς το κάτω μέρος της σελίδας. Για να πραγματοποιήσετε αναζήτηση προς τα πίσω μέσω της αρχικής σελίδας, πατήστε “N”. Αυτό θα σας μεταφέρει στην κορυφή της σελίδας.

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

Για να αναζητήσετε το επόμενο αποτέλεσμα, πατήστε “n” για να μετακινηθείτε προς την αρχή της αρχικής σελίδας. Πατήστε “N” για μετάβαση στο προηγούμενο αποτέλεσμα και μετακίνηση προς το τέλος της σελίδας.

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

Εάν πληκτρολογήσουμε “-N” και πατήσουμε Enter, μπορούμε να δούμε τους αριθμούς γραμμής στη σελίδα man.

Πατάμε το ampersand (&), πληκτρολογούμε τον όρο αναζήτησης (number) και μετά πατάμε Enter. Εμφανίζονται μόνο οι γραμμές που περιέχουν τον όρο αναζήτησης.

Διαβάστε το υπέροχο manual

Υπάρχει πληθώρα πληροφοριών στα man pages. Θα βρείτε επίσης σίγουρα εντολές που δεν γνωρίζετε ότι υπήρχαν. Με τόσους πολλούς διαφορετικούς τρόπους αναζήτησης και παρακολούθησης πληροφοριών, είναι πολυ χρήσιμο να γνωρίζετε τα man pages.