Βασικές εντολές bash για αρχάριους στα Linux


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

Το όνομα bash προέκυψε από την έκφραση Bourne-again shell. Πρόκειται για ένα λογοπαίγνιο βασισμένο στο όνομα του Bourne (sh), ενός παλιού αλλά σημαντικού shell του Unix που είχε γραφτεί από τον Stephen Bourne γύρω στο 1978, και στην κλασική έννοια της αναγέννησης (born again). Το Bash δημιουργήθηκε το 1987 από τον Brian Fox.

Στις linux εκδόσεις του σήμερα, ο χρήστης έχει πλέον ένα γραφικό περιβάλλον με παράθυρα και με εντολές που δίδονται με ένα κλικ σε κάποιο εικονίδιο. Κάτι σαν το περιβάλλον των Windows. Όμως υπάρχουν στιγμές που απαιτείται να ανοίξει το πρόγραμμα terminal και να αρχίσει να δίνει εντολές μέσω πληκτρολόγησης. Να γράφει δηλαδή, κάθε τι που θέλει να κάνει ο υπολογιστή του. Ο αληθινός χρήστης των linux θα πρέπει να γνωρίζει πως να χειριστεί το terminal και τις εντολές του bash.

Πάμε να δούμε τις βασικότερες εντολές του bash των linux.

ΕΝΤΟΛΕΣ ΚΑΤΕΥΘΥΝΣΗΣ

CD
Προέρχεται από το Change Directory και χρησιμοποιείται για να πάτε σε ένα συγκεκριμένο σημείο του δίσκου. Συντάσσεστε πληκτρολογώντας πρώτα cd και μετά τη διαδρομή προς έναν κατάλογο. Η διαδρομή αυτή θα πρέπει να είναι πλήρης, να δείχνει δηλαδή όλους τους φακέλους που θα πρέπει να περάσετε μέχρι να φτάσετε στην επιθυμητή θέση. Οι φάκελοι διαχωρίζονται από δεξιά κάθετη παύλα (/). Για ονόματα φακέλων που περιέχουν κενά διαστήματα, μπορείτε είτε να βάλετε ολόκληρη τη διαδρομή σε εισαγωγικά είτε να προσθέσετε μια αριστερή κάθετη παύλα (\) πριν από το διάστημα.

Π.χ.
cd διαδρομή/που/θέλετε/να/πάτε

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

Η εντολή cd στο bash χρησιμοποιεί κάποιες συντομογραφίες για γρήγορη πλοήγηση σε καταλόγους. Για παράδειγμα, η δεξιά κάθετη παύλα (/) υποδεικνύει τον κατάλογο “root”, που είναι η μονάδα εκκίνησης του συστήματός σας. Το σύμβολο tilde (~) υποδεικνύει τον home κατάλογο του τρέχοντος χρήστη. Μια τελεία (.) υποδεικνύει τον τρέχοντα φάκελο και δύο τελείες (..) υποδεικνύουν το γονικό φάκελο του τρέχοντος καταλόγου εργασίας. Ο γονικός φάκελος είναι ένας φάκελος πριν από αυτόν που είσαστε κάθε στιγμή.

Η αριστερή κάθετη παύλα (\) είναι ιδιαίτερα ξεχωριστή. Ονομάζεται “χαρακτήρας διαφυγής” (escape character) και δείχνει ότι ό,τι υπάρχει μετά από αυτή θα πρέπει να χειρίζεται ειδικά. Σε αυτήν την περίπτωση, υποδεικνύει ότι το κενό είναι μέρος της διαδρομής του αρχείου και όχι ένα κενό ανάμεσα σε δύο διαφορετικές εντολές.

LS
Χρησιμοποιήστε την εντολή ls στο bash για να δείτε τα περιεχόμενα ενός καταλόγου. Το όνομα βγαίνει από το list (λίστα). Η εντολή δείχνει όλα τα αρχεία και τους καταλόγους στον τρέχοντα κατάλογο. Οι πιο χρήσιμες λειτουργίες του είναι προσπελάσιμες μέσω “σημαιών” , οι οποίες είναι σύντομες πρόσθετες εντολές που επισυνάπτονται μαζί με την κύρια εντολή, για να αλλάξετε τα αποτελέσματα ή να επεκτείνετε την λειτουργικότητα. Οι σημαίες συντάσσονται με μία ή δύο παύλες (-) στην αρχή ακολουθούμενες συνήθως από ένα γράμμα.

Π.χ. ls

Υπάρχει μια σειρά από πραγματικά χρήσιμες σημαίες για την ls. Αυτές που συνήθως θα χρειαστείτε είναι οι:

-a εμφανίζει κρυφά αρχεία και dotfiles (τους φακέλους που συμβολίζονται σε τελεία)
-h εμφανίζει τα μεγέθη των αρχείων με μονάδες αναγνώσιμες από τον άνθρωπο
-S ταξινομεί ανάλογα με το μέγεθος του αρχείου, το μεγαλύτερο πρώτα (προσέξτε το S να είναι κεφαλαίο)
-t ταξινομεί ανάλογα με τον χρόνο τροποποίησης, το νεότερο πρώτα

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

PWD
Η εντολή pwd δείχνει την πλήρη διαδρομή του φακέλου που είστε κάθε στιγμή. Το όνομα είναι αρκτικόλεξο του Present Working Directory.

π.χ. pwd

Όποια εντολή και να δώσετε θα εκτελεστεί αυτόματα μέσα στον παρόντα κατάλογο που βρίσκεστε κάθε στιγμή. Για παράδειγμα, η εντολή mkdir (make directory = φτιάξε ένα φάκελο) θα δημιουργήσει έναν νέο φάκελο στον τρέχοντα κατάλογο εργασίας σας. Για να κάνετε την εντολή να τρέξει κάπου αλλού, πρέπει να χρησιμοποιήσετε μια πλήρη διαδρομή, η οποία ξεκινά με / για να υποδείξει τον ριζικό κατάλογο του συστήματος.

MAN
Εμφανίζει τη σελίδα βοήθειας (manual page) για μία καθορισμένη εντολή. Για παράδειγμα, το man chmod θα εμφανίσει στο παράθυρο του τερματικού σας την σελίδα man για την εντολή “chmod”. Αυτές οι σελίδες εμφανίζουν πληροφορίες χρήσης, ορισμοί των σημαιών και παραδείγματα. Αν θέλετε να μάθετε περισσότερα σχετικά με το τι κάνει μια εντολή ή ποιες επιλογές είναι διαθέσιμες, ξεκινήστε πάντα διαβάζοντας τη σελίδα man της εντολής.

Μία αρκετά περιεκτική έκδοση της βοήθειας, για κάθε εντολή, μπορείτε να πάρετε αν πληκτρολογήσετε την εντολή ακολουθούμενη με δύο παύλες και την λέξη help. Παράδειγμα chmod –help.

CAT
Η εντολή cat στο bash είναι ένας γενικός αναγνώστης για κάθε τύπο αρχείου. Εκτελέστε την σε ένα αρχείο κειμένου για να εμφανίσετε τα περιεχόμενα του αρχείου. Η cat θα σας εμφανίσει τα περιεχόμενα σχεδόν οποιουδήποτε αρχείου, αλλά το αποτέλεσμά της μπορεί να μην είναι πάντοτε εύχρηστα αναγνώσιμο από τον άνθρωπο ή να μην έχει νόημα για εσάς. Ως εκ τούτου, χρησιμοποιείται ελάχιστα από τους Unix επαγγελματίες, αλλά οι αρχάριοι θα το βρουν χρήσιμο, καθώς θα σκοντάφτουν γύρω από άγνωστα αρχεία.

 

ΕΡΓΑΣΙΑ ΜΕ ΑΡΧΕΙΑ ΚΑΙ ΚΑΤΑΛΟΓΟΥΣ

CP
Δημιουργεί ένα αντίγραφο ενός αρχείου σε μία άλλη θέση και με διαφορετικό όνομα. Δηλαδή αντιγραφεί το αρχείο “όνομα.doc” στο “διαδρομή/για/την/νέα/θέση/νέο-όνομα.doc”. Μπορείτε να το θεωρήσετε ως αντιγραφή και επικόλληση (Copy – Paste). Εάν το νέο όνομα του αρχείου υπάρχει ήδη, η λειτουργία αντιγραφής δεν θα ολοκληρωθεί.

π.χ. cp foo.doc /root/home/newfoo.doc

MV
H εντολή mv (move) μετακινεί ένα αρχείο σε μία νέα θέση και με άλλο όνομα. Μπορείτε να σκεφτείτε αυτήν την εντολή ως περικοπή και επικόλληση. Χρησιμοποιούμε την mv και για μετονομασία αρχείων, αφού μπορούμε να τα “μεταφέρουμε” στο ίδιο σημείο με ένα νέο όνομα. Σημειώστε ότι η εντολή mv διαγράφει την αρχική έκδοση του αρχείου αφού ολοκληρωθεί η διαδικασία εγγραφής.

π.χ. mv foo.txt /root/home/bar.txt (σβήσε το foo.txt και αντέγραψε το στο φάκελο /root/home με νέο όνομα bar.txt)

RM
Καταργεί τα περιεχόμενα του καταλόγου και όλα τα αρχεία που περιέχονται μέσα σε αυτό. Το όνομα rm προέρχεται από το remove. Η σημαία -r κάνει την εντολή rm να διαγράφει φακέλους και συνήθως συνοδεύεται μαζί με την σημαία -f η οποία εκτελεί την εντολή παρακάμπτοντας κάθε διάλογο επιβεβαίωσης. Η πιο ισχυρή έκδοση αυτής της εντολής είναι η sudo rm -rf και θα πρέπει να χρησιμοποιείται με εξαιρετική προσοχή. Μπορεί να διαγράψει τη μονάδα εκκίνησης χωρίς καμία προειδοποίηση.

π.χ. rm -rf /root/home/dimitris/ (διαγράφει το φάκελο dimitris καθώς και τους υποφακέλους που βρίσκονται στο /root/home/dimitris)

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

π.χ. touch iguru.txt

MKDIR
Δημιουργεί έναν κατάλογο με το καθορισμένο όνομα στη θέση που βρίσκεστε (MaKeDIRectory). Για να δημιουργήσετε ένα κατάλογο σε μία άλλη θέση, μαζί με όλους τους γονικούς κατάλογους που επιθυμείτε, χρησιμοποιήστε τη σημαία -p. Αυτό θα δημιουργήσει όλους τους απαραίτητους γονικούς καταλόγους για την εκπλήρωση της εντολής σας, επιτρέποντάς σας να δημιουργήσετε μια ιεραρχία καταλόγων πολλών επιπέδων σε μια γραμμή.

π.χ. mkdir directory

RMDIR
Καταργεί τον κατάλογο στην καθορισμένη διαδρομή (ReMoveDIRectory).

π.χ. rmdir directory

ΤΡΟΠΟΠΟΙΗΤΕΣ ΕΝΤΟΛΩΝ
Οι τροποποιητές προσαρμόζουν τις υπάρχουσες εντολές για να τις αναγκάσουν να κάνουν περισσότερα πράγματα ή να κάνουν πράγματα διαφορετικά από ότι κανονικά.

SUDO
Η sudo εντολή σημαίνει “super user do”, και δεν κάνει τίποτα από μόνο του. Αντ’αυτού, δίνει την επόμενη εντολή δικαιώματα διαχειριστή. Όταν πληκτρολογείτε sudo πριν από μια εντολή, ανυψώνετε προσωρινά τον εαυτό σας για να έχετε την άδεια του root χρήστη, δίνοντάς σας τη δύναμη να κάνετε πράγματα που κανονικά δεν θα κάνετε.

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

Αν χρησιμοποιήσετε την εντολή sudo, θα πρέπει να εισαγάγετε και τον κωδικό πρόσβασης του διαχειριστή.

π.χ. sudo !!

Η παραπάνω εντολή ζητάει να επαναεκτελεστεί η τελευταία εντολή, αλλά αυτή τη φορά με δικαιώματα root διαχειριστή. Η εντολή “bang bang” (!!) είναι η συντόμευση για να επαναλάβετε την προηγούμενη εντολή.

>
Ονομάζεται “ανακατεύθυνση” (redirect). Το δεξί βελάκι στέλνει την έξοδο μίας εντολής σε ένα αρχείο. η έξοδος αυτή θα πρέπει να είναι ένα απλό κείμενο. Για παράδειγμα, το ls > filelist.txt θα στείλει την έξοδο από την εντολή ls στο αρχείο “filelist.txt”. Εάν το αρχείο αυτό δεν υπάρχει, θα δημιουργηθεί.

|
Ονομάζεται “pipe” (σωλήνας). Αυτό το σύμβολο είναι σαν ανακατεύθυνση αλλά μόνο για εντολές. Αποστέλλει την έξοδο μίας εντολής στην είσοδο μίας άλλης.

 

ΤΡΟΠΟΠΟΙΗΣΗ ΑΔΕΙΩΝ
Οι άδειες επηρεάζουν στο ποιοι χρήστες μπορούν να προβάλλουν, να επεξεργάζονται και να εκτελούν συγκεκριμένα αρχεία. Τα αρχεία και οι φάκελοι έχουν έναν κάτοχο, ο οποίος είναι συνήθως ο χρήστης που το δημιούργησε, και modes, τα οποία ελέγχουν τους χρήστες που έχουν πρόσβαση στο αρχείο καθώς και τι μπορούν να κάνουν με αυτό.

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

CHMOD
Η εντολή chmod στο bash σημαίνει “change modes” και ρυθμίζει τα δικαιώματα στα αρχεία και στους φακέλους. Όπως και η chown (δικαιώματα για συγκεκριμένο χρήστη), μπορεί να εκτελείται σε ένα μόνο αρχείο ή αν βάλετε την -R σημαία να εκτελείται σε όλα τα περιεχόμενα ενός καταλόγου.

π.χ. sudo chmod 775 file

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

π.χ. sudo chown -R mitsos foo/bar

Αλλάξτε τον κάτοχο κάθε αρχείου στον δεδομένο κατάλογο, και ορίστε ως κάτοχο τον χρήστη “mitsos”. Μπορείτε να εκτελέστε αυτήν την εντολή για τον τρέχοντα κατάλογο εργασίας χρησιμοποιώντας την τελεία (.) Στη θέση του foo/bar.

Συμπερασματικά
Για να μάθετε γρήγορα αυτές τις εντολές, χρησιμοποιήστε το bash από το terminal των linux, ακόμα και όταν δεν το χρειάζεστε. Αντί να χρησιμοποιήσετε το drag-and-drop για να μετακινήσετε έναν κατάλογο, δοκιμάστε να χρησιμοποιήσετε την mv εντολή. Όσο περισσότερο χρησιμοποιείτε πραγματικά αυτές τις εντολές, τόσο πιο γρήγορα οι δεξιότητές σας θα βελτιωθούν.


Διαβάστε τις Τεχνολογικές Ειδήσεις από όλο τον κόσμο, με την εγκυρότητα του iGuRu.gr

Ακολουθήσετε μας στο Google News iGuRu.gr at Google news