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

Ένα από αυτά που έχω παρατηρήσει, στα τόσα χρόνια, αφορά τις διάφορες δημοσιεύσεις, σε κάθε είδους τεχνολογικό site, του στυλ:
Μάθε το bash σε Linux
Μαθήματα για να γίνεις expert στο Linux bash
και άλλους τέτοιους, παρεμφερείς, τίτλους.
Και τι διαβάζουμε ανοίγοντας τις δημοσιεύσεις αυτές; Στο 99,9% των περιπτώσεων, θα δούμε, αρχικά, ιστορικές αναδρομές για το Unix του 1970 καταλήγοντας να δείχνουν εντολές που δεν θα χρησιμοποιήσεις ποτέ στη ζωή σου. Ποτέ όμως.
Ας το απλοποιήσουμε.
Το bash (Bourne Again SHell) ας το δούμε ως έναν απλό διερμηνέα.
Πολύ απλά, ότι εσύ γράφεις μια εντολή, το bash την καταλαβαίνει, την εκτελεί στο λειτουργικό σύστημα και σου επιστρέφει το αποτέλεσμα. Τέλος.
(οκ, αν θέλαμε να ακριβολογήσουμε το bash την αναλύει και είτε την εκτελεί είτε καλεί το κατάλληλο πρόγραμμα για να την εκτελέσει.)
Χωρίς άσχετες θεωρίες, ορίστε η απόλυτη βάση για να καταλάβεις τι γίνεται, εξηγημένη με όρους που θα καταλάβαινε ακόμα και ο Μήτσος ο Σβέλτος.
1. Το τερματικό δεν είναι του σατανά:
Το μαύρο παράθυρο, του terminal, δεν είναι κάτι τρομακτικό, δεν είναι όργανο του Κθούλου. Ας το σκεφτούμε απλώς σαν ένα ψηφιακό ταμείο. Αντί να κλικάρεις τρία υπομενού για να βρεις έναν φάκελο, του λες ευθέως: «πήγαινε εκεί». Και πάει. Σε κλάσμα δευτερολέπτου.
2. Ο χρυσός κανόνας: Πού βρίσκομαι; Τι έχω μπροστά μου;:
Όλα έχουν μια λογική και μια σειρά. Άρα, ξεκινάμε από το βασικό. Πριν από οτιδήποτε, πρέπει να ξέρεις σε ποιο δωμάτιο του σπιτιού βρίσκεσαι:
pwd (Print Working Directory): "Πού είμαι ακριβώς;" Σου δείχνει τον φάκελο που βρίσκεσαι τώρα. Σαν να λες «αυτή τη στιγμή είμαι στο σαλόνι».
ls (LiSt): "Τι έχει εδώ μέσα;" Σου δείχνει τα αρχεία και τους φακέλους που υπάρχουν μπροστά σου (σαν να ανοίγεις τα συρτάρια).
Tip: Αν θες να τα βλέπεις όλα (ακόμα και τα κρυφά που δεν θέλουν να πειράζεις), γράφεις: ls -a
3. Μετακίνηση και δράση (το αλφάβητο):
Δεν χρειάζεσαι 500 εντολές. Αρκούν μόνο αυτές τις τρεις για να κινηθείς:
cd [όνομα_φακέλου] (Change Directory): Μπαίνεις μέσα σε έναν φάκελο. (πχ: cd Documents). Αν θες να βγεις στον αμέσως προηγούμενο (να ανέβεις ένα επίπεδο δηλαδή), πατάς cd ..
mkdir [όνομα] (Make Directory): Φτιάχνεις έναν καινούργιο φάκελο. Τόσο απλά.
cp και mv: Με το cp αντιγράφεις ένα αρχείο ή φάκελο σε άλλη θέση, ενώ με το mv μετακινείς ή μετονομάζεις ένα αρχείο ή φάκελο.
4. Τι είναι τα scripts; (αυτοματοποίηση):
Όταν βαρεθείς να γράφεις τα ίδια και τα ίδια κάθε μέρα, μπορείς να κάνεις πολύ πιο απλό, πιο χρηστικό, πιο γρήγορο:
Παίρνεις αυτές τις εντολές, τις βάζεις όλες μαζί σε ένα απλό αρχείο κειμένου, του δίνεις δικαίωμα εκτέλεσης με ένα chmod +x script.sh και, εφόσον έχει το σωστό shebang, το τρέχεις ως πρόγραμμα με ./script.sh. Αυτό είναι ένα bash script.
Αντί να κάνεις 10 κλικ για να πάρεις αντίγραφα ασφαλείας στα αρχεία σου, φτιάχνεις ένα scriptάκι που το κάνει μόνο του σε ένα δευτερόλεπτο.
Ακόμα, μέσα στον Προσωπικό σου φάκελο (/home), υπάρχει ένα κρυφό αρχείο που ονομάζεται .bash_history. Μέσα σε αυτό αποθηκεύεται, ανάλογα και με τις ρυθμίσεις του bash, μεγάλο μέρος του ιστορικού των εντολών που έχεις δώσει.
Εν κατακλείδι:
Το Linux bash δεν θέλει απομνημόνευση. Θέλει απλά, να καταλάβεις τη ροή:
Δίνω εντολή -> Το σύστημα εκτελεί -> Παίρνω αποτέλεσμα
Τα υπόλοιπα είναι απλώς λεπτομέρειες που τις ψάχνεις αν και όταν τις χρειαστείς.