e f c 3 f 0 @ @ 0 h ; g @ c g Λειτουργικό Λ h f c a ...e f c 3 f 0 @ @ 0 h ; g @ c g Λ...

19
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Διδάσκοντες: Στάθης Ζάχος ([email protected]) Νίκος Παπασπύρου ([email protected]) Δημήτρης Φωτάκης [email protected]) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Λειτουργικό σύστημα Unix

Upload: others

Post on 20-Jun-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝΔιδάσκοντες: Στάθης Ζάχος ([email protected])Νίκος Παπασπύρου ([email protected])Δημήτρης Φωτάκης [email protected])

Εθνικό Μετσόβιο ΠολυτεχνείοΣχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

Page 2: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

Άδεια ΧρήσηςΤο παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.

Page 3: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

317Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Το

λειτουργικό

σύστημα

Unix (i)

Bell Labs, ~1970Δομή του Unixπυρήνας (kernel)φλοιός (shell)βοηθητικά προγράμματα (utilities)

Ιεραρχικό σύστημα αρχείωνΔενδρική δομήΈνας κατάλογος (directory) μπορεί να περιέχειαρχεία (files) ή άλλους (υπο)καταλόγους

3

Page 4: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

318Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Το

λειτουργικό

σύστημα

Unix (ii)

Απόλυτα ονόματα//etc/home/nickie/book/home/paul/etc/passwd

/

nickie

home etc

paul

coursesbook

102 201

passwd

τρέχων κατάλογος

Σχετικά ονόματαbookcourses/201./courses/102../paul../../etc/passwd

4

Page 5: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

319Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Το

λειτουργικό

σύστημα

Unix (iii)

Θετικά στοιχεία του Unixιεραρχικό σύστημα αρχείωνπολλοί χρήστες συγχρόνως (multi-user)πολλές διεργασίες συγχρόνως (multi-tasking)επικοινωνίες και υποστήριξη δικτύου

Αρνητικά στοιχεία του Unixκρυπτογραφικά ονόματα εντολώνπεριορισμένη και συνθηματική βοήθεια

5

Page 6: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

320Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Σύστημα

αρχείων

του

Unix

(i)

Αντιγραφή αρχείων cpcp

oldfile

newfile

cp

file1

file2

... filen

directorycp

-r directory1

directory2cp

-i oldfile

newfile

Μετονομασία ή μετακίνηση αρχείων mvmv oldfile

newfile

mv file1

file2

... filen

directorymv -i oldfile

newfile

6

Page 7: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

321Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Σύστημα

αρχείων

του

Unix

(ii)

Διαγραφή αρχείων rmrm

file1

file2

... filenrm

-i file1

file2

... filenrm

-f file1

file2

... filenrm

-r directory

Δημιουργία directories mkdirmkdir

directory1

... directoryn

Διαγραφή άδειων directories rmdirrmdir

directory1

... directoryn

Αλλαγή directory cdcd

directory

7

Page 8: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

322Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Σύστημα

αρχείων

του

Unix

(iii)

Εμφάνιση πληροφοριών για αρχεία lslsls

file1

file2

directory3

...

Επιλογές (options)-l

εκτεταμένες

πληροφορίες

-a

εμφανίζονται

και

τα

κρυφά

αρχεία-t

ταξινόμηση

ως

προς

το

χρόνο

τροποποίησης

-F

εμφανίζεται

ο

τύπος

κάθε

αρχείου-d

εμφανίζονται

πληροφορίες

για

ένα

directory,

όχι

για

τα

περιεχόμενά

του-R

αναδρομική

εμφάνιση

πληροφοριών

8

Page 9: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

323Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Προγράμματα

εφαρμογών

Unix

(i)

Εμφάνιση manual page manman commandwhatis

command

Εμφάνιση περιεχομένων αρχείου catcat file1

file2

... filen

Εμφάνιση περιεχομένων αρχείου more

ανά σελίδα lessmore file1

file2

... filenless file1

file2

... filen

9

Page 10: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

324Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Προγράμματα

εφαρμογών

Unix

(ii)

Εμφάνιση πρώτων γραμμών headhead file1

file2

... filenhead -10 file1

file2

... filen

Εμφάνιση τελευταίων γραμμών tailtail file1

file2

... filentail -10 file1

file2

... filen

Πληροφορίες για το είδος αρχείου filefile file1

file2

... filen

Εμφάνιση ημερομηνίας και ώρας datedate

10

Page 11: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

325Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Προγράμματα

εφαρμογών

Unix

(iii)

Εκτύπωση αρχείου lprlpr

file1

file2

... filen

Μεταγλωττιστής Pascal pcpc -o executable

program.p

gpc

-o executable

program.p

Μεταγλωττιστής C cccc -o executable

program.p

gcc

-o executable

program.p

Επεξεργασία αρχείου κειμένου vivi file1

file2

... filen

11

Page 12: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

326Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(i)

Δύο καταστάσεις λειτουργίαςκατάσταση εντολώνκατάσταση εισαγωγής κειμένου

Στην κατάσταση εισαγωγής κειμένουπηγαίνουμε με συγκεκριμένες εντολές(π.χ. i, a)μπορούμε μόνο να εισάγουμε χαρακτήρες

Στην κατάσταση εντολώνπηγαίνουμε με το πλήκτρο ESCμπορούμε να μετακινούμαστε και να δίνουμεεντολές

12

Page 13: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

327Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(ii)

Μετακίνηση μέσα σε αρχείο← ↓ ↑ → κατά

ένα

χαρακτήρα

h j k l

(ομοίως)w

μια

λέξη

δεξιά

CTRL+F

μια

σελίδα

μετάCTRL+B

μια

σελίδα

πριν

CTRL+D

μισή

σελίδα

μετάCTRL+U

μισή

σελίδα

πριν

0 $

στην

αρχή

ή

στο

τέλος

της

γραμμής^

στον

πρώτο

χαρακτήρα

της

γραμμής

13

Page 14: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

328Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(iii)

Μετακίνηση μέσα σε αρχείο (συνέχεια)- +

στην

αρχή

της

προηγούμενης

ή

της επόμενης γραμμής( )

στην

αρχή

της

προηγούμενης

ή

της επόμενης πρότασης{ }

στην

αρχή

της

προηγούμενης

ή

της

επόμενης

παραγράφουn G

στην

n-οστή

γραμμή

G

στην

τελευταία

γραμμή

14

Page 15: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

329Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(iv)

Εισαγωγή κειμένουi a

εισαγωγή

πριν

ή

μετά

τον

cursor

I A

εισαγωγή

στην

αρχή

ή

στο

τέλος

της γραμμής

ο Ο

εισαγωγή

σε

νέα

κενή

γραμμή

κάτω ή πάνω από την τρέχουσα

r αντικατάσταση

ενός

χαρακτήρα

R αντικατάσταση

πολλών

χαρακτήρων

15

Page 16: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

330Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(v)

Διαγραφή κειμένουx

του

τρέχοντα

χαρακτήρα

Χ του

προηγούμενου

χαρακτήρα

dw

μέχρι

το

τέλος

λέξηςdd

ολόκληρης

της

τρέχουσας

γραμμής

n dd

n

γραμμών

αρχίζοντας

από

την τρέχουσα

Οι λέξεις και οι γραμμές που διαγράφονταιτοποθετούνται στο buffer (cut)

16

Page 17: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

331Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(vi)

Εύρεση συμβολοσειράς/

xxx

εύρεση

προς

τα

εμπρός

?

xxx

εύρεση

προς

τα

πίσωn N

επόμενη

εύρεση

ορθής

ή

αντίθετης

φοράςΆλλες εντολέςCTRL-L

επανασχεδίαση

της

εικόνας

u ακύρωση

της

τελευταίας

εντολής

. επανάληψη

της

τελευταίας

εντολής

J συνένωση

της

τρέχουσας

γραμμής

με

την

επόμενη

17

Page 18: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

332Σ. Ζάχος, Ν. Παπασπύρου Προγραμματισμός Ηλεκτρονικών Υπολογιστών

Βασική

λειτουργία

του

vi

(vii)

Αντιγραφή και μετακίνηση κειμένουyy

αντιγραφή

μιας

γραμμής

στο

buffer

(copy)n yy

αντιγραφή

n

γραμμών

στο

buffer

p P

επικόλληση

των

περιεχομένων

του buffer κάτω

ή

πάνω

από

την

τρέχουσα

γραμμή

(paste)Αποθήκευση και έξοδος:w

αποθήκευση

του

αρχείου

:q

έξοδος:wq

αποθήκευση

του

αρχείου

και

έξοδος

:q!

έξοδος

χωρίς

αποθήκευση18

Page 19: E F C 3 F 0 @ @ 0 H ; G @ C G Λειτουργικό Λ H F C A ...E F C 3 F 0 @ @ 0 H ; G @ C G Λ H F C A ; > O A I E CΛ C 3 ; G H O A 4 ws x W τη ο n µ X P Aκο αασύρου

Χρηματοδότηση

Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα.Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠέχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού.Το έργο υλοποιείται στο πλαίσιο του ΕπιχειρησιακούΠρογράμματος «Εκπαίδευση και Δια Βίου Μάθηση»και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση(Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.