Σημειώσεις

.

Επόμενο

Λειτουργικό σύστημα linux

Υπολογιστής

Ένας υπολογιστής κάνει μόνο δύο πράγματα:

Hardware.

Είναι οι συσκευές με τις οποίες γίνεται η αποθήκευση και επεξεργασία των πληροφοριών.

Γραμμή εντολών

Η επικοινωνία του χρήστη με τον υπολογιστή γίνεται με τη βοήθεια του λειτουργικού συστήματος. Θα δούμε μία σειρά εντολών του λειτουργικού συστήματος linux. Σε αυτές τις εντολές (πρόκειται για λέξεις) ο υπολογιστής ανταποκρίνεται δίνοντάς μας ένα αποτέλεσμα. Ανοίξτε ένα terminal και στη γραμμή που φαίνεται (γραμμή εντολών) μπορείτε να γράψετε κάθε μία από τις παρακάτω εντολές.

Εισάγοντας κάθε εντολή (και πατώντας το πλήκτρο enter/return) βλέπετε, στις επόμενες γραμμές, το αποτέλεσμα που παράγει.

Παρατήρηση.

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

Αρχεία

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

Παράδειγμα.

Ένα όνομα αρχείου θα μπορούσε να είναι το filoi.txt. Σκεφτήκαμε να το ονομάσουμε έτσι διότι μάλλον περιέχει τα ονόματα των φίλων μας (filoi) και είναι ένα αρχείο κειμένου (txt). Η τελεία είναι ένας χαρακτήρας που χωρίζει με βολικό τρόπο τα δύο κομμάτια του ονόματος.

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

Μπορούμε να δούμε το περιεχόμενο κάθε αρχείου. Αν υποθέσουμε ότι το όνομα ενός αρχείου είναι filename τότε έχουμε τις εξής δυνατότητες.

Η παρακάτω εντολή δίνει τον αριθμό των γραμμών, λέξεων και χαρακτήρων που περιέχει ένα αρχείο.

Βασικές εντολές διαχείρισης αρχείων είναι οι ακόλουθες.

Άσκηση κατανόησης.

Εξηγήστε τι ακριβώς κάνει η εντολή mv. Μεταφέρει (move) ένα αρχείο, το μετονομάζει, ίσως και τα δύο, ή κάτι άλλο;

Κατάλογοι

Ένας υπολογιστής μπορεί να περιέχει ένα πολύ μεγάλο αριθμό αρχείων. Αυτά μπορούν να οργανωθούν έτσι ώστε μία σειρά αρχείων να βρίσκεται σε έναν κατάλογο (directory) και αυτά να διαχωρίζονται έτσι από τα υπόλοιπα αρχεία στον υπολογιστή. Κάθε κατάλογος έχει ένα όνομα. Για παράδειγμα, το όνομα ενός καταλόγου μπορεί να είναι pempti ή home. Υπάρχουν εντολές για να βλέπουμε σε ποιον κατάλογο δουλεύουμε και για να μετακινούμαστε από τον έναν κατάλογο στον άλλον.

Παρατήρηση: ο κατάλογος με όνομα dirname αναφέρεται επίσης και ως dirname/ (δηλαδή, η κάθετος στο τέλος υποδηλώνει όνομα καταλόγου).

Άσκηση.

(α) Δείτε σε ποιόν κατάλογο δουλεύετε και ποιά αρχεία περιέχονται σε αυτόν. (β) Δημιουργήστε αντίγραφο για ένα από τα υπάρχοντα αρχεία.

Βασικές εντολές διαχείρισης καταλόγων είναι οι εξής.

Άσκηση.

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

Παρατήρηση.

Εάν το όνομα ενός καταλόγου είναι pempti τότε και το pempti/ παριστάνει τον ίδιο κατάλογο. Εάν έχουμε ένα αρχείο με όνομα filoi.txt και βρίσκεται μέσα στον κατάλογο pempti τότε αυτό το αρχείο αναφέρεται και ως pempti/filoi.txt.

Άσκηση.

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

Άσκηση.

Βρείτε ποιο είναι το μεγαλύτερο σε μέγεθος αρχείο στον κατάλογο που δουλεύετε. (Δοκιμάστε την εντολή ls -l αλλά και την wc.)

Διάρθρωση καταλόγων

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

Άσκηση.

: Σχεδόν κάθε εντολή δέχεται διάφορες επιλογές (options). Δείτε, για παράδειγμα, το περιεχόμενο ενός καταλόγου με τις εντολές ls, ls -l, ls -la, ls -lR, ls -F και παρατηρήστε τις διαφορές μεταξύ τους.

Άσκηση.

Υπάρχουν εντολές οι οποίες έχουν παρόμοιες λειτουργίες. Δείτε, για παράδειγμα, το περιεχόμενο ενός αρχείου με τις εντολές cat, less, more και παρατηρήστε τις διαφορές μεταξύ τους.

Άσκηση κατανόησης.

Φτιάξτε μία μαντινάδα χρησιμοποιώντας τις παραπάνω εντολές.

Ειδικότερα θέματα

Ειδικοί χαρακτήρες.

Οι εντολές του λειτουργικού συστήματος μπορούν να χρησιμοποιηθούν με πολλούς τρόπους.

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

Άσκηση κατανόησης.

Ποια είναι πιθανά ονόματα που θα τυπώσει η ακόλουθη εντολή

Άσκηση.

: Δείτε ποιά είναι η λειτουργία του ειδικού χαρακτήρα ? για τα ονόματα των αρχείων. Ποια είναι πιθανά ονόματα που θα τυπώσει η ακόλουθη εντολή

Ανακατεύθυνση (redirection).

Κάθε εντολή μας δίνει ένα αποτέλεσμα στην οθόνη. Μπορούμε να κατευθύνουμε αυτό το αποτέλεσμα ώστε να αποτελέσει το περιεχόμενο ενός αρχείου.

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

Pipes.

Ας δούμε την εντολή grep η οποία μπορεί να ερευνήσει αρχεία.

Βρίσκει τις γραμμές στις οποίες εμφανίζεται η λέξη word μέσα στο αρχείο με όνομα filename. Παρατηρούμε ότι η εντολή grep χρειάζεται κάτι ως είσοδο (ένα αρχείο) ώστε να μπορέσει να μας δώσει ένα αποτέλεσμα.

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

Η πρώτη εντολή (ls -l) παράγει ένα αποτέλεσμα (λίστα ονομάτων αρχείων). Αυτή περνάει από το σύμβολο | το οποίο ονομάζεται pipe και εισέρχεται (αποτελεί την είσοδο δεδομένων) στην επόμενη εντολή (grep). Η παραπάνω γραμμή εντολών τελικά θα μας δώσει ως αποτέλεσμα γραμμές όπου περιέχεται η λέξη word.

Για να πάρετε πλήρεις πληροφορίες για οποιαδήποτε εντολή linux

Επεξεργαστής κειμένου

Γράφουμε κείμενα με έναν επεξεργαστή κειμένου, π.χ., τον gedit ή τον geany.

Προτιμάμε να τρέχουμε τον editor στο background.

Αν θέλετε να δημιουργήσετε ένα αρχείο με όνομα, π.χ., filoi.txt μπορείτε να γράψετε σε ένα terminal την εντολή

Ένα νέο παράθυρο θα ανοίξει στο οποίο μπορείτε να γράψετε το κείμενό σας. Παράλληλα, το terminal θα παραμείνει ανοιχτό σε μία κατάσταση αναμονής, στην οποία δεν μπορείτε να το χρησιμοποιήσετε μέχρι το gedit να τερματιστεί.

Άσκηση.

Δημιουργήστε ένα αρχείο με όνομα first.txt στο οποίο γράψτε τις εντολές που έχετε μάθει, μία σε κάθε γραμμή.

Άσκηση.

(α) Δημιουργήστε έναν κατάλογο (directory) για χρήση στο σημερινό μάθημα. (β) Μεταφέρετε εκεί όσα αρχεία δημιουργήσαμε στο σημερινό μάθημα. (γ) Μέσα σε αυτόν τον κατάλογο δημιουργείστε ένα αρχείο στο οποίο γράψτε τις ασκήσεις αυτής της σελίδας τις οποίες κάναμε σήμερα. (δ) Δείτε στην οθόνη σας το περιεχόμενο αυτού του αρχείου με την εντολή more.

Προτιμάμε να τρέχουμε τον editor στο background.

Αν θέλετε να δημιουργήσετε ένα αρχείο με όνομα, π.χ., filoi.txt μπορείτε να γράψετε σε ένα terminal την εντολή

Ένα νέο παράθυρο θα ανοίξει στο οποίο μπορείτε να γράψετε το κείμενό σας. Παράλληλα, το terminal θα παραμείνει ανοιχτό και μπορείτε να το χρησιμοποιήσετε για να δώσετε οποιαδήποτε άλλη εντολή. Το gedit είναι μία διαδικασία η οποία τρέχει πλέον ανεξάρτητα από την κατάσταση του αρχικού terminal. Λέμε ότι τρέχει στο background και αυτό το πετύχαμε βάζοντας το σύμβολο & στο τέλος της γραμμής εντολών.

Ένα τραγούδι για τη δημιουργία του Linux

Μελέτη

Βιβλιογραφία

  1. Σημειώσεις linux, Μ. Πλεξουσάκης.
  2. Γραμμή εντολών linux.
  3. Learning the Shell (τα πρώτα 7 κεφάλαια).
  4. Conquering the Command Line (Chapter 1).
  5. Linux για αρχάριους/Βασικές γνώσεις τερματικού (το πρώτο κεφάλαιο).
  6. Unix Tutorial for Beginners.

Εργαλεία

  1. Δοκιμάστε να δώσετε εντολές linux, codeacademy (χωρίς να έχετε linux!)
  2. Πώς να συνδέεστε από Windows στα συστήματα Linux του Πανεπιστημίου.