2. Διαχείριση μονάδων εισόδου και εξόδου
Στο Unix η στάνταρ μονάδα εισόδου δεδομένων
είναι το πληκτρολόγιο, ενώ η οθόνη είναι η
στάνταρ μονάδα εξόδου.
Είναι όμως δυνατόν να αλλάξουμε τις
τυποποιημένες μονάδες εισόδου (redirection)
και εξόδου με άλλες όπως π.χ. με αρχεία.
3. Διαχείριση μονάδων εισόδου και εξόδου
Εντολή cat (concantenate=συνενώνω)
Σύνταξη
cat [options] [file] ...
Δημιουργία αρχείου
Για να δημιουργήσουμε ένα αρχείο κειμένου χρησιμοποιούμε την παρακάτω
εντολή :
$ cat>όνομα_αρχείου
Για.
Με λένε ...
Αυτό είναι το πρώτο μου αρχείο.
Ctrl+d (για έξοδο και αποθήκευση του αρχείου)
! Αν ξαναδώσουμε cat>όνομα_αρχείου τα προηγούμενα περιεχόμενα του
αρχείου θα διαγραφούν.
4. Διαχείριση μονάδων εισόδου και εξόδου
Εμφάνιση περιεχομένων αρχείων
Για να δούμε τα περιεχόμενα ενός αρχείου κειμένου χρησιμοποιούμε
την εντολή:
$ cat όνομα_αρχείου
Πρόσθεση στοιχείων σε ένα αρχείο
Για να προσθέσουμε στοιχεία σε ένα αρχείο χρησιμοποιούμε την
εντολή :
$ cat>>όνομα_αρχείου
Αυτή είναι η 4η γραμμή του αρχείου μου.
Ctrl+d (για έξοδο από το αρχείο)
Δημιουργία αρχείου 2 και αντιγραφή περιεχομένων αρχείου 1 σε
αυτό.
$ cat όνομα_αρχείου_1>όνομα_αρχείου_2
$ cat όνομα_αρχείου_1>>όνομα_αρχείου_2
Αν υπάρχει το αρχείο 2 θα προστεθούν τα περιεχόμενα του αρχείου
1 σε αυτό αλλιώς θα δουλέψει όπως η άνω περίπτωση.
5. Διαχείριση μονάδων εισόδου και εξόδου
Αλλαγή της τυποποιημένης εξόδου σε ένα αρχείο
Όταν θέλουμε να αλλάξουμε την τυποποιημένη μονάδα εξόδου (οθόνη) και να την
αντικαταστήσουμε με κάποιο αρχείο δίνουμε την εντολή:
$ εντολή>αρχείο
! Εάν κάποιο από τα αρχεία εξόδου υπάρχει σβήνει το περιεχόμενό του και γράφεται από την
αρχή.
Παραδείγματα
$ cat > file1
$ date > date.now (γράφει ημερομηνία στο αρχείο date.now
$ ls > lista (περιεχόμενα καταλόγου στο αρχείο lista ακολούθως δίνουμε:)
$ ws –l lista (μετράει τις γραμμές του αρχείου lista άρα και περιεχόμενα καταλόγου)
! Αν θέλουμε όμως στα περιεχόμενα ενός αρχείου που ήδη υπάρχει να προσθέσουμε και το
αποτέλεσμα εκτέλεσης μιας εντολής δίνουμε την εντολή:
$ εντολή >> αρχείο
Παραδείγματα
$ cat >> file1 (προσθέτουμε στο τέλος του αρχείου)
6. Διαχείριση μονάδων εισόδου και εξόδου
Αλλαγή της τυποποιημένης εισόδου
Σύνταξη: $ εντολή < αρχείο1
Ο μεταχαρακτήρας < χρησιμοποιείται για να παράσχει σαν είσοδο στην εντολή τα
περιεχόμενα του αρχείου αρχείο1.
Παράδειγμα
$cat>message
Hello duds!
How are you?
^+d
$ mail john < message
Αποστέλλουμε το αρχείο message στον john.
$cat>arxeio1
Hello
^+d
$ cat<arxeio1 (δέχεται σαν μονάδα εισόδου το αρχείο arxeio1)
7. Διαχείριση μονάδων εισόδου και εξόδου
Αλλαγή της τυποποιημένης εισόδου και εξόδου
Σύνταξη: $ εντολή < αρχείο1 > αρχείο2
Η εντολή θα πάρει δεδομένα από το αρχείο1 και θα γράψει τα
αποτελέσματα στο αρχείο2.
Παράδειγμα
$ cat > file1
Μπλα μπλα μπλα …
^+d
$ wc –l < file1 > file2
$ cat file2
Μετρά αριθμό γραμμών αρχείου file1 και το αποτέλεσμα το βάζει στο
file2, ακολούθως εμφανίζουμε περιεχόμενο αρχείου file2.
8. Διαχείριση μονάδων εισόδου και εξόδου
Σωληνώσεις (Διοχέτευση - pipe)
Σύνταξη: $ εντολή 1|εντολή 2
Σε μια σωλήνωση η έξοδος μιας εντολής εισάγεται αμέσως στην επόμενη εντολή με την
χρήση του μεταχαρακτήρα διοχέτευσης «|».
Παραδείγματα
$ ls | wc -l
Πόσα αρχεία υπάρχουν στο τρέχον ευρετήριο
$ who | sort
Εμφάνιση ταξινομημένα των συνδεδεμένων στο σύστημα
$ who | wc -l
Εμφάνιση αριθμού χρηστών
$ ls | grep arxeio | wc –l
Εμφανίζει αριθμό αρχείων που έχουν τη λέξη arxeio στο όνομα τους
9. Διαχείριση μονάδων εισόδου και εξόδου
Εντολή tee (Διακλάδωση εξόδου)
Σύνταξη: $ tee [-a] όνομα_αρχείου
Η εντολή αυτή αντιγράφει τα εισερχόμενα σε κάποιο καθορισμένο αρχείο καθώς επίσης και στην
προκαθορισμένη έξοδο (τερματικό).
Ο προσδιοριστής –a (append) χρησιμοποιείται όταν ο χρήστης επιθυμεί να προστεθούν τα αποτελέσματα στο
τέλος ενός ήδη υπάρχοντος αρχείου, αν δεν χρησιμοποιηθεί τα περιεχόμενα του αντικαθίστανται.
Παραδείγματα
$ who | tee users
Εμφάνιση συνδεδεμένων στο σύστημα στο τερματικό και ταυτόχρονη καταχώρηση τους στο αρχείο users
$ who | tee users | wc –l
Καταχωρεί στο αρχείο users τους χρήστες και επιπλέον μετρά αριθμό χρηστών
$ cat>arxeio1
The users ….
^ + d
$ grep –i users *| tee lista | wc –l (ψάξε όλα τα αρχεία με λέξη users, -ι: αγνόησε μικρά / κεφαλαία
γράμματα και καταχώρησε αποτελέσματα στο αρχείο lista και εμφάνισε αριθμό γραμμών λίστα στην
οθόνη)
$ cat lista
10. Διαχείριση μονάδων εισόδου και εξόδου
Εντολή sort
Σύνταξη: sort [επιλογές] filename
Η εντολή sort είναι μία εντολή φίλτρο, διότι μετασχηματίζει τα δεδομένα που
δέχεται (τα ταξινομεί αλφαβητικά)
Πaραδείγματα
$ who | sort
Ταξινομημένη εμφάνιση συνδεδεμένων στο σύστημα
$ sort file1
Ταξινόμηση περιεχομένων αρχείου file1
$ sort file1>file1.sort
Ταξινόμηση περιεχομένων αρχείου file1 και εισαγωγή τους στο αρχείο
file1.sort
$ ls | sort
Ταξινομημένη εμφάνιση περιεχομένων καταλόγου εργασίας.