Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

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

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

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

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

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

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

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

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

Μερικές άλλες χρήσιμες εντολές

ΒασικέςέννοιεςτουUNIX: Πλοήγηση στο Σύστημα Αρχείων, ΟφλοιόςτουUNIX, Βοηθητικά Προγράμματα, ΗδομήτουΠυρήνα.

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

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

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

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

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

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

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

Μερικές άλλες χρήσιμες εντολές

Εισαγωγή στο λειτουργικό σύστηµα Unix

Linux με τη χρήση κονσόλας

Δίκτυα Η/Υ στην Επιχείρηση

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

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

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

Shell Scripts: loops / if / test

Λειτουργικά Συστήματα. Άσκηση Πράξη. Shell Programming

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

Σύντομη εισαγωγή στο Unix

Σύντομη εισαγωγή στο Unix

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux

Εργαστήριο Λειτουργικών Συστημάτων. Shell Programming

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

ΕΡΓΑΣΤΗΡΙΟ #1. Το Λειτουργικό Σύστηµα Unix

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

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

Προγραµµατισµός Συστήµατος

Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI. Οκτώβριος 2016 Χ. Αλεξανδράκη

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Βασικές εντολές του Unix-Linux

Μεταφραστής (Compiler)

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Εισαγωγή στο Linux και στο περιβάλλον εργασίας.

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

Mε την ονομασία Unix ή μάλλον Unix-like αναφερόμαστε

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I. 1. Εισαγωγή 3 ΠΡΟΛΟΓΟΣ

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

Παράρτηµα Α : Εισαγωγή στο Linux.

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

Αβδέλαρου Κωνσταντίνα

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

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

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

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

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Linux με τη χρήση κονσόλας

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

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

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

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

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

Ενότητα 1 Διάλεξη 1β

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

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

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

ιαφάνειες παρουσίασης #12

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

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

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 4

7ο Εργαστήριο - Ο φλοιός Bash και η διαμόρφωση του

9ο Εργαστήριο - Ο φλοιός Bash και η διαµόρφωση του

Εργαστήριο 6 Ασκήσεις: To Εργαλείo Ωφελιμότητας Awk Προγραμματισμός Κελύφους Bash

Εισαγωγή στο UNIX. Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων

2.Shell, users, groups και privilegies

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

Ενημερωτικός οδηγός για τον εξυπηρετητή Ada

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

Άγγελος Αγγελόπουλος. Εισαγωγή στο LINUX. Οδηγός Χρήσης

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

Αντίρριο, 14/03/2017 Προδιαγραφές Εργαστηριακής Εργασίας για το μάθημα «Μεταγλωττιστές»

Μέρος 2 Κατασκευή Συντακτικού Αναλυτή

Η γλώσσα προγραμματισμού Strange

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων

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

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

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

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

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Εισαγωγή...1 Το κοινό αυτού του βιβλίου...2 Οι συμβάσεις που χρησιμοποιούνται στο βιβλίο...3

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

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

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

Μαρία Μαμαλάκη, ΕΔΙΠ. Γραφείο: Β229 - Τηλέφωνο: mariam@csd.uoc.gr. Web site μαθήματος:

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Transcript:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

>_ ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ (1/3) /ˈjuː.nɪks/ +- Στην πρωταρχικη του μορφη κατασκευάστηκε απο τον Ken Thompson το 1969 σε γλώσσα assembly για ένα PDP-7 στα Bell Laboratories της ΑΤ&Τ +- Μεταφέρθηκε σε ένα PDP-11 το 1971 απο τον Ken Thompson και τον Dennis Ritchie +- Το 1973 υλοποιήθηκε εξ αρχής στο μεγαλύτερο μέρος του στη γλώσσα C, η οποία αναπτύχθηκε απο τον Brian Kernighan και τον Dennis Ritchie +- Λόγω μονοπωλιακών τακτικών σύμφωνα με τους εμπορικούς νόμους των ΗΠΑ, η Bell αναγκάστηκε να διανείμει το Unix δωρεάν στα Πανεπιστημιακα ιδρύματα.

>_ ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ (2/3) /ˈjuː.nɪks/ +- Το 1987 η μητρικη της Bell, AT&T ανακοινώνει τη χρέωση διάθεσης του πηγαίου κ ώδικα του Unix σε όλους. Έτσι το πανεπιστήμιο της California ανακοίνωσε τη δημιουργία του δικου της Unix-Based λειτουργικου, με όνομα Berkley Software Distribution ή BSD. +- Tο οι Sun και AT&T συνεργάστηκαν για τη συνένωση του AT&T Unix με το B1987 SD. +- Μετα την είσοδο του Internet τη δεκαετία του 1980, έδωσε τη δυνατότητα σε προγραμματιστές ερευνητές και φοιτητές να συνεισφέρουν στην εξέλιξη του λειτουργικου χωρίς να είναι αναγκαίο να βρίσκονται στον ίδιο χώρο.

>_ ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ (3/3) /ˈjuː.nɪks/ +- Παρόλο που για μεγάλο χρονικο διάστημα, περίπου μία 25ετία, το Unix ήταν περιορισμένο σε ακαδημαι κα και ερευνητικα περιβάλλοντα μόνο, σήμερα ως Linux, έ χει καταλάβει τους προσωπικούς υπολογιστές πολλών χρηστών. +- Εδω και μερικα χρόνια είναι σε εξέλιξη μία διαρκής προσπάθεια τυποποίησης του (IEEE POSIX, Open Group). +- Πολλοι οργανισμοι και εταιρίες χρησιμοποιούν Unix- based mail και web servers (apache).

>_ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ UNIX (1/3) /ˈjuː.nɪks/ +- Λειτουργικό σύστημα πολλών χρηστών (multi user) +- Υποστήριξη πολλαπλών διεργασιών με διαμέριση χρόνου (multi tasking) +- Built in (και όχι patch) παροχη ασφάλειας +- Υποστήριξη δικτύων +- Υποστήριξη πολλών αρχιτεκτονικών: IA-32, MIPS, x86-64, SPARC, DEC Alpha, Itanium, PowerPC, ARM, m68k, PA-RISC, s390, SuperH, M32R κτλ.

>_ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ UNIX (2/3) /ˈjuː.nɪks/ +- Τα πάντα είναι παραμετροποιήσιμα. Η συμπεριφορα του κάθε προγράμματος ή εντολής αλλάζει και προσαρμόζεται ανάλογα με τις ανάγκες των χρηστών ή των διαχειριστών +- Τα πάντα είναι σταθερα. Κάθε στοιχείο του συστήματος αναπαρίσταται ως αρχείο. Αυτο το διακρίνουμε σε ΟΛΑ τα στοιχεία, απο τα έγγραφα μέχρι το hardware. Π.χ ο σκληρός δίσκος είναι το αρχείο /dev/sda1.

>_ ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ UNIX (3/3) /ˈjuː.nɪks/ +- Αυτοματοποίηση καθημερινών εντολών και ρουτινών. Δίνεται η δυνατότητα να γραφτούν απο τον κάθε χρήστη script, τα οποία εκτελούν κάποιες διαδικασίες, εντολέ ς ή προγράμματα σε συγκεκριμένο χρόνο ή συγκεκριμένη κατάσταση του συστή ματος. Π.χ Αυτοματοποιείται η λήψη εφεδρικών αντιγράφων απο τους διαχειριστές ή τους χρήστες. +- Αποφυγη Δεσμεύσεων χρήστη. Windows και Mac OS αντιμετωπίζουν τον χρήστη σαν άνθρωπο και όχι σαν άλλο πρόγραμμα. +- Είναι γρήγορα. +- Τα δυνατότερα συστήματα στον κόσμο χρησιμοποιούν linux.

>_ ANATOMIA Unix

>_ ΔΟΜΗ Unix (1/3) Πυρήνας (Kernel) +- Σύνολο συναρτήσεων χαμηλου επιπέδου. +- Έλεγχος λειτουργίας συστήματος. +- Χρονοπρογραμματισμός (schedule) της χρήσης των συσκευών (devices) για διάφορες εργασίες (tasks). +- Ελέγχεται η οργάνωση σε συστήματα αρχείων (file systems). +- Καθοδηγείται με οδηγούς (drivers) η λειτουργία των συσκευών και των πό ρων (resources) του συστήματος. +- Δεν υπάρχει άμεση επαφη του απλου χρήστη με τον πυρήνα. +- Λειτουργει συνήθως στο παρασκήνιο

>_ ΔΟΜΗ Unix (2/3) Φλοιός (Shell) +- Το μέσο επικοινωνίας του χρήστη με τον πυρήνα του ΛΣ. +- Μετάφραση εντολών του χρήστη σε Κλήσεις Συστήματος. +- Διερμηνέας εντολών και όχι μόνο. +- Υλοποίηση προγραμμάτων (Shell Scripts) +- Διαφορετικοι φλοιοι. +- Bourne Shell sh +- Bash (1989 - OSX & GNU) +- Korn ksh (1982-OpenSolaris) +- Z zsh (1990-GRML) +- C tcsh (1978 FreeBsd)

>_ ΔΟΜΗ Unix (2/3) Φλοιός (Shell) +- Το μέσο επικοινωνίας του χρήστη με τον πυρήνα του ΛΣ. +- Μετάφραση εντολών του χρήστη σε Κλήσεις Συστήματος. +- Διερμηνέας εντολών και όχι μόνο. +- Υλοποίηση προγραμμάτων (Shell Scripts) +- Διαφορετικοι φλοιοι. +- Bourne Shell sh +- Bash (1989 - OSX & GNU) +- Korn ksh (1982-OpenSolaris) +- Z zsh (1990-GRML) +- C tcsh (1978 FreeBsd)

>_ ΔΟΜΗ UNIX (3/3)

>_ ΕΡΓΑΛΕΙΑ ΓΙΑ ΤΟ ΜΑΘΗΜΑ Putty +- Tο βασικο μας εργαλείο +- Μας προσφέρει απομακρυσμένη σύνδεση μέσω ssh στον server που θα κάνουμε τις εργασίες μας στο εργαστήριο και στο σπίτι VMware Player +- Πλατφόρμα διαχείρισης εικονικών μηχανών (Virtual Machines), όπου θα τοποθετήσουμε το δικο μας server για την εξάσκηση στο σπίτι Ubuntu Linux +- Διανομη Linux που θα χρησιμοποιήσουμε για εξάσκηση στο σπίτι

>_ ΔΟΜΗ ΤΩΝ ΕΝΤΟΛΩΝ UNIX Terminal +- Υπάρχει διάκριση μεταξυ κεφαλαίων και πεζών γραμμάτων, δηλαδη είναι Case Sensitive +- Η κάθε εντολη έχει την εξής δομή : +- Εντολη [επιλογές] προέλευση προορισμός +- Ότι εμπεριέχεται στις επιλογές δηλαδη εντός των [] είναι προαιρετικο. +- ο συμβολίζει ότι δεν μπορούν να χρησιμοποιηθούν δύο επιλογές ταυτόχρονα +- Υπάρχει και η δυνατότητα συνδυασμου των εντολών π.χ +- ps aux grep Terminal

>_ ΛΟΓΑΡΙΑΣΜΟΣ ΧΡΗΣΤΗ (1/2) User +- Όνομα χρήστη (user name) +- Συνθηματικο (password) +- Κέλυφος αρχικής σύνδεσης +- Αρχικη ομάδα +- Κατάλογος αφετηρίας

>_ ΛΟΓΑΡΙΑΣΜΟΣ ΧΡΗΣΤΗ (2/2) Πως κάνουμε login από το putty: +- Δίνουμε το hostname (ή την ip) και πατάμε open +- Δίνουμε το username +- Μετα το password και μας πάει στον αρχικο κατάλογο

>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (1/5) +- man: Εμφάνιση οδηγιών χρήσης εντολών +- ls: Εμφάνιση περιεχομένων καταλόγου +- pwd: Εμφάνιση τρέχοντος καταλόγου +- cd: Αλλαγη τρέχοντος καταλόγου +- mkdir: Δημιουργία καταλόγου +- rmdir: Διαγραφη καταλόγου +- cp: Αντιγραφη αρχείων +- mv: Μετακίνηση, ή μετονομασία αρχείων +- rm: Διαγραφη αρχείων +- cat: Εμφάνιση περιεχομένων αρχείων

>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (2/5) +- lpr: Εκτύπωση αρχείων +- vi: Κειμενογράφος οθόνης +- passwd: Αλλαγη κωδικου χρήστη +- Προσοχη! Κατα την πληκτρολόγηση του κωδικου δεν τυπώνεται τί ποτα στην οθόνη +- whoami: Πληροφορίες χρήστη +- who: Εμφάνιση των χρηστών που είναι logged in +- w: Εμφάνιση των χρηστών που είναι logged in +- με περισσότερες λεπτομέρειες απο την who +- finger: Εμφάνιση πληροφοριών χρήστη

>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (3/5) +- last: Εμφάνιση τελευταίων συνδέσεων +- clear: Καθαρισμός οθόνης +- cal: Προβολη ημερολογίου +- exit: Έξοδος απο το τερματικο +- nano: Κειμενογράφος οθόνης +- logout: Αποσύνδεση χρήστη +- uname: Όνομα λειτουργικου συστήματος. +- history: Λίστα εντολών που χρησιμοποιήθηκαν στο τερματικο.

>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (3/5) +- ls (list): Εμφάνιση αρχείων καταλόγου. +- pwd (print working directory): Εμφάνιση τρέχοντος καταλόγου. +- cd (change directory): μετάβαση σε φάκελο.

>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (5/5) +- whoami: Πληροφορίες χρήστη. +- cat: Εμφάνιση περιεχομένων του αρχείου +- Π.χ cat Test.txt εμφανίζει την μοναδικη καταχώρηση This is a test!!! του αρχείου +- rmdir: Διαγραφη καταλόγου

>_ ΒΟΗΘΗΤΙΚΕΣ ΕΝΤΟΛΕΣ (1/2) +- Πολλές φορές τυχαίνει να ξέρω μια εντολη αλλα να μην θυμάμαι ακριβώς πώς λειτουργει. +- Η εντολη man (manual) περιέχει πληροφορίες για κάθε εντολη +- Τρόπος σύνταξης: man όνομα εντολής +- Πληροφορίες σύνταξης +- Εντολη help

>_ ΕΝΤΟΛΕΣ UNIX +- echo: Εμφάνιση στην οθόνη της ακολουθίας χαρακτήρων που δωσαμε +- όνομα μεταβλητής = τιμη μεταβλητής +- Π.χ myname=q +- $ όνομα μεταβλητής: επιστροφη τιμής της μεταβλητής +- Π.χ echo $myname +- declare [επιλογές ] όνομα μεταβλητής +- -a: η μεταβλητη είναι πίνακας +- -i: η μεταβλητη είναι ακέραιος +- -r: η μεταβλητη είναι μόνο για ανάγνωση

>_ ΔΗΜΙΟΥΡΓΙΑ SCRIPT +- Προκειμένου να εκτελέσουμε μία σειρα εντολών πρέπει να δημιουργησουμε ένα αρχείο script το οποίο να τις περιέχει. +- Κάθε αρχείο script ξεκινάει με το όνομα του φλοιου που είναι γραμμένο, ώστε να διερμηνευτει ανάλογα. +- #!/bin/sh +- #!/bin/bash +- #!/bin/bourne +- Ανακατεύθυνση του stdin < -> Είσοδος απο αρχείο και όχι απο το πληκτρολόγιο +- Ανακατεύθυνση του stdout > -> Ανακατεύθυνση εξόδου σε αρχείο. Αν δεν υπάρχει το αρχείο δημιουργείται. Αν υπάρχει τότε αντικαθίσταται. +- Ανακατεύθυνση του stdout με προσάρτηση >> -> Ανακατεύθυνση εξόδου σε αρχείο. Το αρχείο αν δεν υπάρχει δημιουργείται. Αν υπάρχει, τα δεδομένα εισέρχονται μετα την τελευταία γραμμη.

>_ΕΚΤΕΛΕΣΗ SCRIPT +- chmod +x script.sh +-./script.sh

Σχεσιακοί τελεστές: +- -eq (equal) = +- -ne (not equal)!= +- -gt (greater than) > +- -lt (less than) < +- -ge (greater or equal) >= +- -le (lower or equal) <= >_ ΤΕΛΕΣΤΕΣ (1/3)

>_ ΤΕΛΕΣΤΕΣ (2/3) Τελεστές ακολουθίας χαρακτήρων: +- == Ίσο, a==b +-!= Διάφορο, a!=b +- -z Έλεγχος αν είναι μηδενικού μήκους. Αν ναι επιστρέφει true +- -n Έλεγχος αν είναι μη μηδενικού μήκους. Αν ναι επιστρέφει true

Λογικοί τελεστές: >_ ΤΕΛΕΣΤΕΣ (3/3) +- Ισχύει η συνθήκη a ή η συνθήκη b π.χ if [συνθήκη a ] [συνθήκη b] +- && Ισχύει η συνθήκη a και η συνθήκη b π.χ if [συνθήκη a ] && [συνθήκη b] +- -o ισχύει το a ή το b π.χ [ $a gt $b -o $a -ne $b ] +- -a ισχύει το a και το b π.χ [ $a gt $b -a $c -gt $b ]

>_ ΔΟΜΗ ΕΠΙΛΟΓΗΣ (1/3) if if [συνθήκη] fi then <εντολές> else <εντολές>

>_ ΔΟΜΗ ΕΠΙΛΟΓΗΣ (2/3) If-elif if [συνθήκη] then <εντολές> elif [συνθήκη] then <εντολές> else <εντολές> fi

>_ ΔΟΜΗ ΕΠΙΛΟΓΗΣ (3/3) case case <έκφραση> in <περίπτωση 1> <εντολές1>;; <περίπτωση 2> <εντολές2>;; : : <περίπτωση ν> <εντολέςν>;; esac

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΙΛΟΓΗΣ (1/2) Να γραφτεί script (if) που θα ελέγχει δυο αριθμούς αν είναι ίσοι.

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΙΛΟΓΗΣ (1/2)

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΙΛΟΓΗΣ (2/2) Να γραφτεί script (case) που θα ελέγχει ένα ένα φρούτο είναι banana, kiwi ή apple.

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΙΛΟΓΗΣ (2/2)

>_ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ (1/4) while while <συνθήκη> do <εντολή 1> <εντολή 2> : <εντολή n> done

>_ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ (2/4) until until <συνθήκη> do <εντολή 1> <εντολή 2> : <εντολή n> done

>_ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ (3/4) for for (έκφραση1; έκφραση2; έκφραση3) do <εντολή 1> <εντολή 2> : <εντολή n> done

>_ ΔΟΜΗ ΕΠΑΝΑΛΗΨΗΣ (4/4) select select <έκφραση> in λίστα do <εντολή 1> <εντολή 2> : <εντολή n> done Διαθέσιμη στους φλοιούς ksh και bash

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (1/4) Να γραφτεί script (while) που θα εμφανίζει από το 0 μέχρι το 5

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (1/4)

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (2/4) Να γραφτεί script (until) που θα εμφανίζει από το 0 μέχρι το 5

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (2/4)

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (3/4) Να γραφτεί script (for) που θα εμφανίζει από το 2 μέχρι το 5

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (3/4)

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (4/4) Να γραφτεί script (select) που θα εμφανίζει πληροφορίες για την διαθεσιμότητα ροφημάτων

>_ ΠΑΡΑΔΕΙΓΜΑ ΔΟΜΗΣ ΕΠΑΝΑΛΗΨΗΣ (4/4)

>_ ΑΣΚΗΣΗ Να γραφτεί script που εμφανίζει το μήνυμα You have Access όταν ο χρήστης εισάγει σωστό συνθηματικό και Access denied σε αντίθετη περίπτωση.

>_ ΛΥΣΗ

THE BEGINNINGS OF THE HACKER CULTURE AS WE KNOW IT TODAY CAN BE CONVENIENTLY DATED TO 1961, THE YEAR MIT ACQUIRED THE FIRST PDP-1. ERIC S. RAYMOND