Σωληνώσεις
Ένας ακόμη τρόπος χρήσης της ανακατεύθυνσης είναι ο συνδυασμός των εντολών με διαύλους ή αγωγούς ή σωλήνες (pipes). Η συντακτική δομή ονομάζεται σωλήνωση (pipeline). Στην ουσία αυτό που επιτρέπουν οι σωληνώσεις είναι η χρήση του προτύπου αρχείου εξόδου μιας εντολής ως πρότυπο αρχείο εισόδου μιας άλλης εντολής. Αποφεύγεται έτσι η ενδιάμεση κατασκευή αρχείων που θα χρειαζόταν για να επεξεργαστούμε την έξοδο μιας εντολής μέσω μιας άλλης χωρίς μάλιστα να χρειάζεται ειδικός προγραμματισμός για τις εντολές αυτές.
Η χρήση της σωλήνωσης είναι αρκετά απλή. Μπορούμε να ορίσουμε μια σωλήνωση με τον τελεστή “|” ως εξής:
$ command1 | command2
Έτσι η έξοδος της εντολής command1 χρησιμοποιείται ως είσοδος στην εντολή command2. Ένα απλό παράδειγμα είναι η χρήση ενός προγράμματος σελιδοποίησης (pager), όπως το more ή το less, για να γίνει εφικτή η ανάγνωση κάποιων μακροσκελών αποτελεσμάτων ενός προγράμματος.
$ dpkg -l| less
Η σωλήνωση αυτή σελιδοποιεί την έξοδο του προγράμματος dpkg, το οποίο με την επιλογή -l, επιστρέφει τη λίστα όλων των πακέτων που είναι εγκατεστημένα στο σύστημα. Θα έχουμε μια πιο αναλυτική παρουσίαση και των δύο προγραμμάτων, dpkg και less, σε επόμενα κεφάλαια.
Εκτός από τις απλές σωληνώσεις, υπάρχουν και οι ονομαστικές σωληνώσεις αλλά το θέμα αυτό είναι σχετικά προχωρημένο και ξεφευγεί από τους σκοπούς αυτού του βιβλίου.
Η εντολή tee
Υπάρχουν περιπτώσεις που θέλουμε να ανακατευθύνουμε την έξοδο ενός προγράμματος σε ένα αρχείο αλλά θέλουμε ταυτόχρονα τη στείλουμε και για περαιτέρω επεξεργασία σε ένα άλλο πρόγραμμα. Η εντολή tee κάνει ακριβώς αυτό: αντιγράφει την είσοδό της στην έξοδο και ταυτόχρονα την αποθηκεύει σε ένα αρχείο.
$ command1 | tee file.log | command2
Η εντολή command1 στέλνει την έξοδό της στην tee, η οποία την αποθηκεύει με τη σειρά της σε ένα αρχείο file.log και ταυτόχρονα την αποστέλει – ως είσοδο πλέον – στην εντολή command2.
Active forum topics
- Wake up from suspend mode failed
- Οργάνωση στις μεταφράσεις των ελληνικών στο Debian.
- απορια σχετικα με nvidia440
- πρόβλημα εγκατάστασης nvidia driver GTS250.
- kernel 2.6.38 για squeeze
- Gnome3
- 2 μήνες σπασμένο το upgrade σε unstable [SOLVED]
- Οι χρήστες του Internet Explorer είναι χαζοί;
- Debian Lenny + Nvidia drivers
- εγκατασταση usb cosmote
New forum topics
Νέοι χρήστες
- kountp
- Adonthegreat
- giorgos_m
- prodromos
- airmaik
Οι πιο πρόσφατες καταχωρίσεις blog.
- Fosscomm 2012
- armhf officially into Debian!
- back from UDS/Linaro Connect...
- FTF is over, Linaro Interview
- straight from FTF 2011, San Antonio...
- Όσο μεγαλώνεις μαθαίνεις...
- Emdebian 2011 Sprint report, Genesi Europe store goes online...
- Θεσσαλονίκη - open source ERP workshop
- Χρήσιμο URL για Flash Cards και Linux filesystems
- Cambridge, UK, ARM HQ for Emdebian 2011 Sprint