Κεθάιαην 2. 2 Δηζαγσγή ζηε ρξήζε ηνπ θειύθνπο θαη ζύληαμε εληνιώλ. 2.1 Χξήζε Κειύθνπο - Σεξκαηηθό. Users. Applications. Shells. Kernel.

Σχετικά έγγραφα
ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

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

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

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

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

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

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

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

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

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

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

Constructors and Destructors in C++

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

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

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

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

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

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

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

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

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

Πως να δημιουργήσετε ένα Cross-Over καλώδιο

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

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

Intel Accelerate Your Code

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

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

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

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

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

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

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

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

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

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

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

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

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

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

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

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

ΜΕΛΕΣΗ E.O.K. ΜΕ ΑΙΘΗΣΗΡΑ ΘΕΗ

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

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

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

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

Σύνθεζη ηαλανηώζεων. Έζησ έλα ζώκα πνπ εθηειεί ηαπηόρξνλα δύν αξκνληθέο ηαιαληώζεηο ηεο ίδηαο ζπρλόηεηαο πνπ πεξηγξάθνληαη από ηηο παξαθάησ εμηζώζεηο:

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

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

Επγαστήπιο (28/11/12) «Εισαγωγή στην Πληπουοπική και Ππογπαμματισμόρ Η/Υ»

Κεθάλαιο 1. Ενόηηηα 2 Πλάνο Μάρκεηινγκ. Εξγαιεία Μάξθεηηλγθ. Dr. Andrea Grimm Dr. Astin Malschinger

Άζθεζε 2ε ΤΣΗΜΑΣΑ ΔΛΔΓΥΟΤ ΑΝΟΙΚΣΟΤ ΒΡΟΥΟΤ ΚΑΙ MATLAB

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

Σημειώζεις Οδηγίες για ηη τρήζη ηοσ προγράμμαηος Acronis True Image Home

ΘΔΜΑ 1 ο Μονάδες 5,10,10

Παξάξηεκα Α. Α Ο επεμεξγαζηήο θεηκέλνπ vi

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

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

x x x x tan(2 x) x 2 2x x 1

Εξοικείωση με τοςρ σάπτερ τος Bing

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

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

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

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

ύζηεκα Ωξνκέηξεζεο Πξνζσπηθνύ (Έθδνζε 2) ΤΠΗΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΩΝ ΤΣΗΜΑΣΩΝ

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

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

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

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

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

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

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

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

Αντισταθμιστική ανάλυση

Transcript:

Κεθάιαην 2 2 Δηζαγσγή ζηε ρξήζε ηνπ θειύθνπο θαη ζύληαμε εληνιώλ 2.1 Χξήζε Κειύθνπο - Σεξκαηηθό ην ρήκα 2.1 θαίλεηαη θαη πάιη ε ηεξαξρία ζε έλα ζχζηεκα UNIX. Ξεθηλψληαο απφ θάησ πξνο ηα επάλσ, θαίλεηαη φηη ν ππξήλαο είλαη ην κφλν ζηνηρείν πνπ επηθνηλσλεί κε ην πιηθφ ηνπ ππνινγηζηή. Οη εθαξκνγέο θαη ηα θειχθε επηθνηλσλνχλ κε ηνλ ππξήλα, θαη ηειηθά κφλν κέζσ απηνχ κπνξνχλ λα θάλνπλ ρξήζε ηνπ πιηθνχ. Οη ρξήζηεο ρξεζηκνπνηνχλ εθαξκνγέο νη νπνίεο πξνσζνχλ ηηο ιεηηνπξγίεο ηνπο πξνο ηα θάησ. Σν θέιπθνο είλαη ζηελ πξαγκαηηθφηεηα κηα εθαξκνγή. Ζ κφλε, αιιά πνιχ ζεκαληηθή, ιεηηνπξγία πνπ έρεη είλαη λα πξνσζεί ηηο εληνιέο ησλ ρξεζηψλ πξνο ηνλ ππξήλα. Οη εθαξκνγέο πνπ κπνξνχλ λα ρξεζηκνπνηήζνπλ νη ρξήζηεο κπνξεί λα είλαη είηε γξαθηθέο, δειαδή λα ιεηηνπξγνχλ κέζα απφ γξαθηθφ πεξηβάιινλ (πρ: firefox, chrome, openoffice θηι.), είηε λα εθηεινχληαη κέζα απφ έλα ηεξκαηηθφ. Σν θέιπθνο είλαη κηα εθαξκνγή ρσξίο γξαθηθή δηεπηθάλεηα ρξήζεο θαη εθηειείηαη κέζα ζε έλα ηεξκαηηθφ. Users Shells Applications Kernel Hardware ρήκα 2.1: Ιεξαξρία ζην UNIX. 2.1.1 Σεξκαηηθό Σεξκαηηθφ είλαη κηα ζπζθεπή κε νζφλε θαη πιεθηξνιφγην ε νπνία επηθνηλσλεί (κέζσ κηαο ζεηξηαθήο ζχξαο) κε θάπνηνλ θεληξηθφ ππνινγηζηή. Μέρξη πεξίπνπ ην 1990 νη ρξήζηεο Unix ρξεζηκνπνηνχζαλ ζρεδφλ απνθιεηζηηθά ηέηνηνπ ηχπνπ ηεξκαηηθέο ζπζθεπέο. ε έλαλ θεληξηθφ ππνινγηζηή ήηαλ ζπλδεδεκέλεο 10άδεο ηεξκαηηθά. Σα ηεξκαηηθά δελ είραλ δηθή ηνπο CPU, αιιά ήηαλ κφλν ζπζθεπέο απνηεινχκελεο απφ νζφλε θαη πιεθηξνιφγην (φρη πνληίθη). Ό,ηη πιεθηξνινγνχζε ν ρξήζηεο ζην πιεθηξνιφγην απνζηέιινληαλ κέζσ ηεο ζεηξηαθήο επηθνηλσλίαο ζηνλ θεληξηθφ ππνινγηζηή. Ό,ηη "ηχπσλε" ν θεληξηθφο ππνινγηζηήο κεηαθέξνληαλ κέζσ ηεο ζεηξηαθήο ζην ηεξκαηηθφ θαη ην ηεξκαηηθφ ην εκθάληδε ζηελ νζφλε. ηα ρήκαηα 2.2 θαη 2.3 βιέπνπκε δπν θσηνγξαθίεο δηαδεδνκέλσλ ηεξκαηηθψλ ηεο επνρήο 1980-1990. Πιένλ, πξνθαλψο δελ ππάξρνπλ νη παξαπάλσ ηεξκαηηθέο ζπζθεπέο. Οη ρξήζηεο ρξεζηκνπνηνχλ σο ζηαζκνχο εξγαζίαο εμειηγκέλνπο ππνινγηζηέο νη νπνίνη είλαη ηθαλνί λα ρεηξηζηνχλ γξαθηθά (παξαζπξηθά) πεξηβάιινληα. Τπάξρνπλ, φκσο, παξαζπξηθέο εθαξκνγέο νη νπνίεο πξνζνκνηψλνπλ ηε ιεηηνπξγία ελφο ηεξκαηηθνχ. ηηο εθαξκνγέο πξνζνκνίσζεο ηεξκαηηθνχ, ε βαζηθή ιεηηνπξγία παξακέλεη ε ίδηα κε ηνπ πξαγκαηηθνχ ηεξκαηηθνχ, βέβαηα ππάξρνπλ πιένλ πνιιέο πεξηζζφηεξεο δπλαηφηεηεο. ην ρήκα 2.4 θαίλεηαη κηα ηέηνηα εθαξκνγή ε νπνία νλνκάδεηαη gnome-terminal θαη είλαη ηδηαίηεξα δηαδεδνκέλε. Τπάξρνπλ πνιιέο δηαθνξεηηθέο εθαξκνγέο πξνζνκνίσζεο ηεξκαηηθνχ φπσο νη konsole, rxvt, xfce4-terminal, xterm, putty θαη πνιιέο αθφκε [10]. 37

ρήκα 2.2: Σεξκαηηθό DEC-vt100 (πεγή https://de.wikipedia.org/wiki/vt100). ρήκα 2.3: Σεξκαηηθό DEC-vt420 (πεγή: https://en.wikipedia.org/wiki/vt420). 2.2 Σν θέιπθνο (shell) Μέζα ζε έλα ηεξκαηηθφ εθηειείηαη κηα εθαξκνγή πνπ νλνκάδεηαη θέιπθνο (shell). ηελ πξαγκαηηθφηεηα, πξνθαλψο δελ εθηειείηαη ην θέιπθνο «κέζα» ζην ηεξκαηηθφ, αιιά ην θέιπθνο εθηειείηαη απφ ηνλ ππνινγηζηή. Γίλεηαη, φκσο, ε ξχζκηζε ην ηεξκαηηθφ λα «ζηέιλεη» ηηο εληνιέο πνπ πιεθηξνινγνχκε ζην θέιπθνο, θαη απφ ηελ άιιε ην θέιπθνο λα ηππψλεη δεδνκέλα (κελχκαηα) ζην ηεξκαηηθφ. Δπεηδή φια απηά εκθαλίδνληαη κέζα ζην ηεξκαηηθφ, θαηαρξεζηηθά ιέκε φηη ην θέιπθνο «ζηέιλεη» κέζα ζην ηεξκαηηθφ. Σν θέιπθνο είλαη ππεχζπλν λα δηαβάζεη απφ ην ηεξκαηηθφ απηά πνπ πιεθηξνινγεί ν ρξήζηεο, λα ηα εξκελεχζεη θαη λα ηα εθηειέζεη. Όπσο βιέπνπκε ζηελ ιίζηα πνπ αθνινπζεί, ππάξρνπλ πνιιά δηαθνξεηηθά θειχθε: Οηθνγέλεηα Bourne Shell: Bourne Shell (sh), Bourne-Again Shell (bash), Korn Shell (ksh), MirBSD Korn Shell (mksh), Almquist shell (ash), Z-sh, Οηθνγέλεηα C-shell: C-shell (csh), Tc-shell (tcsh). Δπίζεο, σο θειχθε κπνξνχκε λα ζεσξήζνπκε θαη ηνπο δηεξκελεπηέο εληνιψλ (interpreters) γλσζηψλ γισζζψλ πξνγξακκαηηζκνχ φπσο ηελ python, Ruby θ.ά. Σέινο, ζην Λεηηνπξγηθφ χζηεκα ησλ Windows ππάξρεη ε εθαξκνγή "Command Prompt" (cmd.exe), ε νπνία βέβαηα έρεη ηδηαίηεξα πεξηνξηζκέλεο δπλαηφηεηεο, ζα κπνξνχζακε φκσο λα ηελ νλνκάζνπκε θέιπθνο απφ ηελ άπνςε φηη «δηαβάδεη» ηηο εληνιέο ηνπ ρξήζηε θαη ηηο κεηαθέξεη ζην Λεηηνπξγηθφ γηα εθηέιεζε. Γηα λα θαιχςεη ε Microsoft ηελ έιιεηςε ελφο δπλακηθνχ θειχθνπο ζην ιεηηνπξγηθφ ηεο, αλέπηπμε ην Windows PowerShell 38

ρήκα 2.4: Παξαζπξηθό Σεξκαηηθό. To θάζε θέιπθνο έρεη ηνπο δηθνχο ηνπ θαλφλεο ζχληαμεο ησλ εληνιψλ. Γελ ππάξρνπλ, φκσο, ηδηαίηεξα πνιιέο αζπκβαηφηεηεο. Ζ βαζηθή ιεηηνπξγία ελφο θειχθνπο είλαη ν ρεηξηζκφο ησλ εληνιψλ ησλ ρξεζηψλ. Απηφ γίλεηαη κε ηελ παξαθάησ αθνινπζία ιεηηνπξγηψλ: 1. Δκθάληζε ηεο πξνηξνπήο (prompt). Δίλαη έλδεημε αλακνλήο ηνπ Λ.. γηα ηελ αλακνλή εηζαγσγήο εληνιήο. Ζ πξνηξνπή ζπλήζσο είλαη ν ραξαθηήξαο "$", ή κπνξεί λα πεξηέρεη θαη άιιεο πιεξνθνξίεο φπσο "asidirop@aetos:~$". ην παξάδεηγκα απηφ, ζπκπεξηιακβάλεηαη ζηελ πξνηξνπή ε πιεξνθνξία ηνπ νλφκαηνο ηξέρνληνο ρξήζηε (asidirop), ηνπ νλφκαηνο ηνπ ππνινγηζηή (aetos) θαη ηνπ ηξέρνληνο θαθέινπ εξγαζίαο (~). 2. Λήςε θαη γξακκαηηθή αλάιπζε ηεο ζχληαμεο ηεο εληνιήο, 3. Δθηέιεζε ηεο δηαδηθαζίαο εηζφδνπ θαη κεηαζρεκαηηζκφο ηεο εληνιήο, 4. Αξρηθνπνίεζε ησλ απαηηνχκελσλ ιεηηνπξγηψλ, 5. Αλακνλή γηα νινθιήξσζε ησλ ιεηηνπξγηψλ πνπ είλαη ζε εμέιημε (π.ρ. αλακνλή γηα ηνλ ηεξκαηηζκφ ηνπ πξνγξάκκαηνο πνπ εθηειείηαη, θαζψο φζν εθηειείηαη έλα πξφγξακκα, «δεζκεχεη» ην ηεξκαηηθφ, δειαδή δηαβάδεη απφ ην πιεθηξνιφγην θαη ηππψλεη ζηελ νζφλε ηνπ), 6. Δπαλαθνξά ζην βήκα 1. 2.3 Γηαηύπσζε εληνιώλ Ζ γεληθή ζχληαμε κηαο εληνιήο πνπ αλαγλσξίδεη έλα shell είλαη: Όλνκα_εληνιήο νξίζκαηα Σα νξίζκαηα ρσξίδνληαη απφ ην φλνκα εληνιήο κε έλα ηνπιάρηζηνλ θελφ δηάζηεκα (space). Σα νξίζκαηα κεηαμχ ηνπο ρσξίδνληαη, επίζεο, κε έλα ηνπιάρηζηνλ θελφ δηάζηεκα. Σα νξίζκαηα γηα ηηο εληνιέο είλαη αληίζηνηρα κε ηα νξίζκαηα γηα ηηο ζπλαξηήζεηο (κεζφδνπο), δειαδή δίλνπλ επηπιένλ νδεγίεο ζηελ εληνιή γηα ην πψο ζα ιεηηνπξγήζεη. ε κηα εληνιή κπνξεί λα ππάξρνπλ ππνρξεσηηθά θαη πξναηξεηηθά νξίζκαηα. Δπίζεο, αξθεηέο εληνιέο δέρνληαη δηαθφξσλ ηχπσλ νξίζκαηα ζε ζρέζε κε ηε ρξήζε ηνπο. Έηζη, έρνπκε νξίζκαηα πνπ αληηζηνηρνχλ ζε νλφκαηα αξρείσλ θαη νξίζκαηα πνπ αληηζηνηρνχλ ζε ελεξγνπνίεζε ιεηηνπξγηψλ. Πνιιέο θνξέο ηα ηειεπηαία νλνκάδνληαη ζεκαίεο (flags). 39

2.3.1 Η πξώηε κνπ εληνιή Έζησ ε δηαηχπσζε: cat file1.txt Ζ παξαπάλσ δηαηχπσζε, γηα ην θέιπθνο ζεκαίλεη: Δθηέιεζε ηελ εληνιή cat Γψζε σο φξηζκα ζηελ cat ην φλνκα αξρείνπ file1.txt Ζ ιεηηνπξγία ηεο εληνιήο cat [2] είλαη ε εκθάληζε ησλ πεξηερνκέλσλ ελφο ή πεξηζζφηεξσλ αξρείσλ. Με ην παξαπάλσ ζα εκθαληζηνχλ ζην ηεξκαηηθφ ηα πεξηερφκελα ηνπ αξρείνπ file1.txt. Ζ εληνιή cat έρεη λφεκα λα εθηειείηαη γηα λα εκθαλίζεη αξρεία, ησλ νπνίσλ ην πεξηερφκελν κπνξεί λα εκθαληζηεί κέζα ζε έλα ηεξκαηηθφ, δειαδή κφλν αξρεία απινχ θεηκέλνπ. Σα αξρεία απινχ θεηκέλνπ ζηα windows έρνπλ ηελ θαηάιεμε.txt. ην unix κπνξνχλ λα έρνπλ νπνηαδήπνηε θαηάιεμε (πνιιέο θνξέο θαη θακία θαηάιεμε). Δάλ κε ηελ cat πξνζπαζήζνπκε λα εκθαλίζνπκε έλα αξρείν πνπ δελ είλαη αξρείν θεηκέλνπ, ηφηε ζα εκθαληζηνχλ ζην ηεξκαηηθφ πεξίεξγνη ραξαθηήξεο νη νπνίνη αληηζηνηρνχλ ζε bytes πνπ δελ είλαη αλαγλσξίζηκα ζε θαηάζηαζε θεηκέλνπ. Κάηη αληίζηνηρν ζα βιέπακε αλ αλνίγακε κηα εηθφλα ηχπνπ.png κε ηνλ θεηκελνγξάθν notepad. ρήκα 2.5: Καιή θαη θαθή ρξήζε ηεο cat. 40

ρήκα 2.6: Απνηέιεζκα θαθήο ρξήζεο ηεο cat. ηελ εληνιή cat κπνξνχκε λα δψζνπκε πνιιά νλφκαηα αξρείσλ σο νξίζκαηα. Θα εκθαλίζεη ηα πεξηερφκελα φισλ ησλ αξρείσλ, ην έλα κεηά ην άιιν ρσξίο θάπνην δηαρσξηζηηθφ ελδηάκεζα, φπσο ζην ρήκα 2.7. Error! Not a valid link. ρήκα 2.7: Απνηέιεζκα ηεο cat κε 2 αξρεία σο νξίζκαηα. ηελ εληνιή cat κπνξνχκε λα δψζνπκε θαη νξίζκαηα ηχπνπ «ζεκαίαο» (flag). Γηα παξάδεηγκα ε ζεκαία "-n" έρεη σο απνηέιεζκα λα εκθαλίζεη ε εληνιή θαη αχμνληα αξηζκφ κπξνζηά απφ θάζε γξακκή (Βιέπε ρήκα 2.8). Error! Not a valid link. 2.3.2 Η εληνιή man ρήκα 2.8: Απνηέιεζκα ηεο cat κε 2 αξρεία σο νξίζκαηα θαη ε ζεκαία "-n". Έλαο ρξήζηεο δελ είλαη δπλαηφ λα ζπκάηαη φια ηα δπλαηά νξίζκαηα γηα φιεο ηηο εληνιέο. πλήζσο ζπκφκαζηε κφλν απηά πνπ ρξεζηκνπνηνχκε πνιχ ζπρλά. Θα πξέπεη, ινηπφλ, ν ρξήζηεο λα κπνξεί λα βξίζθεη εχθνια ηα νξίζκαηα πνπ κπνξεί λα δερζεί κηα εληνιή. Απηφ γίλεηαη ρξεζηκνπνηψληαο ην εγρεηξίδην ρξήζεο (manual page) ηεο εληνιήο. Σν εγρεηξίδην ρξήζεο εκθαλίδεηαη ρξεζηκνπνηψληαο ηελ εληνιή man. Ζ εληνιή man [8] δέρεηαη σο φξηζκα ην φλνκα κηαο εληνιήο θαη καο εκθαλίδεη ην εγρεηξίδην ρξήζεο γηα ηελ εληνιή. Γηα παξάδεηγκα ε εληνιή: man cat ζα εκθαλίζεη ην εγρεηξίδην ρξήζεο ηεο εληνιήο cat φπσο ζην ρήκα 2.9. ην ζρήκα, δηαθξίλνληαη ηα ζηνηρεία κε ηίηιν "NAME", "SYNOPSIS" θαη "DESCRIPTION". 41

ρήκα 2.9: Σν εγρεηξίδην ρξήζεο ηεο εληνιήο cat. Σα ζπλήζε ηκήκαηα ελφο εγρεηξηδίνπ ρξήζεο είλαη ηα: ΝΑΜΔ: φλνκα θαη ζχληνκε πεξηγξαθή ηεο εληνιήο, SYNOPSIS: ε ζχληαμε ηεο εληνιήο, DESCRIPTION: αλαιπηηθά ηα νξίζκαηα πνπ κπνξεί λα δερζεί ε εληνιή, EXAMPLES: κεξηθά ζχληνκα παξαδείγκαηα, AUTHOR: Οη δεκηνπξγνί ηεο εληνιήο θαη ηνπ εγρεηξηδίνπ ρξήζεο, COPYRIGHT: κε βάζε πνηεο άδεηεο ρξήζεο κπνξεί λα ρξεζηκνπνηεζεί ε εληνιή, SEE ALSO: άιια εγρεηξίδηα ζηα νπνία κπνξνχλ λα βξεζνχλ ζρεηηθέο πιεξνθνξίεο. Ζ ζεηξά ησλ παξαπάλσ, δειψλεη θαη ηελ ζπνπδαηφηεηά ηνπο. Ζ πεξηγξαθή ηνπ ηη θάλεη ε εληνιή είλαη ην πιένλ ζεκαληηθφ ζηνηρείν θαη αθνινπζεί ε ζχληαμε ηεο εληνιήο πνπ πεξηγξάθεηαη ζην ηκήκα "SYNOPSIS". ε απηφ ην ηκήκα γηα ηελ εληνιή cat βιέπνπκε ηελ πιεξνθνξία: cat [OPTION]... [FILE]... Δδψ πξέπεη λα εμεγήζνπκε ηα ζχκβνια πνπ εκθαλίδνληαη ζηε ζχληαμε: OPTION: καο δίλεη ηελ πιεξνθνξία φηη ζε απηφ ην ζεκείν πξέπεη λα κπνπλ ηα νξίζκαηα ηχπνπ "ζεκαίαο" ("options" ή "flags"). [] : δειψλνπλ πξναηξεηηθφ φξηζκα (δειαδή ηα [OPTIONS] ζηελ πξνεγνχκελε πεξίπησζε είλαη πξναηξεηηθά.... : δειψλνπλ φηη κπνξνχκε λα δψζνπκε πνιιά νξίζκαηα ηνπ πξνεγνχκελνπ ηχπνπ. [FILE]... : ζε απηφ ην ζεκείν κπνξνχκε λα δψζνπκε νλφκαηα αξρείσλ. ηε ζπγθεθξηκέλε πεξίπησζε πνιιά ή θαη θαλέλα εθφζνλ είλαη πξναηξεηηθφ φξηζκα. Υξεζηκνπνηψληαο ηηο παξαπάλσ πιεξνθνξίεο θαη βιέπνληαο ζην ηκήκα "DESCRIPTION" πνηεο είλαη νη δπλαηέο ζεκαίεο θαη ηη ζεκαίλεη ε θαζεκία, απνθηνχκε ζπλνιηθή εηθφλα γηα ηε ρξήζε ηεο εληνιήο. Έηζη γηα παξάδεηγκα ε εθηέιεζε ηεο cat κε ηα παξαθάησ νξίζκαηα: 42

cat -n -E file1.txt file2.txt εκαίλεη: "OPTIONS": έρνπκε δψζεη δπν ζεκαίεο, ηηο -n -E σο 1ν θαη 2ν φξηζκα. "FILES": έρνπκε δψζεη δπν αξρεία (file1.txt θαη file2.txt) σο 3ν θαη 4ν φξηζκα. To -n δίλεη ηελ νδεγία ζηελ εληνιή λα εκθαλίζεη έλαλ αχμνληα αξηζκφ ζηελ αξρή θάζε γξακκήο (ζχκθσλα κε ην εγρεηξίδην ρξήζεο). To -Δ δίλεη ηελ νδεγία ζηελ εληνιή λα εκθαλίζεη ην $ ζην ηέινο θάζε γξακκήο (ζχκθσλα κε ην εγρεηξίδην ρξήζεο). 2.3.3 Γηαθνξνπνίεζε εκαηώλ θαη Αξρείσλ Πψο, φκσο, δηαρσξίδεη ε εληνιή cat (θαη νη ππφινηπεο εληνιέο πνπ δέρνληαη παξφκνηνπο ηχπνπο νξηζκάησλ) ζε πνην ζεκείν ηειεηψλνπλ ηα νξίζκαηα ηχπνπ ζεκαίαο θαη ζε πνην ζεκείν μεθηλνχλ ηα νξίζκαηα πνπ εθθξάδνπλ νλφκαηα αξρείσλ, δεδνκέλνπ φηη δελ ππάξρεη θάπνην δηαρσξηζηηθφ ζχκβνιν κεηαμχ ηνπο, θαη δεδνκέλνπ φηη φια ηα νξίζκαηα είλαη πξναηξεηηθά; Μήπσο ζα κπνξνχζαλ λα κελ ππάξρνπλ θαλ νξίζκαηα ηχπνπ εκαίαο; Ζ απάληεζε ζην πξνεγνχκελν εξψηεκα είλαη φηη ν δηαρσξηζκφο ησλ ηχπσλ ησλ νξηζκάησλ γίλεηαη κε βάζε ην αλ ππάξρεη ε παχια (-) ζηελ αξρή ηνπ νξίζκαηνο. Μάιηζηα ζε θάπνηεο πεξηπηψζεηο κπνξεί λα ππάξρεη δηπιή παχια (--). πλεπψο, ε εληνιή "cat" δηαρσξίδεη ην "-Δ" θαη "θαηαιαβαίλεη" φηη δελ εθθξάδεη φλνκα αξρείνπ, εμαηηίαο ηεο παχιαο κε ηελ νπνία μεθηλάεη ε ζπκβνινζεηξά (string) πνπ αληηζηνηρεί ζην φξηζκα. Όηαλ ηα νξίζκαηα ηχπνπ ζεκαίαο εθθξάδνληαη κε έλα γξάκκα ην θαζέλα, ζπλήζσο νη εληνιέο επηηξέπνπλ ηελ ζχκπηπμε ηνπο ζε έλα φξηζκα. Έηζη ην: cat -n -E file1.txt file2.txt είλαη ηζνδχλακν σο πξνο ην απνηέιεζκα κε ην: cat -ne file1.txt file2.txt Παξφηη νη δπν παξαπάλσ εληνιέο είλαη ηζνδχλακεο γηα ην απνηέιεζκα, ζηελ πξψηε πεξίπησζε έρνπκε δψζεη ηέζζεξα νξίζκαηα ζηελ εληνιή, ηα δπν εθ ησλ νπνίσλ είλαη ζεκαίεο. ηε δεχηεξε πεξίπησζε έρνπκε δψζεη ηξία νξίζκαηα ζηελ εληνιή. Μφλν ην πξψην απφ απηά (-ne) εθθξάδεη ζεκαία θαη κάιηζηα αληηζηνηρεί ζε δπν ζεκαίεο. Σν αλ ππάξρεη απηή ε δπλαηφηεηα γηα ζχκπηπμε είλαη ζέκα ηεο θάζε εληνιήο θαη φρη ηνπ θειχθνπο ή ηνπ ιεηηνπξγηθνχ ζπζηήκαηνο. Τπάξρνπλ αξθεηέο εληνιέο πνπ δελ επηηξέπνπλ ζχκπηπμε ζηα νξίζκαηά ηνπο. Ζ εληνιή ls [5] εκθαλίδεη ηα πεξηερφκελα (αξρεία θαη ππνθαηαιφγνπο) ηνπ θαηαιφγνπ ζηνλ νπνίν βξηζθφκαζηε (ζην επφκελν θεθάιαην ζα δνχκε πεξηζζφηεξεο ιεπηνκέξεηεο γηα απηφ). Μπνξείηε λα δείηε ην εγρεηξίδην ρξήζεο ηεο εληνιήο ls. Έλα παξάδεηγκα εθηέιεζεο ηεο εληνιήο είλαη: ls -l -a /tmp ην παξαπάλσ έρνπκε δψζεη ηξία νξίζκαηα ζηελ εληνιή. Σν πξψην είλαη ην -l θαη είλαη ηχπνπ ζεκαίαο. Σν δεχηεξν είλαη ην -a θαη είλαη θαη απηφ ηχπνπ ζεκαίαο θαη ην ηξίην είλαη ην /tmp ην νπνίν εθθξάδεη ηνλ θάθειν ηνπ νπνίνπ ηα πεξηερφκελα ζα καο εκθαλίζεη ε εληνιή. Όηαλ ηα νξίζκαηα είλαη ηχπνπ 43

ζεκαίαο θαη ζεκαηνδνηνχληαη κε έλαλ κφλν ραξαθηήξα (πρ. a, l θηι.), ηφηε νη πεξηζζφηεξεο εληνιέο ππνζηεξίδνπλ ηελ ζχκπηπμή ηνπο. Έηζη ε πξνεγνχκελε εληνιή είλαη ηζνδχλακε κε ηελ: ls -la /tmp Οη δπν πξνεγνχκελεο εληνιέο είλαη ηζνδχλακεο σο πξνο ην απνηέιεζκα. Όκσο ζηελ πξψηε πεξίπησζε έρνπκε δψζεη ζηελ εληνιή ηξία νξίζκαηα, εθ ησλ νπνίσλ ηα δπν πξψηα είλαη ηχπνπ ζεκαίαο. ηε δεχηεξε πεξίπησζε έρνπκε δψζεη ζηελ εληνιή δπν νξίζκαηα. Μφλν ην πξψην είλαη ηχπνπ ζεκαίαο, αιιά εθθξάδεη δπν ζεκαίεο, δειαδή δπν νδεγίεο πξνο ηελ εληνιή. Δπίζεο, νη πεξηζζφηεξεο εληνιέο ππνζηεξίδνπλ νξίζκαηα ηχπνπ ζεκαίαο, ηα νπνία εθθξάδνληαη φρη κφλν κε έλαλ ραξαθηήξα, αιιά κε νιφθιεξεο ιέμεηο. Αο δνχκε έλα απφζπαζκα απφ ην εγρεηξίδην ρξήζεο ηεο εληνιήο ls: -a, --all do not ignore entries starting with. -A, --almost-all do not list implied. and.. --author with -l, print the author of each file -b, --escape print C-style escapes for nongraphic characters --block-size=size scale sizes by SIZE before printing them. E.g., `--block-size=m' prints sizes in units of 1,048,576 bytes. See SIZE format below.... -r, --reverse reverse order while sorting... ην παξαπάλσ βιέπνπκε φηη ππάξρεη ην φξηζκα --author, ην νπνίν νδεγεί ηελ εληνιή λα εκθαλίζεη γηα θάζε αξρείν ην φλνκα ηνπ ζπγγξαθέα. Δπίζεο, ππάξρεη ην φξηζκα --all ην νπνίν δίλεη ηελ νδεγία γηα εκθάληζε θαη ησλ θξπθψλ αξρείσλ. Σν --all είλαη ηζνδχλακν κε ην -a. ηελ πξαγκαηηθφηεηα ην -a είλαη ζπληφκεπζε ηνπ --all. Ζ ζπληφκεπζε απηή ππάξρεη επεηδή πξφθεηηαη γηα έλα πνιχ ζπρλφ φξηζκα. Απφ ηελ άιιε, γηα ην --author δελ ππάξρεη θάπνηα ζπληφκεπζε, επεηδή δελ ρξεζηκνπνηείηαη πνιχ ζπρλά. ls -ra ls -r -a ls --all --reverse ls -a -r ls --all -r ls --reverse --all Οη παξαπάλσ ρξήζεηο ηεο εληνιήο ls είλαη απνιχησο ηζνδχλακεο σο πξνο ην απνηέιεζκα. Δδψ αμίδεη λα επηζεκάλνπκε πσο ζπλήζσο ηα νξίζκαηα ηχπνπ ζεκαίαο, φηαλ αθνινπζνχλ κηα παχια, ηφηε είλαη 44

ζπληνκεχζεηο θαη ε εληνιή εξκελεχεη ηνλ θάζε ραξαθηήξα μερσξηζηά. Όηαλ ππάξρνπλ δπν παχιεο, ηφηε εξκελεχνληαη σο κηα ιέμε. 2.3.4 Πηζαλά ζθάικαηα θαηά ηε δηαηύπσζε εληνιώλ Καηά ηελ πιεθηξνιφγεζε εληνιψλ, είλαη πνιχ πηζαλφ λα θάλνπκε θάπνηα ζθάικαηα. Σν ζπρλφηεξν ζθάικα είλαη ε απνπζία ηνπ θελνχ δηαζηήκαηνο (space) αλάκεζα ζηελ εληνιή θαη ηα νξίζκαηα ή κεηαμχ ησλ νξηζκάησλ. asidirop@dellpc:~/tmp/unix$ ls-l ls-l: command not found asidirop@dellpc:~/tmp/unix$ ls-l -a ls-l: command not found asidirop@dellpc:~/tmp/unix$ ls -l-a ls: invalid option -- '-' Try `ls --help' for more information. asidirop@dellpc:~/tmp/unix$ Καηά ηελ εθηέιεζε ησλ παξαπάλσ εληνιψλ εκθαλίδνληαη κελχκαηα ζθαικάησλ. ηελ πξψηε πεξίπησζε, πιεθηξνινγήζακε θνιιεηά, δειαδή ρσξίο θελφ δηάζηεκα, ην φλνκα ηεο εληνιήο κε ην πξψην φξηζκα. Σν θέιπθνο πνπ εξκελεχεη ηελ εληνιή δελ κπνξεί λα αληηιεθζεί πνπ ηειεηψλεη ην φλνκα ηεο εληνιήο θαη πνπ μεθηλνχλ ηα νξίζκαηα ιφγσ ηεο απνπζίαο θελνχ δηαζηήκαηνο, πνπ ιεηηνπξγεί σο δηαρσξηζηήο (ελαιιαθηηθά θαη πνιιά θελά δηαζηήκαηα). Έηζη, πξνζπαζεί λα βξεη θαη λα εθηειέζεη ηελ εληνιή ls-l. Γελ κπνξεί φκσο λα βξεη κηα ηέηνηα εληνιή, θαη εκθαλίδεη ην κήλπκα φηη ε εληνιή ls-l δελ κπνξεί λα βξεζεί. Αθξηβψο ην ίδην ζθάικα ππάξρεη θαη ζηε δεχηεξε εληνιή. Σν θέιπθνο αληηιακβάλεηαη φηη πξνζπαζνχκε λα εθηειέζνπκε ηελ εληνιή κε φλνκα "ls-l" θαη λα ηεο δψζνπκε έλα φξηζκα, ην "-a". Πξνθαλψο, ζα καο εκθαληζηεί ην ίδην αθξηβψο κήλπκα ζθάικαηνο. ηελ ηξίηε πεξίπησζε ην ιάζνο είλαη φηη δελ έρνπκε βάιεη θελφ δηάζηεκα κεηαμχ ησλ νξηζκάησλ. Έηζη ην θέιπθνο αλαγλσξίδεη ζσζηά σο φλνκα εληνιήο ην "ls". Όκσο δίλεη ζηελ εληνιή έλα φξηζκα ην νπνίν είλαη ην "-l-a". Σν κήλπκα ζθάικαηνο ην εκθαλίδεη ε ίδηα ε εληνιή. Ζ εληνιή έρεη ιάβεη ηελ πιεξνθνξία φηη ηεο δφζεθε έλα κφλν φξηζκα ην νπνίν αληηζηνηρεί ζηε ζπκβνινζεηξά "-l-a". Ζ εληνιή πξνζπαζψληαο λα εξκελεχζεη ην φξηζκα πνπ δέρζεθε, ειέγρεη ηελ αξρή ηεο ζπκβνινζεηξάο θαη αλαγλσξίδεη φηη μεθηλά κε κηα παχια. Άξα ν θαζέλαο απφ ηνπο ραξαθηήξεο πνπ αθνινπζνχλ ζα πξέπεη λα αληηζηνηρεί ζε κηα νδεγία. πάεη ινηπφλ ηελ ζπκβνινζεηξά πνπ αθνινπζεί ζηνπο ραξαθηήξεο "l", "-", "a" θαη πξνζπαζεί λα εξκελεχζεη ηνλ θαζέλαλ ραξαθηήξα απφ απηνχο σο νδεγία. Γηα ηα "l" θαη "a" βξίζθεη ζε πνηα νδεγία αληηζηνηρνχλ. Όρη φκσο γηα ην "-", ην νπνίν απφ κφλν ηνπ δελ αληηζηνηρεί ζε θακία. Έηζη ην κήλπκα ζθάικαηνο ηεο εληνιήο είλαη φηη δελ επηηξέπεηαη ε επηινγή "-". Δδψ, αμίδεη λα αλαθέξνπκε θαη ηελ εμήο ηδηάδνπζα πεξίπησζε. Έζησ φηη ππάξρεη έλα αξρείν, ηνπ νπνίνπ ην φλνκα μεθηλάεη κε ην ραξαθηήξα "-". Αο ζεσξήζνπκε φηη ην αξρείν νλνκάδεηαη "-file1.txt". Θέινπκε λα ρξεζηκνπνηήζνπκε ηελ εληνιή cat, γηα λα δνχκε ηα πεξηερφκελά ηνπ. Δθφζνλ ζηελ cat δίλνπκε σο φξηζκα ην φλνκα ηνπ αξρείνπ πξνο εκθάληζε, ε παξαθάησ εληνιή ζα πεξηκέλακε λα εθηειεζηεί ζσζηά: asidirop@dellpc:~/tmp/unix$ cat -file1.txt cat: invalid option -- 'f' Try `cat --help' for more information. Όκσο βιέπνπκε φηη ε εληνιή cat εκθαλίδεη ην κήλπκα ζθάικαηνο: «δελ επηηξέπεηαη ε ξχζκηζε 'f'». Απηφ πξνθχπηεη απφ ην γεγνλφο, φηη ην φξηζκα μεθηλά κε ηνλ ραξαθηήξα "-". Έηζη, ε εληνιή cat δελ κπνξεί λα θαηαιάβεη φηη πξφθεηηαη γηα φλνκα αξρείνπ, αιιά ζεσξεί φηη πξφθεηηαη γηα φξηζκα ηχπνπ ζεκαίαο. Δπεηδή 45

ην φξηζκα μεθηλάεη κε κηα παχια, ρσξίδεη ηελ ππφινηπε ζπκβνινζεηξά ζε ραξαθηήξεο "f", "i", "l", "e", "1", ".", "t", "x", "t". Σνλ θαζέλαλ απφ ηνπο ραξαθηήξεο απηνχο πξνζπαζεί λα ηνλ εξκελεχζεη σο νδεγία-ξχζκηζε. Δπεηδή φκσο δελ ππάξρεη ξχζκηζε πνπ λα αληηζηνηρεί ζην ραξαθηήξα "f", εκθαλίδεηαη ην αλάινγν ζθάικα. Αληίζηνηρε πεξίπησζε ζα είρακε αλ ην φλνκα ηνπ αξρείνπ πνπ ζέινπκε λα εκθαλίζνπκε άξρηδε κε δπν παχιεο, γηα παξάδεηγκα "--file2.txt". asidirop@dellpc:~/tmp/unix$ cat --file2.txt cat: unrecognized option '--file2.txt' Try `cat --help' for more information. ε απηήλ ηελ πεξίπησζε, ε εληνιή cat δηαπηζηψλεη φηη ην φξηζκα πνπ δέρζεθε αξρίδεη κε δπν παχιεο, άξα ζεσξεί φηη πξφθεηηαη γηα ξχζκηζε πνπ εθθξάδεηαη κε κηα ιέμε. Έηζη, εκθαλίδεηαη θαη πάιη ην αληίζηνηρν κήλπκα ζθάικαηνο. Πψο ζα κπνξνχζακε λα ρεηξηζηνχκε ζσζηά ηηο παξαπάλσ πεξηπηψζεηο; Ζ απάληεζε είλαη: δηαηππψλνληαο ην φλνκα ηνπ αξρείνπ κε ηέηνηνλ ηξφπν ψζηε λα κελ αξρίδεη κε "-". Έηζη, κπνξνχκε λα ρξεζηκνπνηήζνπκε ηε Γηαδξνκή (Path) πξνο ην αξρείν φπσο παξαθάησ. Γηα ηηο δηαδξνκέο φκσο ζα κηιήζνπκε ζην επφκελν θεθάιαην. asidirop@dellpc:~/tmp/unix$ cat./-file1.txt Απηά είλαη ηα πεξηερόκελα ηνπ αξρείνπ -file1.txt asidirop@dellpc:~/tmp/unix$ cat./--file2.txt Απηά είλαη ηα πεξηερόκελα ηνπ αξρείνπ --file2.txt asidirop@dellpc:~/tmp/unix$ 2.3.5 Γηαρσξηζκόο εληνιώλ Όπσο έρεη γίλεη αληηιεπηφ, νη εληνιέο ρσξίδνληαη κεηαμχ ηνπο κε ηελ αιιαγή γξακκήο. Όηαλ παηάκε ην πιήθηξν "Enter", ην θέιπθνο εξκελεχεη νηηδήπνηε έρεη πιεθηξνινγεζεί ζηε γξακκή θαη ην εθηειεί. Μπνξνχκε, φκσο, ζε κηα γξακκή λα πιεθηξνινγήζνπκε πνιιέο εληνιέο. Οη εληνιέο κεηαμχ ηνπο κπνξνχλ λα δηαρσξίδνληαη κε ηνλ ραξαθηήξα ";", φπσο ζπκβαίλεη ζηηο πεξηζζφηεξεο γιψζζεο πξνγξακκαηηζκνχ. Error! Not a valid link. ρήκα 2.10: Δθηέιεζε δπν εληνιώλ ζε κηα γξακκή εληνιήο. ην ρήκα 2.10 βιέπνπκε έλα παξάδεηγκα, φπνπ ζε κηα γξακκή έρνπλ δηαηππσζεί δπν εληνιέο. Γηαρσξηζηήο είλαη ην ειιεληθφ εξσηεκαηηθφ (;). Πξηλ θαη κεηά ην εξσηεκαηηθφ κπνξνχλ λα ππάξρνπλ θελά δηαζηήκαηα ή φρη. Σν θελφ δηάζηεκα δελ παίδεη ξφιν ζε απηήλ ηελ πεξίπησζε, δηφηη έηζη θη αιιηψο ην θέιπθνο εξκελεχεη ην εξσηεκαηηθφ κε κεγαιχηεξε πξνηεξαηφηεηα απφ ηνπο ππφινηπνπο εηδηθνχο ραξαθηήξεο φπσο ην θελφ δηάζηεκα. Σν θέιπθνο, αθνχ θάλεη ηελ ζπληαθηηθή αλάιπζε ηεο γξακκήο εληνιήο, αλαγλσξίδεη φηη πξφθεηηαη γηα δπν εληνιέο. Πξψηα ζα εθηειέζεη ηελ πξψηε, θαη αθνχ νινθιεξσζεί ε εθηέιεζή ηεο, ζα εθηειέζεη ηε δεχηεξε. ην ηεξκαηηθφ ζα εκθαληζηεί πξψηα ε έμνδνο ηεο πξψηεο εληνιήο, θαη κεηά, ρσξίο λα ππάξρεη θάπνην δηαρσξηζηηθφ, ζα εκθαληζηεί ε έμνδνο ηεο δεχηεξεο εληνιήο. Δπνκέλσο, κε ηνλ ίδην ηξφπν, ζε κηα γξακκή κπνξνχλ λα ζπλδπαζηνχλ πεξηζζφηεξεο απφ δπν εληνιέο. 46

2.3.6 Αθύξσζε εληνιήο Καηά ηε δηάξθεηα πιεθηξνιφγεζεο κηαο καθξνζθεινχο εληνιήο, θαη εθφζνλ επηζπκνχκε ηελ αθχξσζε ηεο πιεθηξνιφγεζεο κπνξνχκε λα παηήζνπκε ηνλ ζπλδπαζκφ πιήθηξσλ Control-C. Σν πιήθηξν Control, ζην UNIX ζπλήζσο ζπκβνιίδεηαη κε ηνλ ραξαθηήξα "^". Έηζη, ην Control-C ζπκβνιίδεηαη σο "^C". Ζ επηινγή ηνπ πιήθηξνπ "C" γηα ηελ αθχξσζε πξνθχπηεη απφ ηε ιέμε "Cancel". Μεηά απφ ην πάηεκα απηνχ ηνπ ζπλδπαζκνχ, ην θέιπθνο εκθαλίδεη ζηελ επφκελε γξακκή ηελ πξνηξνπή (prompt) θαη είλαη έηνηκν λα δερζεί ηελ επφκελε εληνιή (ρήκα 2.11). Απηφο ν ζπλδπαζκφο πιήθηξσλ ρξεζηκνπνηείηαη αληί λα δηαγξάςνπκε φιε ηε γξακκή πνπ έρνπκε πιεθηξνινγήζεη ρξεζηκνπνηψληαο ην πιήθηξν "Backspace". ρήκα 2.11: Αθύξσζε εληνιήο. 2.4 Αζθήζεηο γηα εμάζθεζε ηόρνο Δμνηθείσζε κε ηα ζπζηήκαηα Unix/Linux ηνπ ηκήκαηνο. Δμνηθείσζε κε ηελ γξακκή εληνιψλ. Άζθεζε 1 1. Υξεζηκνπνηείζηε έλα ζχζηεκα κε Linux. Δάλ είζηε ρξήζηεο ησλ εξγαζηεξίσλ ηνπ ηκήκαηνο Μεραληθψλ Πιεξνθνξηθήο ηνπ ΑΣΔΗ Θεζ/λίθεο, επηιέμηε θαηά ηελ εθθίλεζε ηνπ ππνινγηζηή (boot) ηελ επηινγή "Debian Linux". 2. Δκθαλίδεηαη ε αξρηθή νζφλε εηζφδνπ φπνπ δεηείηαη ην φλνκα ρξήζηε θαη ν θσδηθφο εηζφδνπ (username/password). Δλεκεξσζείηε απφ ηνλ θαζεγεηή ζαο πνηα πξέπεη λα ρξεζηκνπνηήζεηε. Login νλνκάδεηαη ε δηαδηθαζία εηζόδνπ ζην ζύζηεκα (ηαπηνπνίεζε ρξήζηε) θαη logout νλνκάδεηαη ε δηαδηθαζία εμόδνπ (απνζύλδεζεο) 3. Δληνπίζηε ηελ εθαξκνγή "Terminal" ή "Konsole" θαη θάληε θιηθ. Δθηειείηαη κηα εθαξκνγή ε νπνία πξνζνκνηψλεη έλα ηεξκαηηθφ. Μέζα ζην ηεξκαηηθφ εθηειείηαη έλα θέιπθνο (shell). Σν θέιπθνο είλαη ππεχζπλν λα αλαγλσξίζεη ηηο εληνιέο καο θαη λα ηηο πξνσζήζεη ζηνλ ππξήλα γηα εθηέιεζε. 4. Γνθηκάζηε λα εθηειέζεηε ηηο παξαθάησ εληνιέο [7, 3, 11, 4]: 47

whoami date cal cal 2016 echo "Hello world" whoami; date 5. Ο ηξφπνο πνπ εξκελεχνληαη νη εληνιέο εμαξηάηαη απφ ην θέιπθνο πνπ ρξεζηκνπνηνχκε θαη φρη απφ ην πξφγξακκα πξνζνκνίσζεο ηεξκαηηθνχ. Πιένλ επξέσο δηαδεδνκέλν θέιπθνο, πνπ ρξεζηκνπνηείηαη ζπρλά, είλαη ην "bash". ην παξφλ ζα ρξεζηκνπνηήζνπκε ην bash θαη ηνλ πξφγνλφ ηνπ ην sh. 6. Παηήζηε Ctrl-Alt-F1. Δκθαλίδεηαη κπξνζηά ζαο έλα άιιν ηεξκαηηθφ (θνλζφια). Tελ ίδηα εηθφλα ζα βιέπαηε ζε θάπνην ζχζηεκα ζην νπνίν δελ ππάξρεη εγθαηεζηεκέλν παξαζπξηθφ πεξηβάιινλ. αο δεηείηαη πάιη φλνκα ρξήζηε θαη θσδηθφο. Όηαλ πιεθηξνινγνύκε θσδηθό πξόζβαζεο ζε θάπνην πξόγξακκα (π.ρ. ζε κηα ηζηνζειίδα κέζσ ελόο browser), δελ εκθαλίδνληαη νη ραξαθηήξεο πνπ πιεθηξνινγνύκε θαη αληί απηώλ ζπλήζσο εκθαλίδνληαη αζηεξάθηα (*). Όηαλ πιεθηξνινγνύκε θσδηθό πξόζβαζεο ζε θάπνην ηεξκαηηθό ή θνλζόια, δελ εκθαλίδεηαη απνιύησο θαλέλαο ραξαθηήξαο (νύηε αζηεξάθηα), όκσο ην ζύζηεκα αλαγλσξίδεη ηα πιήθηξα πνπ πιεθηξνινγνύληαη. Σν ηέινο εηζαγσγήο ηνπ θσδηθνύ ζεκαηνδνηείηαη κε ην πάηεκα ηνπ Enter. 7. Δθηειέζηε αθξηβψο ηηο ίδηεο εληνιέο κε ηηο παξαπάλσ. Σα απνηειέζκαηα είλαη αθξηβψο ηα ίδηα, κφλν πνπ δελ βξηζθφκαζηε ζε παξαζπξηθφ πεξηβάιινλ. 8. Παηήζηε Ctrl-Alt-F2. Μηα λέα θνλζφια εκθαλίδεηαη, φπνπ πάιη πξέπεη λα δψζεηε φλνκα ρξήζηε θαη θσδηθφ. Πιεθηξνινγήζηε ηα ζσζηά. Γψζηε κηα εληνιή απφ ηηο πξνεγνχκελεο θαη ζηε ζπλέρεηα ηελ εληνιή "logout". 9. Παηήζηε Ctrl-Alt-F1. Δπηζηξέςαηε ζηελ πξνεγνχκελε θνλζφια. Πιεθηξνινγήζηε ηελ εληνιή "exit". 10. Γνθηκάζηε ηνπο ζπλδπαζκνχο Ctrl-Alt-F1, Ctrl-Alt-F2,... Ctrl-Alt-F6. Τπάξρνπλ πξν-ξπζκηζκέλεο 6 θνλζφιεο. Παηήζηε Ctrl-Alt-F7 γηα λα επηζηξέςεηε ζην παξαζπξηθφ πεξηβάιινλ. 11. Δληνπίζηε ηελ εθαξκνγή "Terminal" ή "Konsole" θαη εθηειέζηε ηε δπν θνξέο. Άλνημαλ αθφκε δπν ηεξκαηηθά. Μπνξείηε λα εξγάδεζηε κε πνιιά ηεξκαηηθά ζπγρξφλσο. Καζέλα ηεξκαηηθφ είλαη αλεμάξηεην απφ ηα ππφινηπα. Άζθεζε 2 Απνκαθξπζκέλε πξφζβαζε. Όινη νη θνηηεηέο ηνπ ηκήκαηνο Μεραληθώλ Πιεξνθνξηθήο ηνπ ΑΣΔΙ Θεζζαινλίθεο έρεηε e-mail ινγαξηαζκό ζηνλ mail-server ηνπ ηκήκαηνο. Η δηεύζπλζε ηνπ email ζαο είλαη ηεο κνξθήο: antonis@it.teithe.gr 48

όπνπ ην "antonis" είλαη ην όλνκα ρξήζηε (username). Δπίζεο, όινη έρεηε αληίζηνηρν ινγαξηαζκό (account) ζηνλ θεληξηθό Linux-server ηνπ ηκήκαηνο, o νπνίνο έρεη ηε δηεύζπλζε (hostname) aetos.it.teithe.gr Σν όλνκα ρξήζηε πνπ αληηζηνηρεί ζηνλ ινγαξηαζκό ζαο ζηνλ aetos είλαη ίδην κε ην όλνκα ρξήζηε ηνπ mail-server (πρ. antonis), όπσο θαη ν θσδηθόο πξόζβαζεο. Μπνξείηε λα "αλνίμεηε" έλα θέιπθνο ζηνλ aetos.it.teithe.gr ή ζε νπνηνλδήπνηε απνκαθξπζκέλν ππνινγηζηή ζηνλ νπνίν δηαζέηεηε ινγαξηαζκό θαη λα εθηειείηε εληνιέο απνκαθξπζκέλα (δειαδή νη εληνιέο ζαο λα εθηεινύληαη ζην απνκαθξπζκέλν κεράλεκα). Απηό πνπ ρξεηάδεζηε είλαη έλα πξόγξακκα ην νπνίν λα έρεη ηελ ηθαλόηεηα λα επηθνηλσλεί κε έλα απνκαθξπζκέλν ππνινγηζηή θαη λα εθηειέζεη εθεί έλα θέιπθνο. Από ηελ άιιε κεξηά, ν απνκαθξπζκέλνο ππνινγηζηήο πξέπεη λα κπνξεί λα επηθνηλσλήζεη κε απηό ην πξόγξακκα θαη λα δερηεί ηε ζύλδεζε. Απηή ε επηθνηλσλία ησλ δπν ππνινγηζηώλ γίλεηαη βάζεη θάπνηνλ πξσηνθόιισλ επηθνηλσλίαο. Σα πεξηζζόηεξν γλσζηά είλαη ηα: telnet, rsh (remote shell), rlogin (remote login), ssh (secure shell) [9]. Πιένλ ρξεζηκνπνηείηαη κόλν ην ssh, δηόηη ηα ππόινηπα δελ παξέρνπλ αξθεηή αζθάιεηα θαηά ηελ επηθνηλσλία θαη ηελ αληαιιαγή δεδνκέλσλ. Ο aetos δελ ζα δερηεί θακία ζύλδεζε κε ηα ππόινηπα πξσηόθνιια επηθνηλσλίαο παξά κόλν κε ην ssh γηα ιόγνπο αζθαιείαο. Σν ίδην ζα ζπκβεί θαη κε νπνηνδήπνηε άιιν ππνινγηζηή ν νπνίνο δηαρεηξίδεηαη ζσζηά. 1. ε έλα απφ ηα ηεξκαηηθά πνπ έρεηε αλνίμεη, πιεθηξνινγήζηε ηελ εληνιή (φπνπ "antonis" βάιηε ην δηθφ ζαο φλνκα ρξήζηε): ssh antonis@aetos.it.teithe.gr Δάλ είλαη ε πξψηε αζθαιήο ζχλδεζε ζηνλ ζπγθεθξηκέλν ππνινγηζηή, ζα ζαο δεηεζεί λα επηβεβαηψζεηε ηελ ηαπηφηεηα ηνπ ππνινγηζηή πιεθηξνινγψληαο "yes". ζα ζαο δεηεζεί θσδηθφο πξφζβαζεο. Πιεθηξνινγήζηε ηνλ θσδηθφ ζαο θαη παηήζηε "Enter". Δθφζνλ έρεηε πιεθηξνινγήζεη ζσζηά ηνλ θσδηθφ ζαο, ην ζχζηεκα ζαο θαισζνξίδεη φπσο ζην ρήκα 2.12. 2. Ζ πξνηξνπή πνπ εκθαλίδεη ην θέιπθνο, ζπλήζσο είλαη ηεο κνξθήο: username@hostname:pwd$ δνθηκάζηε λα εθηειέζεηε ηηο ίδηεο εληνιέο πνπ εθηειέζαηε θαη ηνπηθά λσξίηεξα. Δίλαη ηα απνηειέζκαηα ησλ εληνιψλ αθξηβψο ίδηα κε πξηλ; 3. Γψζηε ηελ εληνιή [1]: finger antonis (φπνπ antonis ην δηθφ ζαο φλνκα ρξήζηε) 4. Δθηειέζηε ηελ εληνιή [6]: who Ση βιέπεηε σο απνηέιεζκα; Δίλαη ην δηθφ ζαο φλνκα ρξήζηε αλάκεζα ζηα απνηειέζκαηα ηεο εληνιήο; Πνηα είλαη ηα ππφινηπα νλφκαηα ρξεζηψλ πνπ εκθαλίδνληαη; 5. Δπηιέμηε έλα απφ ηα νλφκαηα ρξεζηψλ πνπ ζαο εκθάληζε ε who (πρ. ην asidirop). Πνηνο ρξήζηεο είλαη απηφο; Γψζηε ηελ εληνιή: finger asidirop (φπνπ asidirop ην φλνκα ρξήζηε πνπ επηιέμαηε) γηα λα δείηε πιεξνθνξίεο γηα ηνλ ρξήζηε. Error! Not a valid link. ρήκα 2.12: Απνκαθξπζκέλε ζύλδεζε. 49

Άζθεζε 3 χληαμε εληνιψλ. Σν θέιπθνο (shell) αλακέλεη λα πιεθηξνινγήζνπκε εληνιέο. Τπάξρνπλ δηάθνξα θειύθε θαη ην θαζέλα κπνξεί λα έρεη ηνπο δηθνύο ηνπ θαλόλεο ζύληαμεο. Σν θέιπθνο πνπ ρξεζηκνπνηνύκε είλαη ην bash (βειηησκέλε έθδνζε ηνπ sh). Η γεληθή ζύληαμε κηαο εληνιήο είλαη: Όνομα_εντολής ορίσματα_τύποσ_flag ορίσματα_αρτείων Σα νξίζκαηα από ην όλνκα εληνιήο ρσξίδνληαη κε ηνπιάρηζηνλ έλα θελό δηάζηεκα (space). Σα νξίζκαηα κεηαμύ ηνπο ρσξίδνληαη επίζεο κε ηνπιάρηζηνλ έλα θελό δηάζηεκα. Πρ: ls -l -a /tmp εθηεινύκε ηελ εληνιή κε όλνκα "ls", θαη ηεο δίλνπκε ηξία νξίζκαηα: 1ν όξηζκα: -l 2ν όξηζκα: -a 3ν όξηζκα: /tmp. Σν /tmp είλαη όξηζκα πνπ εθθξάδεη όλνκα θαηαιόγνπ (ή ζα κπνξνύζε θαη αξρείνπ) πλήζσο νη εληνιέο δηαρσξίδνπλ ηα νξίζκαηα πνπ εθθξάδνπλ όλνκα αξρείνπ από ηα νξίζκαηα πνπ εθθξάδνπλ ζεκαία (flag ή option) από ηελ παύια (-) πνπ βάδνπκε κπξνζηά ζηα νξίζκαηα ηύπνπ ζεκαίαο. Σα νξίζκαηα πνπ κπνξνύκε λα δώζνπκε ζε θάζε εληνιή εμαξηώληαη απνθιεηζηηθά από ηελ ίδηα ηελ εληνιή. 1. Δθηειέζηε ηηο παξαθάησ εληνιέο: 1. ls 2. ls -a 3. ls -l 4. ls -l -a 5. ls -la 6. ls --all 7. ls -a 2. Ση δηαθνξά ππάξρεη ζην απνηέιεζκα ησλ εληνιψλ (6) θαη (7); 3. Ση δηαθνξά ππάξρεη ζην απνηέιεζκα ησλ εληνιψλ (4) θαη (5); Η εληνιή ls εκθαλίδεη ηα πεξηερόκελα (αξρεία θαη ππνθαηαιόγνπο) ηνπ θαηαιόγνπ (θαθέινπ) ηνλ νπνίν έρνπκε σο ηξέρνληα θάθειν εξγαζίαο (ζην επόκελν θεθάιαην ζα δνύκε πεξηζζόηεξεο ιεπηνκέξεηεο γη απηό). 50

Με ηα νξίζκαηα ζε κηα εληνιή δίλνπκε νδεγίεο ζηελ εληνιή πώο λα ζπκπεξηθεξζεί. Γηα ηελ ls ην -a ζεκαίλεη όια ηα αξρεία (θαη ηα θξπθά). Σν -l ζεκαίλεη λα εκθαλίζεη επηπιένλ πιεξνθνξίεο γηα ηα αξρεία (long listing). Γηα λα δνύκε ηα δπλαηά νξίζκαηα πνπ κπνξεί λα δερηεί κηα εληνιή, πξέπεη λα δηαβάζνπκε ην εγρεηξίδην ρξήζεο ή αιιηώο "manual page". Οη πεξηζζόηεξεο εληνιέο, όηαλ νη ζεκαίεο εθθξάδνληαη κε έλα γξάκκα (πρ: -a ή -l) επηηξέπνπλ ηελ ζύκπηπμε ηνπο: -a -l -al. Απηό είλαη ζέκα δπλαηνηήησλ ηεο θάζε εληνιήο θαη όρη ηνπ θειύθνπο ή ηνπ UNIX. 4. Δθηειέζηε ηελ εληνιή: "man ls". Βξείηε ηη ζεκαίλεη ην "--all". Η εληνιή man εκθαλίδεη ην εγρεηξίδην ρξήζεο (manual page) ηεο εληνιήο ηεο νπνίαο ην όλνκα δώζακε σο όξηζκα. Μέζα ζην "man" κπνξνύκε λα κεηαθηλεζνύκε πάλσ-θάησ κε ηνπο θέξζνξεο ή ην πιήθηξν θελνύ δηαζηήκαηνο (space), ή ην "Enter". Γηα έμνδν από ην πεξηβάιινλ ηνπ εγρεηξηδίνπ παηάκε ην πιήθηξν "q". 5. Δθηειέζηε ηελ εληνιή: ls-l Ση παξαηεξείηε; Γηαηί; 2.5 Αλαθνξέο [1] BSD General Commands Manual: finger command. [2] GNU coreutils Reference Manual: cat command. [3] GNU coreutils Reference Manual: date command. [4] GNU coreutils Reference Manual: echo command. [5] GNU coreutils Reference Manual: ls command. [6] GNU coreutils Reference Manual: who command. [7] GNU coreutils Reference Manual: whoami command. [8] Colin Watson, GNU Manual Pager Utils Reference Manual: man command. [9] Tatu Ylonen, Markus Friedl, BSD General Commands Manual: ssh command. [10] WikiPedia. List of terminal emulators, February 2015. [ http://en.wikipedia.org/wiki/list_of_terminal_emulators ] [11] Wolfgang Helbig, BSD General Commands Manual: cal command. 51