Λεηηνπξγηθά Σπζηήκαηα - Δξγαζηήξην 5. 5ο Εργαζηήριο



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

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

Άσκηση 1 - Μοπυοποίηση Κειμένου

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΧΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΧΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Η/Υ A ΤΑΞΕΩΣ ΑΕ Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD

Constructors and Destructors in C++

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

Ενδεικτικά Θέματα Στατιστικής ΙΙ

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

Ηλεκηπονικά Απσεία και Διεπαθέρ

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

Έκδοζη /10/2014. Νέα λειηοσργικόηηηα - Βεληιώζεις

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) FritzBox Fon WLAN Annex B ( )

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

Οργάνωση και Δομή Παρουσιάσεων

Έθδνζε /11/2014. Νέα ιεηηνπξγηθόηεηα - Βειηηώζεηο

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

Σηα παξαδείγκαηα πνπ αθνινπζνύλ ρξεζηκνπνηήζεθαλ ην JQUIZ, ην JCROSS θαη ην JMATCH, πνπ αλαιπηηθά πεξηγξάθνληαη παξαθάηω.

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

Τηλζφωνο: Ε-mail: Ώρες διδασκαλίας: 16:00 19:15 μμ

Intel Accelerate Your Code

Η αξρή ζύλδεζεο Client-Server

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

Αιγόξηζκνη Δθρώξεζε, Δίζνδνο θαη Έμνδνο ηηκώλ Γνκή αθνινπζίαο. Δηζαγσγή ζηηο Αξρέο ηεο Δπηζηήκεο ησλ Η/Υ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ. ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Έλεγτος Ορθογραθίας - Γραμμαηικής. Ορθογραθικός και Γραμμαηικός Έλεγτος

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

ΑΕΠΠ 1o Επαναληπηικό Διαγώνιζμα

ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: /27 Υπνδίθηπν Β:

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

Κάλνληαο θιηθ κε ην πνληίθη ζηνλ ινγαξηαζκό πνπ ζέινπκε θιείλεη ην παξάζπξν πνπ κόιηο είρε αλνίμεη. Παηώληαο Παξνπζίαζε (βειάθη Νν 3) παξνπζηάδνληαη

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

2.4 Βαζικές ζσνιζηώζες/ ενηολές ενός αλγορίθμοσ

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

Εγκατάσταση του πακέτου XAMPP. Β Τεχνική Σχολή Λεμεςοφ Σχολική χρονιά Άριςτοσ Παςιάσ

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης

ISO/IEC 27001:2005 Certificate No: IS Aegate Ltd 2011 All rights reserved

Σειεζηέο, Δθθξάζεηο Πξνηάζεηο, Δληνιέο Διέγρνπ Ρνήο

ΗΥ-100 Ειζαγωγή ζηην Επιζηήμη Υπολογιζηών

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

30. Γξαζηεξηόηεηα 1: Δπαλαιεπηηθέο Δλέξγεηεο

ΔΙΑΓΩΝΙΣΜΑ ΣΤΗ ΦΥΣΙΚΗ. Ύλη: Εσθύγραμμη Κίνηζη

Εςθςή ζςζηήμαηα επισειπήζεων και αξιολόγηζη

ΛΙΜΝΗ ΤΣΑΝΤ. Σρήκα 1. Σρήκα 2

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

ΓΙΑΙΡΔΣΟΣΗΣΑ. Οπιζμόρ 1: Έζηω d,n. Λέκε όηη ν d δηαηξεί ηνλ n (ζπκβνιηζκόο: dn) αλ. ππάξρεη c ηέηνην ώζηε n. Θεώπημα 2: Γηα d,n,m,α,b ηζρύνπλ:

Transcript:

ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μητανικών Πληροθορικής ΤΕ Λειηοσργικά Σσζηήμαηα (Εργαζηήριο) Διδάζκων: I. Τζακνάκης 5ο Εργαζηήριο Πξόηππα αξρεία εηζόδνπ/εμόδνπ Τειεζηέο αλαθαηεύζπλζεο Βαζηθέο εληνιέο δηαρείξηζεο πεξηερνκέλσλ αξρείσλ Σπκπίεζε αξρείσλ Χξήζε εηδηθώλ ραξαθηήξσλ ζηελ γξακκή εληνιώλ 1

Standard streams πξόηππα αξρεία εηζόδνπ/εμόδνπ Σην Unix, θαζώο θαη ζε νξηζκέλεο γιώζζεο πξνγξακκαηηζκνύ, ηα standard streams είλαη πξνζπλδεδεκέλα θαλάιηα (αξρεία) εηζόδνπ θαη εμόδνπ αλάκεζα ζε κία εθαξκνγή, πνπ μεθηλά ηελ εθηέιεζή ηεο, θαη ζην πεξηβάιινλ ηεο. Απηά ηα ηξία θαλάιηα εηζόδνπ/εμόδνπ νλνκάδνληαη standard input (stdin), standard utput (stdut) θαη standard errr (stderr). Σηα πεξηζζόηεξα, πξνγελέζηεξα ηνπ UNIX, ιεηηνπξγηθά ζπζηήκαηα, ηα πξνγξάκκαηα έπξεπε λα ζπλδεζνύλ ξεηώο κε ηελ θαηάιιειε είζνδν θαη έμνδν δεδνκέλσλ. Σε πνιιά από απηά ηα ζπζηήκαηα, απηό ζα κπνξνύζε λα είλαη κία ζθιεξή πξόθιεζε πξνγξακκαηηζκνύ, ιόγσ εμεηδηθεπκέλσλ αλά ιεηηνπξγηθό πεξηπινθώλ, όπσο ε αλάθηεζε ησλ ξπζκίζεσλ ηνπ πεξηβάιινληνο ειέγρνπ, ε πξόζβαζε ζηνλ ηνπηθό πίλαθα αξρείσλ, ν θαζνξηζκόο ηνπ θαηάιιεινπ data set θαη ν νξζόο ρεηξηζκόο κίαο ζπζθεπήο αλάγλσζεο θαξηώλ, καγλεηηθήο ηαηλίαο, δίζθνπ, εθηύπσζεο γξακκήο, δηάηξεζεο θαξηώλ ή δηαδξαζηηθνύ ηεξκαηηθνύ. Τν UNIX εηζήγαγε νξηζκέλα πξσηνπνξηαθά πιενλεθηήκαηα, έλα εθ ησλ νπνίσλ ήηαλ λα παξέρεη αθεξεκέλεο (γεληθέο) ζπζθεπέο, πξάγκα πνπ θαηαξγεί ηελ αλάγθε ηνπ θάζε πξνγξάκκαηνο (εθαξκνγήο) λα γλσξίδεη ή λα ελδηαθέξεηαη γηα ην είδνο ησλ ζπζθεπώλ κε ηηο νπνίεο επηθνηλσλεί. Τα παιαηόηεξα ιεηηνπξγηθά ζπζηήκαηα επέβαιιαλ ζηνλ πξνγξακκαηηζηή κία δνκή γηα θάζε εγγξαθή, ηνλ έιεγρν ηεο ζπζθεπήο θαη πνιύ ζπρλά data semantics. Τν UNIX εμάιεηςε απηή ηελ πνιππινθόηεηα εηζάγνληαο ηελ έλλνηα ηεο ξνήο δεδνκέλσλ, δειαδή κηα δηαηεηαγκέλε ζεηξά από bytes δεδνκέλσλ πνπ κπνξνύλ λα δηαβαζηνύλ κέρξη ην ηέινο ηνπ αξρείνπ. Έλα πξόγξακκα κπνξεί επίζεο λα γξάςεη bytes δεδνκέλσλ όπνηε ζειήζεη θαη δε ρξεηάδεηαη λα δειώζεη πόζα bytes δεδνκέλσλ ζα εγγξαθνύλ (πξάγκα πνπ είλαη δύζθνιν λα ππνινγηζηεί), ή πώο ζα νκαδνπνηεζνύλ. Μηα άιιε ζεκαληηθή εμέιημε πνπ εηζήγαγε ην UNIX ήηαλ λα ζπλδέζεη απηόκαηα ηελ είζνδν θαη ηελ έμνδν από πξνεπηινγή. Τν πξόγξακκα (θαη ν πξνγξακκαηηζηήο) δελ ρξεηάδεηαη λα θάλεη νηηδήπνηε γηα λα θαζνξίζεη ηελ είζνδν θαη ηελ έμνδν όηαλ αθνινπζείηαη ε ηππηθή αξρηηεθηνληθή είζνδνο δεδνκέλσλ επεμεξγαζία έμνδνο δεδνκέλσλ. Γηα λα επηηεπρζεί απηή ε ζύλδεζε, κε ηελ είζνδν θαη ηελ έμνδν ησλ δεδνκέλσλ, ζηα πξνεγνύκελα ιεηηνπξγηθά ζπζηήκαηα απαηηνύληαλ ζπλήζσο ε ρξήζε κίαο γιώζζαο ειέγρνπ εξγαζίαο (jb cntrl), ε νπνία ζπρλά ήηαλ ηδηαίηεξα ζύλζεηε. Από ηε ζηηγκή πνπ ην UNIX απνθάζηζε λα παξέρεη πξόηππα αξρεία εηζόδνπ/εμόδνπ, ην runtime πεξηβάιινλ ηεο UNIX C ήηαλ ππνρξεσκέλν λα ππνζηεξίμεη θη απηό ηε δπλαηόηεηα απηή. Ωο απνηέιεζκα, ηα πεξηζζόηεξα runtime πεξηβάιινληα ηεο C (θαη νη απόγνλνη ηεο C), αλεμάξηεηα από ην ιεηηνπξγηθό ζύζηεκα, παξέρνπλ ηζνδύλακεο ιεηηνπξγίεο. 2

stdin Standard input είλαη δεδνκέλα (ζπρλά ζε κνξθή θεηκέλνπ) πνπ δίλνληαη σο είζνδνο ζε έλα πξόγξακκα. Τν πξόγξακκα δεηάεη ηε κεηαθνξά ησλ δεδνκέλσλ (από ηελ είζνδν πξνο απηό) κε ηε ρξήζε ηεο ιεηηνπξγίαο read (αλάγλσζε). Να ζεκεησζεί πσο δελ ρξεηάδνληαη όια ηα πξνγξάκκαηα θάπνηα είζνδν. Γηα παξάδεηγκα ε εληνιή ls (ε θάζε εληνιή είλαη έλα πξόγξακκα) εθηειεί ηε ιεηηνπξγία ηεο ρσξίο λα δέρεηαη θαλέλα δεδνκέλν από ηελ είζνδν. Δθηόο θη αλ δεηεζεί θάπνηα αλαθαηεύζπλζε, ε είζνδνο ησλ δεδνκέλσλ αλακέλεηαη από ην πιεθηξνιόγην ην νπνίν μεθίλεζε ην πξόγξακκα. Τν file descriptr (αξηζκόο - ηαπηόηεηα πνπ αληηζηνηρεί ζε θάζε αλνηθηό αξρείν) γηα ην πξόηππν αξρείν εηζόδνπ είλαη ην 0 (κεδέλ), ζηε C αληηζηνηρεί ζηε κεηαβιεηή FILE* stdin ηεο βηβιηνζήθεο <stdi.h> ελώ ζηε C++ αληηζηνηρεί ζην κεηαβιεηή std::cin ηεο βηβιηνζήθεο <istream> stdut Standard utput είλαη έλα αξρείν ξνή (stream) όπνπ ην πξόγξακκα γξάθεη ηα δεδνκέλα εμόδνπ. Τν πξόγξακκα δεηάεη ηε κεηαθνξά ησλ δεδνκέλσλ (από απηό πξνο ηελ έμνδν) κε ηε ρξήζε ηεο ιεηηνπξγίαο write (εγγξαθή). Να ζεκεησζεί πσο δελ παξάγνπλ δεδνκέλα εμόδνπ όια ηα πξνγξάκκαηα. Γηα παξάδεηγκα ε εληνιή mv πνπ κεηνλνκάδεη ή/θαη κεηαθηλεί αξρεία δελ παξάγεη θαλέλα κήλπκα όηαλ εθηειείηαη επηηπρεκέλα. Δθηόο θη αλ δεηεζεί θάπνηα αλαθαηεύζπλζε, ε πξόηππε έμνδνο ησλ δεδνκέλσλ είλαη ην ηεξκαηηθό θεηκέλνπ (θνηλώο ε νζόλε) ην νπνίν αξρηθνπνίεζε ην πξόγξακκα. Τν file descriptr γηα ην πξόηππν αξρείν εμόδνπ είλαη ην 1 (έλα), ζηε C αληηζηνηρεί ζηε κεηαβιεηή FILE* stdut ηεο βηβιηνζήθεο <stdi.h> ελώ ζηε C++ αληηζηνηρεί ζην κεηαβιεηή std::cut ηεο βηβιηνζήθεο <istream>. stderr Standard errr είλαη έλα αθόκα αξρείν ξνή (stream) εμόδνπ πνπ ρξεζηκνπνηείηαη από ηα πξνγξάκκαηα γηα λα εμάγνπλ κελύκαηα ιάζνπο ή δηαγλσζηηθά κελύκαηα. Δίλαη έλα αξρείν ξνή αλεμάξηεην από ην standard utput θαη κπνξεί λα αλαθαηεπζπλζεί αλεμάξηεηα από απηό. Δθηόο θη αλ δεηεζεί θάπνηα αλαθαηεύζπλζε, ε πξόηππε έμνδνο ησλ κελπκάησλ ιάζνπο είλαη ζπλήζσο ην ηεξκαηηθό θεηκέλνπ (θνηλώο ε νζόλε) ην νπνίν αξρηθνπνίεζε ην πξόγξακκα. Τν file descriptr γηα ην πξόηππν αξρείν εμόδνπ είλαη ην 2 (δύν), ζηε C αληηζηνηρεί ζηε κεηαβιεηή FILE* stderr ηεο βηβιηνζήθεο <stdi.h> ελώ ζηε C++ αληηζηνηρεί ζηηο κεηαβιεηέο std::cerr θαη std::clg ηεο βηβιηνζήθεο <istream>. 3

Τειεζηέο αλαθαηεύζπλζεο Τειεζηέο αλαθαηεύζπλζεο νλνκάδνληαη νη ηειεζηέο πνπ ππνρξεώλνπλ ηελ εθαξκνγή ζηελ νπνία εθαξκόδνληαη λα εθηξέςεη ηα κελύκαηά ηεο από ηα πξνθαζνξηζκέλα αξρεία εηζόδνπ/εμόδνπ ζε ηξίηα αξρεία. Ο ηειεζηήο αλαθαηεύζπλζεο > Σηε γεληθή πεξίπησζε ν ηειεζηήο > εθηξέπεη ηα κελύκαηα πνπ είραλ σο πξννξηζκό ην αξρείν stdut, ζην αξρείν πνπ αθνινπζεί κεηά ηνλ ηειεζηή. Αλ ην αξρείν, ην νπνίν αθνινπζεί ηνλ ηειεζηή θαη ζην νπνίν εθηξέπνληαη ηα κελύκαηα, ππάξρεη, ηόηε ην πεξηερόκελό ηνπ δηαγξάθεηαη πξνηνύ απνζεθεπζνύλ ζε απηό ηα κελύκαηα ηεο εληνιήο. Σηελ πεξίπησζε πνπ δελ ππάξρεη ηόηε δεκηνπξγείηαη. Παξάδεηγκα: ls -l > DirListing Εθηξνπή ηωλ κελπκάηωλ ηεο εληνιήο ls -l από ην stdut ζην αξρείν DirListing. Αλ ην αξρείν DirListing ππάξρεη ηόηε δηαγξάθνληαη όια ηα πεξηερόκελά ηνπ θαη κεηά απνζεθεύνληαη ζε απηό όια ηα κελύκαηα πξνο ην stdut ηεο εληνιήο ls -l. Αλ ην αξρείν DirListing δελ ππάξρεη ηόηε δεκηνπξγείηαη. ην ηέινο ηεο εθηέιεζεο ηεο εληνιήο ην αξρείν DirListing, πνπ ππάξρεη (ή δεκηνπξγείηαη) ζηνλ ίδην θαηάινγν ζηνλ νπνίν εθηειείηαη ε εληνιή, πεξηέρεη ζε κνξθή θεηκέλνπ όια ηα κελύκαηα πνπ ζα εκθάληδε ζηελ νζόλε ηνπ ζπζηήκαηνο ε εθηέιεζε ηεο εληνιήο ls -l. Γηα ηελ εθηξνπή ησλ κελπκάησλ ιάζνπο ζην ίδην αξρείν ζην νπνίν γίλεηαη ε εθηξνπή ησλ κελπκάησλ ηνπ stdut ζα πξέπεη ζην ηέινο ηεο εληνιήο λα ζπκπιεξσζεί 2>&1 Παξάδεηγκα: ls -l ~bb/dcuments > BbDcumentsListing 2>&1 Τα κελύκαηα κε πξννξηζκό ην stdut ηεο εληνιήο ls -l ~bb/dcuments, πνπ δείρλεη ηα πεξηερόκελα ηνπ θαθέινπ Dcuments θάησ από ηνλ αξρηθό θάθειν ηνπ ρξήζηε bb αλαθαηεπζύλνληαη (θη άξα απνζεθεύνληαη) ζην αξρείν BbDcumentsListing. Σην ίδην αξρείν ζα απνζεθεπζνύλ θη όια ηα κελύκαηα ιάζνπο πνπ ζα πηζαλώο ζα παξάγεη ε εθηέιεζε ηεο εληνιήο (πρ όηη ν ρξήζηεο δελ έρεη ηα θαηάιιεια δηθαηώκαηα λα δεη ηα πεξηερόκελα ηνπ θαθέινπ απηνύ). Ο ηειεζηήο αλαθαηεύζπλζεο >> Σηε γεληθή πεξίπησζε ν ηειεζηήο >> εθηξέπεη ηα κελύκαηα πνπ είραλ σο πξννξηζκό ην αξρείν stdut, ζην αξρείν πνπ αθνινπζεί κεηά ηνλ ηειεζηή. Αλ ην αξρείν, ην νπνίν αθνινπζεί ηνλ ηειεζηή θαη ζην νπνίν εθηξέπνληαη ηα κελύκαηα, ππάξρεη, ηόηε ηα κελύκαηα ζπκπιεξώλνληαη ζην ηέινο ηνπ αξρείνπ. Σηελ πεξίπησζε πνπ δελ ππάξρεη ηόηε δεκηνπξγείηαη. 4

Παξάδεηγκα: pwd >> MyCurrentLcatin Σν κήλπκα ηεο εληνιήο pwd, δειαδή ην απόιπην path γηα ηνλ θάθειν ζηνλ νπνίν βξίζθεηαη ν ρξήζηεο όηαλ εθηειείηαη ε εληνιή, απνζεθεύεηαη ζην αξρείν MyCurrentLcatin. Αλ ην αξρείν ππάξρεη ηόηε ην κήλπκα γξάθεηαη ζην ηέινο ηνπ αξρείνπ, κεηά από όια ηα δεδνκέλα πνπ ήδε πεξηέρεη. Αλ δελ ππάξρεη ηόηε δεκηνπξγείηαη, ώζηε λα απνζεθεπζεί κέζα ζε απηό ην απόιπην path πνπ επηζηξέθεη ε θιήζε ηεο εληνιήο pwd. Ο ηειεζηήο αλαθαηεύζπλζεο < Ο ηειεζηήο < ππνρξεώλεη ηελ εληνιή ζηελ νπνία εθαξκόδεηαη λα δηαβάζεη σο είζνδν ην πεξηερόκελν ηνπ αξρείνπ πνπ ηνλ αθνινπζεί, αληί ηνπ αξρείνπ stdin (δειαδή ην πιεθηξνιόγην). Παξάδεηγκα: $ mail bb < data.dat Θα εθηειεζηεί ην πξόγξακκα mail κε παξαιήπηε ηνλ ρξήζηε bb θαη ηα δεδνκέλα ζα πξνέξρνληαη νρη κεηά από εηζαγωγή από ην πιεθηξνιόγην αιιά απηόκαηα από ην αξρείν data.dat. Γηα ηε δηαθνπή ηεο ξνήο ηνπ πξνγξάκκαηνο παηήζηε ην πιήθηξν break. Ο ηειεζηήο αλαθαηεύζπλζεο Ο ηειεζηήο ρξεζηκνπνηείηαη γηα ηελ εθηξνπή ησλ κελπκάησλ κίαο εληνιήο από ην stdut ζη stdin ηεο εληνιήο πνπ αθνινπζεί. Κνηλώο ηα απνηειέζκαηα ηεο εληνιήο ζηα αξηζηεξά ηνπ ηειεζηή ρξεζηκνπνηνύληαη ζαλ ην ηειεπηαίν όξηζκα ηεο εληνιήο ζηα δεμηά ηνπ ηειεζηή Παξάδεηγκα: cat /tmp/myfile srt Γεληθά ε εληνιή cat εκθαλίδεη ην πεξηερόκελν ηωλ αξρείωλ πνπ δέρεηαη ωο όξηζκα. ηε ζπγθεθξηκέλε πεξίπηωζε, ηα κελύκαηα ηεο εληνιήο cat /tmp/myfile κε πξννξηζκό ην stdut, δειαδή ην πεξηερόκελν ηνπ αξρείνπ myfile θάηω από ηνλ θάθειν tmp ηνπ rt, δίλεηαη ωο παξάκεηξνο ζηελ εληνιή srt, ε νπνία ηαμηλνκεί ην πεξηερόκελν αξρείωλ πνπ δέρεηαη ωο νξίζκαηα. Απηό έρεη ωο απνηέιεζκα λα εκθαληζηεί ην πεξηερόκελν ηνπ αξρείνπ myfile ζηελ νζόλε ηαμηλνκεκέλν αλά γξακκή. 5

Βαζηθέο εληνιέο δηαρείξηζεο πεξηερνκέλσλ αξρείσλ xargs Η εληνιή xargs είλαη κία αξθεηά ζύλζεηε εληνιή. Παίξλεη σο είζνδν ηα κελύκαηα ηνπ αξρείνπ stdin, ηα ρσξίδεη ζε ηκήκαηα θάζε θνξά πνπ ζπλαληά ηνλ ραξαθηήξα ' ' (θελό), ή ηνλ ραξαθηήξα cr (λέα γξακκή) θαη γηα θάζε ηκήκα εθηειεί ηελ εληνιή πνπ παίξλεη σο παξάκεηξν βάδνληαο ζε απηήλ ην ηκήκα σο παξάκεηξν. Παξάδεηγκα: ls *TDelete* xargs rm -r H xargs δηαβάδεη ηα κελύκαηα ηνπ stdin. ην stdin έρνπλ απνζεθεπζεί (ιόγω ηνπ ηειεζηή αλαθαηεύζπλζεο πνπ πξνεγείηαη) ηα κελύκαηα πξνο ην stdut ηεο εληνιήο ls *TDelete*, δειαδή ηα νλόκαηα ηωλ αξρείωλ ηνπ ηξέρωλ θαηαιόγνπ πνπ ζην όλνκά ηνπο πεξηέρνπλ ην string TDelete. H xargs ζα πάξεη ηε ιίζηα απηή, ζα ηελ ρωξίζεη ζε ηκήκαηα κε βάζε ηνλ ραξαθηήξα θελό. Επνκέλωο θάζε ηκήκα είλαη έλα όλνκα αξρείνπ (απηό ηζρύεη κόλν ζηελ πεξίπηωζε πνπ θαλέλα από ηα αξρεία ηνπ θαθέινπ δελ πεξηέρεη θελό ζην όλνκά ηνπ). Γηα θάζε ηκήκα εθηειεί ηελ εληνιή rm -r τμήμα_x, θη αθνύ θάζε ηκήκα είλαη έλα όλνκα αξρείνπ, ηόηε ε εληνιή απηή ζα ζβήζεη όια ηα αξρεία πνπ ην όλνκά ηνπ πεξηέρεη ην string TDelete θαη είλαη θάηω από ηνλ ηξέρωλ θαηάινγν. ech Γξάθεη ην κήλπκα πνπ παίξλεη σο όξηζκα ζην πξόηππν αξρείν εμόδνπ (stdut). Παξάδεηγκα: ech Hell Wrld Γξάθεη ην κήλπκα Hell Wrld ζην stdut (εκθαλίδεηαη ζηελ νζόλε ηνπ ηεξκαηηθνύ). cat Σην Unix/Linux ππάξρνπλ πνιιέο εληνιέο κε ηηο νπνίεο κπνξνύκε λα δνύκε ηα πεξηερόκελα ελόο ή πεξηζζόηεξσλ αξρείσλ. Η εληνιή cat εκθαλίδεη ηα πεξηερόκελα ησλ αξρείσλ ζεηξηαθά, ρσξίο θαλέλα δηαρσξηζκό κεηαμύ ηνπο. cat [ptins] filenames filenames: Λίζηα νλνκάησλ αξρείσλ ρσξηζκέλα κεηαμύ ηνπο κε θελό. Παξάδεηγκα: cat /etc/prfile /etc/passwd Εκθάληζε ηωλ πεξηερνκέλωλ ηωλ αξρείωλ prfile θαη passwd θάηω από ηνλ θαηάινγν etc ηνπ rt. mre H εληνιή mre εκθαλίδεη ηα πεξηερόκελα ησλ αξρείσλ ζεηξηαθά, κε δηαρσξηζκό κεηαμύ ηνπο θαη κε ζειηδνπνίεζε (αλ ην πεξηερόκελν ησλ αξρείσλ μεπεξλάεη ζε κέγεζνο ην παξάζπξν ηνπ ηεξκαηηθνύ, ηόηε γεκίδεη κία νζόλε θαη ζηακαηάεη πεξηκέλνληαο από ηνλ ρξήζηε λα πξνρσξήζεη κπξνζηά. 6

Μπνξνύκε λα πξνρσξήζνπκε κπξνζηά κόλν είηε κε space (πξνρσξάεη κπξνζηά ηόζεο γξακκέο όζεο ην κέγεζνο ηεο νζόλεο) είηε κε cr (enter) (πξνρσξάεη κπξνζηά κία γξακκή) είηε κε άιιεο επηινγέο (δείηε man mre γηα πεξηζζόηεξεο πιεξνθνξίεο). mre [ptins] filenames filenames: Λίζηα νλνκάησλ αξρείσλ ρσξηζκέλα κεηαμύ ηνπο κε θελό. Παξάδεηγκα: mre /etc/prfile /etc/passwd εκθάληζε ηωλ αξρείωλ prfile θαη passwd πνπ βξίζθνληαη θάηω από ηνλ θάθειν etc. less Η εληνιή less εκθαλίδεη ηα πεξηερόκελα ησλ αξρείσλ ζεηξηαθά, κε δηαρσξηζκό κεηαμύ ηνπο θαη κε ζειηδνπνίεζε. Γηα λα εκθαλίζνπκε ην πεξηερόκελν ηνπ επόκελνπ αξρείνπ ρξεζηκνπνηνύκε ηνλ ζπλδπαζκό :n ελώ γηα ην πεξηερόκελν ηνπ πξνεγνύκελνπ αξρείνπ ηνλ ζπλδπαζκό :p. Μπνξνύκε λα πξνρσξήζνπκε κπξνζηά θαη πίζσ κε επηινγέο όπσο space ή f (πξνρσξάεη κπξνζηά ηόζεο γξακκέο όζεο ην κέγεζνο ηεο νζόλεο) θαη b (κεηαθηλείηαη πίζσ ηόζεο γξακκέο όζεο ην κέγεζνο ηεο νζόλεο). Γείηε man less γηα πεξηζζόηεξεο πιεξνθνξίεο. less [ptins] filenames filenames: Λίζηα νλνκάησλ αξρείσλ ρσξηζκέλα κεηαμύ ηνπο κε θελό. Παξάδεηγκα: less /etc/prfile /etc/passwd εκθάληζε ηωλ αξρείωλ prfile θαη passwd πνπ βξίζθνληαη θάηω από ηνλ θάθειν etc. head Η εληνιή head ρξεζηκνπνηείηαη γηα λα εκθαλίζεη ηηο πξώηεο γξακκέο ελόο αξρείνπ. Η head εκθαλίδεη 10 πξώηεο γξακκέο, εθηόο αλ γίλεη ρξήζε ηνπ δηαθόπηε n. Αλ ν αξηζκόο πνπ αθνινπζεί ηνλ δηαθόπηε n είλαη ζεηηθόο ηόηε εκθαλίδεη ηόζεο γξακκέο ηνπ αξρείνπ όζεο θη ν αξηζκόο. Αλ όκσο ν αξηζκόο είλαη αξλεηηθόο ηόηε εκθαλίδεη όιεο ηηο γξακκέο ηνπ αξρείνπ εθηόο από απηόλ ηνλ αξηζκό ησλ ηειεπηαίσλ γξακκώλ ηνπ. head [ptins] filename Παξάδεηγκα 1: head n 30 /etc/passwd Εκθάληζε ηωλ 30 πξώηωλ γξακκώλ ηνπ αξρείνπ passwd. Παξάδεηγκα 2: head n -3 /etc/grup Εκθάληζε όιωλ γξακκώλ ηνπ αξρείνπ grup εθηόο από ηηο 3 ηειεπηαίεο tail Η εληνιή tail ρξεζηκνπνηείηε γηα λα εκθαλίζεη ηηο ηειεπηαίεο γξακκέο ελόο αξρείνπ. Η tail εκθαλίδεη 10 ηειεπηαίεο γξακκέο, εθηόο αλ ρξεζηκνπνηήζεηε ηνλ δηαθόπηε n. Η εληνιή tail ζπρλά ρξεζηκνπνηείηαη γηα λα 7

βιέπνπκε ηηο ηειεπηαίεο εγγξαθέο ελόο αξρείνπ θαηαγξαθήο (lg file). Γηα λα βιέπνπκε ζπλερώο ηηο ηειεπηαίεο εγγξαθέο ελόο αξρείνπ, ρξεζηκνπνηνύκε ηνλ δηαθόπηε f. tail [ptins] filename Παξάδεηγκα 1: tail n 5 /etc/passwd Eκθάληζε ηωλ ηειεπηαίωλ 5 γξακκώλ ηνπ αξρείνπ passwd. Παξάδεηγκα 2: tail n +4 /etc/passwd Εκθάληζε όιωλ ηωλ γξακκώλ ηνπ αξρείνπ passwd από ηελ ηέηαξηε γξακκή θαη κεηά. Παξάδεηγκα 3: tail f /var/lg/messages. πλερήο εκθάληζε ηωλ ηειεπηαίωλ εγγξαθώλ ζην αξρείν messages. find Η εληνιή find ρξεζηκνπνηείηαη γηα ηελ αλεύξεζε αξρείσλ θαη θαηαιόγσλ πνπ ηαηξηάδνπλ κε ην επηζπκεηό όλνκα αξρείνπ ή άιια θξηηήξηα. Η απινύζηεξε δπλαηή ζύληαμε ηεο εληνιήο find ζα δώζεη κία ιίζηα ησλ αξρείσλ πνπ ππάξρνπλ ζε έλα θαηάινγν θαη ζηνπο ππνθαηαιόγνπο ηνπ. find [path...] [expressin] path: Λίζηα από θαθέινπο ρσξηζκέλνπο κε θελό κεηαμύ ηνπο κέζα ζηνπο νπνίνπο γίλεηαη ε αλαδήηεζε. expressin: Παξαζηάζεηο από ptins (επηινγέο), tests θαη actins (ελέξγεηεο) πνπ ζπλδένληαη κεηαμύ ηνπο κε ηειεζηέο. Αλ δελ ππάξρεη θάπνηνο ηειεζηήο ηόηε ελλνείηαη ν ηειεζηήο and. Μεξηθνί ρξήζηκνη δηαθόπηεο ηεο εληνιήο find είλαη νη αθόινπζνη: - name pattern, Bξίζθεη αξρεία θαη θαθέινπο πνπ ην όλνκά ηνπ αθνινπζεί ην pattern. - iname pattern, Βξίζθεη αξρεία θαη θαθέινπο πνπ ην όλνκά ηνπο αθνινπζεί ην pattern. Η αλαδήηεζε αγλνεί ην case (case insensitive). - amin [+n -n n], Βξίζθεη αξρεία ζηα νπνία έγηλε πξόζβαζε πξηλ από πεξηζζόηεξα από n ιεπηά (ιηγόηεξα από n ιεπηά/αθξηβώο πξηλ από n ιεπηά). - atime [+n -n n], Βξίζθεη αξρεία ζηα νπνία έγηλε πξόζβαζε πξηλ από πεξηζζόηεξεο από n εκέξεο (ιηγόηεξεο από n εκέξεο/αθξηβώο πξηλ από n εκέξεο). - mmin [+n -n n], Βξίζθεη αξρεία πνπ ηξνπνπνηήζεθαλ πξηλ από πεξηζζόηεξα από n ιεπηά (ιηγόηεξα από n ιεπηά/αθξηβώο πξηλ από n ιεπηά). - mtime [+n -n n], Βξίζθεη αξρεία πνπ ηξνπνπνηήζεθαλ πξηλ από πεξηζζόηεξεο από n εκέξεο (ιηγόηεξεο από n εκέξεο/αθξηβώο πξηλ από n εκέξεο). 8

- uname [user user ID], Βξίζθεη αξρεία πνπ αλήθνπλ ζην ρξήζηε user ή ζην ρξήζηε κε ην ζπγθεθξηκέλν user ID. - grup [gname grup ID], Βξίζθεη αξρεία πνπ αλήθνπλ ζηελ νκάδα κε ην όλνκα gname ή κε ην ζπγθεθξηκέλν grup ID. - type filetype, Αλαδεηά αξρεία ηνπ ζπγθεθξηκέλνπ ηύπνπ. T filetype κπνξεί λα πάξεη ηηο παξαθάησ ηηκέο: bblck (buffered) special ccharacter (unbuffered) special ddirectry pnamed pipe (FIFO) fregular file lsymblic link sscket - size [+n -n n] [spaceunit], Αλαδεηά αξρεία κεγέζνπο κεγαιύηεξνπ (κηθξόηεξνπ ή ίζνπ) κε ην κέγεζνο πνπ θαζνξίδεη ν ρξήζηεο. Τν spaceunit κπνξεί λα πάξεη κία από ηεο παξαθάησ ηηκέο: c γηα bytes k γηα Kilbytes M γηα Megabytes G γηα Gigabytes Αλαιπηηθόηεξεο πιεξνθνξηέο γηα ηνπο δηαθόπηεο θαη ηηο ρξήζεηο ηεο εληνιήο find ζην manual ηεο εληνιήο (man find). Παξάδεηγκα 1: find ~ -iname Passwd Αλαδήηεζε αξρείωλ θάηω από ην hme directry πνπ ην όλνκά ηνπο είλαη passwd αλεμάξηεηα από ην case (Πρ PASSWD, passwd, PASSwd, PassWd) Παξάδεηγκα 2: find name "*file" xargs cat >> myfile Αλαδήηεζε αξρείωλ θάηω από ηνλ ηξέρνληα θάθειν πνπ ην όλνκά ηνπο θαηαιήγεη ζε file. Εθηύπωζε ηωλ πεξηερνκέλωλ απηώλ ηωλ αξρείωλ θαη απνζήθεπζή ηνπο ζην αξρείν myfile. Παξάδεηγκα 3: find ~ size +10k Αλαδήηεζε αξρείωλ πνπ ην κέγεζόο ηνπο είλαη κεγαιύηεξν από 10Kbytes θαη πνπ βξίζθνληαη θάηω από ην hme directry. Παξάδεηγκα 4: find / -grup Ubuntu Αλαδήηεζε όιωλ ηωλ αξρείωλ θάηω από ην rt πνπ αλήθνπλ ζην grup Ubuntu. Παξάδεηγκα 5: find ~ -type f -size -10c -ctime -5 9

πλδπαζκόο δηαθνπηώλ. Αλαδήηεζε θάηω από ηνλ αξρηθό θάθειν ρξήζηε όιωλ ηωλ αξρείωλ πνπ είλαη ηύπνπ θαλνληθό αξρείν, κε κέγεζνο κηθξόηεξν ή ίζν κε 10 bytes θαη δεκηνπξγήζεθαλ ηηο ηειεπηαίεο 5 εκέξεο. grep Aλαδήηεζε ζπγθεθξηκέλνπ pattern κέζα ζε αξρεία θεηκέλνπ. Η πξνθαζνξηζκέλε ζπκπεξηθνξά ηεο εληνιήο grep είλαη λα ηππώλεη ηηο γξακκέο ηνπ αξρείνπ πνπ πεξηέρνπλ ην pattern. grep [ptins] [pattern] filename Αλ ζηε ζέζε ηνπ pattern ρξεζηκνπνηεζεί ν ραξαθηήξαο. (ηειεία) ηόηε ζεκαίλεη νπνηαδήπνηε ιέμε. Οη ζεκαληηθόηεξνη δηαθόπηεο ηεο grep είλαη νη παξαθάησ: -i--ignre-case, Η αλαδήηεζε γίλεηαη αγλνόληαο ην case Παξάδεηγκα 1: grep -i UBUNTU /etc/passwd Αλαδήηεζε ηεο ιέμεο UBUNTU αγλνώληαο ην case ζην αξρείν passwd. Επηζηξέθεη όιεο ηηο γξακκέο ηνπ αξρείνπ πνπ πεξηέρνπλ ηε ιέμε είηε κε θεθαιαίνπο ραξαθηήξεο, είηε κε πεδνύο, είηε κε ζπλδπαζκό ηνπο. -v--invert-match, Δκθαλίδεη ηηο γξακκέο πνπ δελ πεξηέρνπλ ην pattern Παξάδεηγκα 2: grep -v ubuntu /etc/passwd Αλαδήηεζε ηεο ιέμεο ubuntu ζην αξρείν passwd. Επηζηξέθεη όιεο ηηο γξακκέο ηνπ αξρείνπ πνπ ΔΕΝ πεξηέρνπλ ηε ιέμε. -w--wrd-regexp, Δκθαλίδεη ηεο γξακκέο πνπ πεξηέρνπλ ην pattern σο μερσξηζηή ιέμε Παξάδεηγκα 3: grep -w buntu /etc/passwd Αλαδήηεζε νιόθιεξεο ηεο ιέμεο buntu ζην αξρείν passwd θαη εκθάληζε ηωλ γξακκώλ ηνπ αξρείνπ πνπ ηελ πεξηέρνπλ. -c--cunt, Δκθαλίδεη ηνλ αξηζκό ησλ γξακκώλ πνπ πεξηέρνπλ ην pattern Παξάδεηγκα 4: grep -c ubuntu /etc/passwd Αλαδήηεζε ηεο ιέμεο ubuntu ζην αξρείν passwd. Επηζηξέθεη ΣΟΝ ΑΡΙΘΜΟ ηωλ γξακκώλ ηνπ αξρείνπ πνπ πεξηέρνπλ ηε ιέμε. -l--files-with-matches, Αλαδεηά θαη εκθαλίδεη ηα αξρεία πνπ πεξηέρνπλ ην pattern Παξάδεηγκα 5: grep -l ubuntu /etc/* Αλαδήηεζε ηεο ιέμεο ubuntu ζε όια ηα αξρεία θάηω από ηνλ θάθειν etc. Εκθαλίδεη κόλν ηα νλόκαηα ηωλ αξρείωλ πνπ πεξηέρνπλ ηε ιέμε. Αλ δελ είρε ρξεζηκνπνηεζεί ε επηινγή l ηόηε δίπια από ην όλνκα ηνπ αξρείνπ ζα εκθάληδε θαη ηελ γξακκή πνπ πεξηέρεη ηε ιέμε. split Η split ρσξίδεη έλα αξρείν ζε κηθξόηεξα αλάινγα κε ην κέγεζνο πνπ ζα νξηζηεί. Αλ δελ δνζεί κέγεζνο ηόηε ρσξίδεη ην αξρείν αλά 1000 γξακκέο. 10

Τα λέα αξρεία πνπ δεκηνπξγνύληαη νλνκάδνληαη κε ηε ζεηξά xaa xab xac xad θ.ν.θ split [ptins] [input [prefix]] Παξάδεηγκα 1: split /var/lg/messages Δηάζπαζε ηνπ αξρείνπ messages ζε αξρεία κεγέζνπο 1000 γξακκώλ ην θάζε έλα. Παξάδεηγκα 2: split -l 3 /etc/passwd Δηάζπαζε ηνπ αξρείνπ passwd ζε αξρεία κεγέζνπο 3 γξακκώλ ην θάζε έλα Παξάδεηγκα 3: split /var/lg/messages smessage Δηάζπαζε ηνπ αξρείνπ messages ζε αξρεία κεγέζνπο 1000 γξακκώλ ην θάζε έλα. Σα αξρεία πνπ δεκηνπξγνύληαη έρνπλ νλόκαηα smessageaa, smessageab, smessageac θ.ν.θ. cut Δκθαλίδεη ζπγθεθξηκέλν ηκήκα θάζε γξακκήο από ην αξρείν cut [ptins] [file] Παξάδεηγκα 1: cut -c 4-10 /etc/passwd Εκθαλίδεη από ηνλ 4ν έωο ηνλ 10ν ραξαθηήξα θάζε γξακκήο Παξάδεηγκα 2: cut -d: -f 5 /etc/passwd Εκθαλίδεη ην 5ν πεδίν θάζε γξακκήο. Σα πεδία νξίδνληαη θάζε θνξά πνπ ζπλαληάηαη ν ραξαθηήξαο : srt Ταμηλνκεί ηελ είζνδν αιθαβεηηθά. Η πξνθαζνξηζκέλε ηαμηλόκεζε είλαη αιθαξηζκεηηθή ελώ ππάξρεη δπλαηόηεηα θαη γηα αξηζκεηηθή ηαμηλόκεζε. srt [ptins] [file] -ο: δεκηνπξγείηαη έλα λέν αξρείν κε ηα απνηειέζκαηα ηεο ηαμηλόκεζεο. -n: ρξεζηκνπνηείηαη γηα αξζκεηηθή ηαμηλόκεζε. Παξάδεηγκα 1: srt /etc/passwd Αιθαξηζκεηηθή ηαμηλόκεζε ηνπ αξρείνπ passwd. Παξάδεηγκα 2: srt - passwd2 /etc/passwd Δεκηνπξγεί ην αξρείν passwd2 πνπ πεξηέρεη ηα πεξηερόκελα ηνπ αξρείνπ passwd ηαμηλνκεκέλα αιθαξηζκεηηθά. Παξάδεηγκα 3: cut -d: -f3 /etc/passwd >passwd2 srt -n passwd2 11

Δεκηνπξγία ηνπ αξρείνπ passwd2 πνπ πεξηέρεη ην 3ν πεδίν (ζπάδνληαο θάζε γξακκή κε βάζε ηνλ ραξαθηήξα :) θάζε γξακκήο ηνπ αξρείνπ passwd (ην 3ν πεδίνπ ηνπ ζπγθεθξηκέλνπ αξρείν είλαη έλαο αξηζκόο). Καηόπηλ αξηζκεηηθή ηαμηλόκεζε ηνπ αξρείνπ passwd2. Η εληνιή uniq Απόξξηςε όισλ εθηόο από κίαο ησλ δηαδνρηθά ίδησλ γξακκώλ ηεο εηζόδνπ θαη εκθάληζή ηνπο ζηελ έμνδν. uniq [ptins] [input [utput]] Παξάδεηγκα: cut -d: -f3 /etc/passwd >> passwd2 srt -n passwd2 > spasswd2 uniq spasswd2 uspasswd2 Σν αξρείν passwd2 πνπ δεκηνπξγείηαη πεξίερεη κόλν αξηζκεηηθέο ηηκέο. Σν spasswd2 δεκηνπξγείηαη λα πεξηέρεη ηηο αξηζκεηηθέο ηηκέο ηνπο passwd2 ηαμηλνκεκέλεο αξηζκεηηθά. Με ηελ εληνιή uniq δεκηνπξγείηαη ην αξρείν uspasswd2 πνπ πεξηέρεη ηηο κνλαδηθέο αξηζκεηηθέο ηηκέο ηνπ spasswd2. 12

Σπκπίεζε αξρείσλ Σηα ιεηηνπξγηθά ζπζηήκαηα Unix θαη Linux ρξεζηκνπνηνύληαη δηάθνξεο εθαξκνγέο γηα ζπκπίεζε θαη απνζπκπίεζε ησλ αξρείσλ. Γηα ην ζθνπό απηό ρξεζηκνπνηνπληαη 2 βαζηθέο εληνιέο: gzip θαη cmpress. gzip θαη gunzip Η εληνιή gzip παίξλεη όξηζκα έλα αξρείν ην νπνίν ην ζπκπηέδεη, πξνζζέηεη ζ' απηό ηελ επέθηαζε.gz θαη δηαγξάθεη ην πξσηόηππν αξρείν. Γηα λα απνζπκπηέζνπκε έλα αξρείν, ρξεζηκνπνηνύκε ηελ εληνιή gunzip ή ηελ εληνιή gzip κε ηελ επηινγή -d αιιά πξέπεη ην αξρείν πνπ ζέινπκε λα απνζπκπηέζνπκε λα έρεη ηελ επέθηαζε.gz. Με ηελ επηινγή -S κπνξνύκε λα θαζνξίζνπκε ηελ δηθή καο επέθηαζε θαη κε ηελ επηινγή -l κπνξνύκε λα δνύκε ηα ζπκπηεζκέλα ή απνζπκπηεζκέλα κεγέζε ησλ αξρείσλ θαηά ηε δηάξθεηα ηεο ζπκπίεζεο ή ηεο απνζπκπίεζεο. Με ηελ επηινγή -t κπνξνύκε λα ειέγμνπκε ηελ αθεξαηόηεηα ηνπ ζπκπηεζκέλνπ αξρείνπ. Η εληνιή gunzip κπνξεί λα απνζπκπηέζεη θαη αξρεία πνπ έρνπλ δεκηνπξγεζεί κε ηελ εληνιή cmpress πνπ παξνπζηάδεηαη παξαθάησ. Παξάδεηγκα: $ gzip mydir.tar πκπηέδεη ην αξρείν mydir.tar ζην αξρείν mydir.gz θαη δηαγξάθεη ην mydir.tar. bzip2 θαη bunzip2 Η εληνιή bzip2 παίξλεη όξηζκα έλα αξρείν ην νπνίν ην ζπκπηέδεη, πξνζζέηεη ζ' απηό ηελ επέθηαζε.gz2 θαη δηαγξάθεη ην πξσηόηππν αξρείν. Δπηηπγράλεη ζπλήζσο θαιύηεξα απνηειέζκαηα από ηελ gzip. zip Η εληνιή zip ρξεζηνπνηείηαη ηόζν γηα ηελ ζπκπίεζε όζν θαη γηα ηελ απνζπκπίζε αξρείσλ. Δίλαη ζπκβαηή κε ηελ εθαξκνγή winzip θαη pkzip ησλ Windws. Σε αληίζεζε κε ηηο πξνεγνύκελεο εληνιέο κπνξεί λα ζπκπηέζεη πεξηζζόηεξα από έλα αξρεία. cmpress θαη uncmpress Η εληνιή cmpress παίξλεη όξηζκα έλα αξρείν ην νπνίν ην ζπκπηέδεη, πξνζζέηεη ζ' απηό ηελ επέθηαζε.z θαη δηαγξάθεη ην πξσηόηππν αξρείν. Παξάδεηγκα: $ cmpress mydir.tar πκπηέδεη ην αξρείν mydir.tar ζην αξρείν mydir.z θαη δηαγξάθεη ην mydir.tar. 13

Χξήζε εηδηθώλ ραξαθηήξσλ ζηελ γξακκή εληνιώλ Η γξακκή εληνιώλ ηνπ θινηνύ bash παξέρεη πνιιέο επθνιίεο ζην ρξήζηε. Οη ζεκαληηθόηεξεο από απηέο είλαη: Αληηθαηάζηαζε κεηαραξαθηήξσλ (File glbbing) File glbbing: είλαη ε ιεηηνπξγία αληηθαηάζηαζεο ησλ wildcards (ή κεηαραξαθηήξσλ ή ραξαθηήξσλ-κπαιαληέξ) *, ηαηξηάδεη κε νπνηνδήπνηε πιήζνο ραξαθηήξσλ?, ηαηξηάδεη κε έλα κόλν (νπνηνδήπνηε) ραξαθηήξα [a-z], ηαηξηάδεη κε νπνηνδήπνηε ραξαθηήξα αλήθεη ζε απηό ην εύξνο [^a-z], ηαηξηάδεη κε νπνηνδήπνηε ραξαθηήξα δελ αλήθεη ζε απηό ην εύξνο Η εληνιή ech κπνξεί λα ρξεζηκνπνηεζεί γηα λα ειέγμνπκε αλ ε αληηθαηάζηαζε ησλ κεηαραξαθηήξσλ έγηλε όπσο ζθνπεύακε, πξηλ εθηειέζνπκε κία εληνιή κε κεηαραξαθηήξεο. Τν πιήθηξν Tab Τν πιήθηξν Tab ρξεζηκνπνηείηαη γηα λα ζπκπιεξώζνπκε ην όλνκα εληνιήο ή αξρείνπ (πνπ πξέπεη λα είλαη όξηζκα ζε κία εληνιή) Αγθύιεο {} Οη αγθύιεο { θαη } ρξεζηκνπνηνύληαη γηα λα δεκηνπξγνύκε πξόηππα ζπκβνινζεηξώλ. Γηα ην δηαρσξηζκό ησλ ζπκβνινζεηξώλ ρξεζηκνπνηείηαη ν ραξαθηήξαο θόκκα (,). Αλ ν πξώηνο ραξαθηήξαο είλαη θόκκα, ελλνείηαη ε θελή ζπκβνινζεηξά. H εληνιή ech x{a,b} είλαη ηζνδύλακε κε ηελ ech xa xb. H εληνιή cp file.txt{,-save} είλαη ηζνδύλακε κε ηελ cp file.txt file.txt-save. Απνηειέζκαηα εληνιώλ Μπνξείηε λα ζπκπεξηιάβεηε ηα απνηειέζκαηα ηεο εθηέιεζεο κίαο εληνιήο, ρξεζηκνπνηώληαο ην $( ) ή ηα ``. Οη εληνιέο: ech "This machine is named: $(hstname)" ech "This machine is named: `hstname`" παξάγνπλ ηα ίδηα απνηειέζκαηα. Αξρηθά ζα εθηειεζηεί ε εληνιή hstname θαη ην απνηέιεζκά ηεο ζα αληηθαηαζηαζεί ζηελ εληνιή πνπ δώζακε. 14

Μαζεκαηηθέο πξάμεηο Οξηζκέλεο καζεκαηηθέο πξάμεηο κπνξνύλ λα εθηειεζηνύλ από ην θινηό. Με ρξήζε ηεο εληνιήο expr:, π.ρ. ech Area: `expr $X \* $Y`. Η ρξήζε ηεο expr δελ είλαη βνιηθή γηαηί έρεη απζηεξό ζπληαθηηθό. Με ρξήζε ηεο $[ ]: Οη εληνιέο ech Area: $[$X*$Y] ech Area: $[ $X * $Y ] και ech Area: $[ $X*$Y ] είλαη ηζνδύλακεο, γηαηί ην ζπληαθηηθό είλαη αλεθηηθό. Βαζηθέο πξάμεηο πνπ εθηεινύληαη από ην θινηό θαη νη ηειεζηέο ηνπο: πξόζζεζε (+), αθαίξεζε (-), πνιιαπιαζηαζκόο (*), δηαίξεζε (/), ύςσζε ζε δύλακε (**), ππόινηπν δηαίξεζεο (%). Σηε ζειίδα bash ηνπ man, ηκήκα ARITHMETIC EVALUATIONS, ππάξρεη πιήξεο θαηάινγνο ησλ αξηζκεηηθώλ πξάμεσλ πνπ κπνξεί λα εθηειέζεη ν θινηόο. Αθύξσζε ηεο ζεκαζίαο ησλ εηδηθώλ ραξαθηήξσλ Γηα λα αθπξώζνπκε ηελ ζεκαζία ησλ εηδηθώλ ραξαθηήξσλ θαη λα ηνπο ρεηξηζηνύκε σο ζπλεζηζκέλνπο ραξαθηήξεο πξέπεη λα ελεκεξώζνπκε ην θινηό. Ο ραξαθηήξαο backslash (\) Η εληνιή ech Yur cst: \$5.00 δελ ζα αλαδεηήζεη κεηαβιεηή (αθπξώλεηαη ε εηδηθή ζεκαζία ηνπ ραξαθηήξα $). Έζησ όηη ζέινπκε λα βξνύκε όια ηα αξρεία πνπ βξίζθνληαη ζηνλ ηξέρνληα θαηάινγν θαη ην όλνκά ηνπο μεθηλάεη από file*. Αλ εθηειέζνπκε ηελ εληνιή: find file* ν θινηόο ζα καο επηζηξέςεη όια ηα αξρεία ησλ νπνίσλ ην όλνκα αξρίδεη κε "file". Δκείο όκσο ζέινπκε λα επηζηξαθνύλ κόλν ηα αξρεία ησλ νπνίσλ ην όλνκα αξρίδεη κε "file*". Γηα λα βξνύκε απηό πνπ ςάρλνπκε πξέπεη λα δώζνπκε ηελ εληνιή σο find file\** Μνλά θαη δηπιά εηζαγσγηθά Οξηζκέλεο θνξέο ζέινπκε λα αθπξώζνπκε ηελ εηδηθή ζεκαζία πνιιώλ ραξαθηήξσλ ζηε ζεηξά, π.ρ. ζηελ εληνιή ech \*\*\* SALES \*\*\* 15

είλαη πην βνιηθό (θαη πην ζσζηό) λα ρξεζηκνπνηήζεηε ηα κνλά ή ηα δηπιά εηζαγσγηθά. Τα κνλά εηζαγσγηθά αθπξώλνπλ ηελ εηδηθή ζεκαζία όισλ ησλ ραξαθηήξσλ. Τα δηπιά εηζαγσγηθά αθπξώλνπλ ηελ εηδηθή ζεκαζία όισλ ησλ ραξαθηήξσλ εθηόο από ηνπο $, $(), $[], `, \,!. Σε πνιιέο πεξηπηώζεηο ε ρξήζε κνλώλ ή δηπιώλ εηζαγσγηθώλ παξάγεη ηα ίδηα απνηειέζκαηα. Σπλδπαζκνί πιήθηξσλ γηα ηε γξακκή εληνιώλ <Ctrl+a>, κεηαθίλεζε ζηελ αξρή ηεο γξακκήο <Ctrl+e>, κεηαθίλεζε ζη ηέινο ηεο γξακκήο <Ctrl+u>, δηαγξαθή κέρξη ηελ αξρή ηεο γξακκήο <Ctrl+k>, δηαγξαθή κέρξη ην ηέινο ηεο γξακκήο 16