Είσοδος/Έξοδος (I/O) Παράδειγμα Δένδρου Συστήματος Αρχείων. Ανακατεύθυνση Εισόδου/Εξόδου και Διασωλήνωση στο Λειτουργικό Σύστημα UNIX

Σχετικά έγγραφα
Ανακατεύθυνση Εισόδου/Εξόδου και Διασωλήνωση στο Λειτουργικό Σύστημα UNIX

Εντολές Διαχείρισης Αρχείων στο Λειτουργικό Σύστημα UNIX. Δημιουργία Αρχείων. Η Εντολή cat. Παράδειγμα Δένδρου Συστήματος Αρχείων

Εντολές Διαχείρισης Αρχείων στο Λειτουργικό Σύστημα UNIX

Δικαιώματα Πρόσβασης στο Λειτουργικό Σύστημα UNIX. Χρήστες και Ομάδες στο Unix. Δικαιώματα στο Unix. Παράδειγμα Δένδρου Συστήματος Αρχείων

Εντολές του Λειτουργικού Συστήματος UNIX

Το Σύστημα Αρχείων του UNIX

Δικαιώματα Πρόσβασης στο Λειτουργικό Σύστημα UNIX

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

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

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX

Εντολζς του Λειτουργικοφ Συστήματος UNIX

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Διαδικαστικά. Εισαγωγή στο Λειτουργικό Σύστημα UNIX. Διαδικαστικά. Τι είναι το Λειτουργικό Σύστημα

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Σχολή Θετικών Επιστημών Τμ. Πληροφορικής. Διδάσκων: Ι. Η. Λαγαρής. Εισαγωγή

Εισαγωγή στο Λειτουργικό Σύστημα UNIX

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

ΚΕΦΑΛΑΙΟ 9 ΒΑΣΙΚΕΣ ΕΝΤΟΛΕΣ

Η εντολή ln. σύνδεση με την πραγματική καταχωρημένη πληροφορία. περισσότερα ονόματα (συνδέσεις). Τα επιπλέον ονόματα δημιουργούνται με

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 6o ΕΡΓΑΣΤΗΡΙΟ

Προγραμματισμό για ΗΜΥ

ΤΜΗΜΑ Δ1 ΕΡΓΑΣΙΑ : ΕΠΕΞΕΡΓΑΣΙΑ ΚΕΙΜΕΝΟΥ ΜΕ ΕΙΚΟΝΕΣ ΟΜΑΔΑ PC 5

Αριθμητικές Μέθοδοι σε Προγραμματιστικό Περιβάλλον (Εργαστήριο 2)

Λειτουργικά Συστήματα - Εργαστήριο 4. 4ο Εργαστήριο

Εισαγωγή στον Προγραμματισμό

Εισ. Στην ΠΛΗΡΟΦΟΡΙΚΗ. Διάλεξη 4 η. Βασίλης Στεφανής

Προγραμματισμός συστημάτων UNIX/POSIX. Ανακατευθύνσεις (redirections)

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

1 η Εργαστηριακή Άσκηση MATLAB Εισαγωγή

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Σχολ.έτος Κεφάλαιο 5 ο Γνωριμία με το Λογισμικό του Υπολογιστή.

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Προγραµµατισµός 2 The shell

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

Οδηγός χρήσης. EurobankTrader Mobile (για κινητά τηλέφωνα)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Βασικές Έννοιες της Πληροφορικής

Διαδικασιακός Προγραμματισμός

Διάλεξη 18η: Διαχείρηση Αρχείων

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

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

Κεφάλαιο 10 Διαχείριση Αρχείων και Καταλόγων

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Χρήση του διακόπτη /D για αλλαγή της τρέχουσας μονάδας δίσκου πέραν της αλλαγής τρέχοντος καταλόγου για μια μονάδα δίσκου.

Λειτουργικά Συστήματα

Προγραμματισμός Ι (ΗΥ120)

8 FORTRAN 77/90/95/2003

Κεφάλαιο 4: Λογισμικό Συστήματος

Πληροφορική 2. Δομές δεδομένων και αρχείων

Λιβανός Γιώργος Εξάμηνο 2017Β

Διαδικτυακές Εφαρμογές Ενότητα 4: Streams

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

Εισαγωγή στους Υπολογιστές

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 2

Εργαστηριακή Άσκηση 14

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

Προγραμματισμός I (Θ)

MK Prosopsis Ltd - Assistive Technology Products & Services

S, (5, -3, 34, -23, 7) ( *, _

FORTRAN & Αντικειμενοστραφής Προγραμματισμός ΣΝΜΜ 2017

Λειτουργικά Συστήµατα

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΠΡΟΣΑΝΑΤΟΛΙΣΜΟΥ 12 ΙΟΥΝΙΟΥ 2017 ΕΚΦΩΝΗΣΕΙΣ

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Εισαγωγή στα Λειτουργικά Συστήματα

Οδηγίες Εγκατάστασης και Χρήσης Ψηφιακών Πιστοποιητικών

Σημειώσεις του εργαστηριακού μαθήματος Πληροφορική ΙΙ. Εισαγωγή στην γλώσσα προγραμματισμού

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Πληροφορίες. Εισαγωγή στην Πληροφορική. Κατηγορίες υλισµικού. Περίληψη µαθήµατος (συνέχεια) Επεξεργαστής Μνήµη. Χειµερινό Εξάµηνο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΣΠΟΥΔΩΝ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

ΠΛΗΡΟΦΟΡΙΚΗ Ι Εργαστήριο 1 MATLAB ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στο MATLAB και στο Octave

Streams Input / Output in C++ George Kastrinis

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Κεφάλαιο 7 ο Βασικές Έννοιες Προγραμματισμού (σελ )

ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΗΜΕΡΗΣΙΩΝ

Λειτουργικά Συστήματα

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι ΕΡΓΑΣΤΗΡΙΟ 1. Θέμα εργαστηρίου: Εισαγωγή στην Python και στο IDLE

Δημιουργία, εμφάνιση, μέτρηση πλήθους γραμμών, λέξεων και χαρακτήρων αρχείων κειμένου στο Λ/Σ Unix

Το Υλικό Μέρος του Υπολογιστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

Διαδικασιακός Προγραμματισμός

2 ΟΥ και 7 ΟΥ ΚΕΦΑΛΑΙΟΥ

Λειτουργικά Συστήματα

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Transcript:

Παράδειγμα Δένδρου Συστήματος Αρχείων Ανακατεύθυνση Εισόδου/Εξόδου και Διασωλήνωση στο Λειτουργικό Σύστημα UNIX Στα παραδείγματα που ακολουθούν υποθέτουμε την παρακάτω δενδρική δομή Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Ηπείρου Γρηγόριος Τζώρτζης Ακ. Έτος 2010-2011 Αρχείο Κατάλογος Τρέχων Κατάλογος Είσοδος/Έξοδος (I/O) Τα προγράμματα δέχονται δεδομένα μέσω κάποιων εισόδων και αφού τα επεξεργαστούν, εναποθέτουν τα αποτελέσματα στις εξόδους Ως προγράμματα λογίζονται και οι εντολές του Unix Συνήθως η είσοδος δεδομένων γίνεται από το πληκτρολόγιο και η έξοδος των αποτελεσμάτων στην οθόνη Κάθε εκτελούμενο πρόγραμμα στο Unix ανοίγει τρία αρχεία: Το standard input Το standard output Το standard error Είσοδος/Έξοδος (I/O) Το standard input είναι η πιο κοινή είσοδος για ένα πρόγραμμα, η οποία απουσία άλλου καθορισμού αντιστοιχεί στο πληκτρολόγιο Το standard output είναι η πιο κοινή έξοδος για ένα πρόγραμμα, η οποία απουσία άλλου καθορισμού αντιστοιχεί στην οθόνη Το standard error είναι μία ακόμη κοινή έξοδος για ένα πρόγραμμα, η οποία απουσία άλλου καθορισμού αντιστοιχεί στην οθόνη Στο standard error εναποτίθενται τα διαγνωστικά μηνύματα του Unix

Είσοδος/Έξοδος (I/O) Στο Unix μπορούμε πολύ εύκολα να καθορίσουμε τα standard input, standard output, standard error και γενικότερα τις εισόδους και τις εξόδους να αντιστοιχούν σε αρχεία, αντί των προκαθορισμένων συσκευών. Η διαδικασία αυτή καλείται ανακατεύθυνση εισόδου/εξόδου (I/O redirection). Ανακατεύθυνση Εισόδου Έστω το πρόγραμμα prog. H ανακατεύθυνση για το standard input γίνεται με χρήση του συμβόλου < ως εξής: prog < <αρχείο> αντιστοίχησε το standard input αντί του πληκτρολογίου στο αρχείο <αρχείο>, δηλαδή πάρε είσοδο από το <αρχείο> π.χ. Έστω το πρόγραμμα mail το οποίο αποστέλλει με e- mail το κείμενο που ο χρήστης εισάγει από το πληκτρολόγιο. Αν το e-mail είναι γραμμένο στο αρχείο file, ο χρήστης μπορεί να το αποστείλει χωρίς να το ξανάπληκτρολογήσει ως εξής: mail < file Ανακατεύθυνση Εισόδου - Παράδειγμα tail -2 <../ Οθόνη Ανακατεύθυνση Εξόδου Έστω το πρόγραμμα prog. H ανακατεύθυνση του standard output γίνεται με χρήση του συμβόλου > ως εξής: prog > <αρχείο> αντιστοίχησε το standard output αντί της οθόνης στο αρχείο <αρχείο> Το παραπάνω έχει ως αποτέλεσμα τη δημιουργία ενός αρχείου στη θέση που καθορίζει το όνομα διαδρομής <αρχείο>, το οποίο περιέχει την έξοδο του prog Αν το αρχείο προϋπάρχει, καταστρέφετε και τη θέση του παίρνει το καινούριο Προσοχή: Η έξοδος δεν εμφανίζεται στην οθόνη

Ανακατεύθυνση Εξόδου Εναλλακτικά, η ανακατεύθυνση του standard output γίνεται με χρήση του συμβόλου >> ως εξής: prog >> <αρχείο> αντιστοίχησε το standard output αντί της οθόνης στο αρχείο <αρχείο> Η διαφορά με την προηγούμενη περίπτωση είναι ότι αν το αρχείο προϋπάρχει δεν καταστρέφεται, αλλά το αποτέλεσμα της εξόδου του prog τοποθετείται στο τέλος του υπάρχοντος αρχείου Προσοχή: Η έξοδος δεν εμφανίζεται στην οθόνη Ανακατεύθυνση Εξόδου Για να ανακατευθύνουμε το standard error για το πρόγραμμα prog χρησιμοποιούμε το σύμβολο 2> ως εξής: prog 2> <αρχείο> αντιστοίχησε το standard error αντί της οθόνης στο αρχείο <αρχείο> Το παραπάνω έχει ως αποτέλεσμα τη δημιουργία ενός αρχείου στη θέση που καθορίζει το όνομα διαδρομής <αρχείο>, το οποίο περιέχει τα διαγνωστικά μηνύματα του prog Αν το αρχείο προϋπάρχει, καταστρέφετε και τη θέση του παίρνει το καινούριο. Για να μην γίνει αυτό πρέπει αντί του συμβόλου 2> να χρησιμοποιήσουμε το 2>> Προσοχή: Τα διαγνωστικά μηνύματα δεν εμφανίζονται στην οθόνη Ανακατεύθυνση Εξόδου - Παράδειγμα ls l.. > /home/tele2/ Ανακατεύθυνση Εξόδου - Παράδειγμα tail -2../ > /etc/ppp/work/ drwx------ 3 tele1 teiep 512 Apr 2 14:11 photos -rwxr-xr-x 1 tele1 teiep 371 May 4 1996

Ανακατεύθυνση Εξόδου - Παράδειγμα head -1../ >>../ Συνδυασμός Ανακατεύθυνσης Εισόδου και Εξόδου Για να ανακατευθύνουμε ταυτόχρονα το standard input και το standard output για το πρόγραμμα prog γράφουμε: prog < <αρχείο1> > <αρχείο2> Το παραπάνω αντιστοιχεί το standard input στο <αρχείο1> και το standard output στο <αρχείο2> Εναλλακτικά: prog < <αρχείο1> >> <αρχείο2> Με αυτόν τον τρόπο αν το <αρχείο2> προϋπάρχει δεν καταστρέφεται Συνδυασμός Ανακατεύθυνσης Εισόδου και Εξόδου Για να ανακατευθύνουμε ταυτόχρονα το standard input, το standard output και το standard error για το πρόγραμμα prog γράφουμε: prog < <αρχείο1> > <αρχείο2> 2> <αρχείο3> Το παραπάνω αντιστοιχεί το standard input στο <αρχείο1>, το standard output στο <αρχείο2> και το standard error στο <αρχείο3> Εναλλακτικά: prog < <αρχείο1> >> <αρχείο2> 2>> <αρχείο3> Με αυτόν τον τρόπο αν τα <αρχείο2> και <αρχείο3> προϋπάρχουν δεν καταστρέφονται Συνδυασμός Ανακατεύθυνσης Εισόδου και Εξόδου - Παράδειγμα tail -2 <../ > /etc/ppp/work/

Διασωλήνωση Η διασωλήνωση (piping) είναι μία τεχνική που επιτρέπει η έξοδος ενός προγράμματος να γίνει είσοδος για ένα άλλο Η διασωλήνωση πραγματοποιείται με χρήση του συμβόλου (pipe) ως εξής: prog1 prog2 Το παραπάνω σημαίνει: εκτέλεσε το πρόγραμμα prog1 και την έξοδο που θα παράγει θέσε την ως είσοδο για το prog2 Προσοχή: Mόνο η έξοδος του prog2 εμφανίζεται Διασωλήνωση Μπορούμε να συνδέσουμε με διασωλήνωση περισσότερα από δύο προγράμματα ως εξής: prog1 prog2 prog(ν-1) progν Το παραπάνω σημαίνει: εκτέλεσε το πρόγραμμα prog1 και την έξοδο που θα παράγει θέσε την ως είσοδο για το prog2, την έξοδο που θα παράγει το prog2 θέσε την ως είσοδο για το prog3,, την έξοδο που θα παράγει το prog(ν-1) θέσε την ως είσοδο για το progν Προσοχή: Η έξοδος των prog1, prog2,, prog(ν-1) δεν εμφανίζεται, παρά μόνο του progν Η διασωλήνωση είναι ένας τρόπος με τον οποίο μπορούμε να συνδυάσουμε εντολές, ώστε να προκύψουν νέες σύνθετες εντολές Διασωλήνωση και Ανακατεύθυνση Εισόδου/Εξόδου Μία έκφραση που περιέχει διασωλήνωση μπορεί να γραφεί ισοδύναμα με χρήση της ανακατεύθυνσης εισόδου/εξόδου Η έκφραση: prog1 prog2 prog(ν-1) progν είναι ισοδύναμη με την: prog1 > <αρχείο1> prog2 < <αρχείο1> > <αρχείο2> prog(ν-1) < <αρχείο(ν-2)> > <αρχείο(ν-1)> progν < <αρχείο(ν-1)> rm <αρχείο1> <αρχείο(n-1)> Διασωλήνωση - Παράδειγμα tail -3../ head -1 tail -3 head -1 Οθόνη -Άρα η εντολή εμφανίζει την πρώτη γραμμή από τις τρεις τελευταίες του αρχείου -Το παραπάνω μπορεί να γραφεί και ως: tail -3../ > /home/tmp head -1 < /home/tmp rm /home/tmp

Διασωλήνωση - Παράδειγμα tail -3../ head -2 wc -w tail -3 head -2 -Άρα η εντολή εμφανίζει το πλήθος λέξεων των δύο πρώτων γραμμών από τις τρεις τελευταίες του αρχείου -Το παραπάνω μπορεί να γραφεί και ως: tail -3../ > /home/tmp head -2 < /home/tmp > /home/tmp2 wc w < /home/tmp2 rm /home/tmp /home/tmp2 wc -w Οθόνη 3 Διασωλήνωση - Παράδειγμα tail -3../ head -1 > /etc/ppp/work/ tail -3 head -1 -Άρα η εντολή αποθηκεύει την πρώτη γραμμή από τις τρεις τελευταίες του αρχείου στο αρχείο -Το παραπάνω μπορεί να γραφεί και ως: tail -3../ > /home/tmp head -1 < /home/tmp > /etc/ppp/work/ rm /home/tmp