Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη της Πληροφορικής και Πληροφοριακά Συστήματα Εργαστήριο - ΕΠΛ003 Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο UNIX Μέρος 1 Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 1/20
Περίγραμμα Παρουσίασης Εισαγωγή στo UNIX Ιεραρχία Αρχείων Οδηγίες για τη χρήση του συστήματος Χρήση και επεξεργασία καταλόγων Επεξεργασία αρχείων Σημειώσεις για αρχεία Ιδιότητες αρχείων Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 2/20
Εισαγωγή στο UNIX Το UNIX είναι ένα λειτουργικό σύστημα Η/Υ (όπως και το Windows) Αναπτύχθηκε τη δεκαετία του 1960 Το UNIX είναι ένα ανοιχτό σύστημα (Open System) Υπάρχουν διάφορες εξελίξεις του UNIX. Σήμερα, τα πιο ευρέως διαδεδομένα, είναι το Linux και το Android τα οποία είναι κτισμένα σε UNIX Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 3/20
Ιεραρχία αρχείων Στο UNIX η επεξεργασία των αρχείων γίνεται με τη χρήση καταλόγων Κάθε κατάλογος περιέχει αρχεία Οι κατάλογοι είναι ιεραρχικά δομημένοι Επομένως, δημιουργείται ένα δέντρο καταλόγων, το οποίο πρέπει να προσπελάσουμε για να πάμε στο επιθυμητό αρχείο Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 4/20
Ιεραρχία αρχείων (συνέχεια) Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 5/20
Ιεραρχία αρχείων (συνέχεια) Ο ανώτατος κατάλογος του συστήματος (ή αν θέλετε ο πατέρας του δέντρου) ονομάζεται βασικός κατάλογος (root directory) και συμβολίζεται με το / (slash) Ο βασικός κατάλογος περιέχει υποκαταλόγους και αυτοί άλλους υποκαταλόγους οι οποίοι περιέχουν αρχεία Έτσι σχηματίζεται ένα ιεραρχικό δέντρο Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 6/20
Οδηγίες για χρήση του συστήματος Το UNIX είναι multi-user processing (πολλοί χρήστες μπορούν να χρησιμοποιούν ταυτόχρονα το ίδιο σύστημα) Γι αυτό το λόγο κάθε χρήστης έχει ξεχωριστό username και password Για να ενωθείτε, το σύστημα θα σας ζητήσει πρώτα το username σας και έπειτα το password (όταν πληκτρολογείτε το password αυτό δεν θα φαίνεται στην οθόνη) Με το που θα ενωθείτε, θα σας οδηγήσει το σύστημα κατευθείαν στο root directory Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 7/20
Οδηγίες για χρήση του συστήματος (συνέχεια) Για να βγείτε έξω, μπορείτε να χρησιμοποιήσετε τα ακόλουθα: 1. <CTRL> + D 2. Να πληκτρολογήσετε EXIT 3. Να πληκτρολογήσετε LOGOUT Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 8/20
Οδηγίες για χρήση του συστήματος (συνέχεια) Όπως αναφέραμε, με το που ενώνεστε, πάτε κατευθείαν στο root directory του Home σας (είναι μοναδικό για τον κάθε χρήστη) Συνήθως ο κατάλογος αυτός έχει το όνομα της διαδρομής που βρίσκεται το root μας: /home/students/cs/cspg11/phadji12 Το πλήρες όνομα αυτού του καταλόγου ονομάζεται απόλυτο όνομα διαδρομής (absolute path name) Κάθε / αντιπροσωπεύει ένα επίπεδο ιεραρχίας Το μειονέκτημα των απόλυτων ονομάτων διαδρομής είναι ότι μπορεί να είναι μακροσκελή Γι αυτό υπάρχουν και τα σχετικά ονόματα διαδρομής (relative path names) Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 9/20
Οδηγίες για χρήση του συστήματος (συνέχεια) Το σχετικό όνομα διαδρομής αναφέρεται σε εκείνο το αρχείο/κατάλογο που σχετίζεται με τον τρέχοντα κατάλογο στον οποίο βρισκόμαστε Γι αυτό το σκοπό έχουμε τις ακόλουθες εντολές: 1. $ pwd: Η εντολή αυτή δείχνει τον τρέχοντα κατάλογο 2. $ ls: Η εντολή αυτή δείχνει τα περιεχόμενα του καταλόγου 3. $ cd letters: Με αυτήν την εντολή εννοούμε ότι από τον τρέχοντα κατάλογο θα μπούμε στο letters. Έτσι δεν χρειάζεται να γράψουμε την απόλυτη διεύθυνση Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 10/20
Οδηγίες για χρήση του συστήματος (συνέχεια) Επίσης, χρησιμοποιούνται τα ακόλουθα: 1. $ cd.. : Μεταφερόμαστε στον πιο πάνω ιεραρχικά κατάλογο 2. $ cd ~ : Μεταφερόμαστε απευθείας στο home directory του χρήστη 3. $ cd <path name> : Μεταφερόμαστε στον υποκατάλογο path name του καταλόγου που είμαστε τώρα (πχ $ cd source θα μας πάρει στο φάκελο source) Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 11/20
Χρήση και επεξεργασία καταλόγων Για την επεξεργασία των καταλόγων έχουμε τις ακόλουθες εντολές: 1. $ mkdir <directory name> : δημιουργούμε στον τρέχον κατάλογο, τον υποκατάλογο με όνομα directory name 2. $ rmdir <directory name> : διαγράφουμε τον υποκατάλογο με όνομα directory name 3. $ rm : διαγράφουμε όλα τα αρχεία που βρίσκονται σε ένα κατάλογο 4. $ rm i <directory name> : ίδια εντολή με την rm με τη διαφορά ότι τώρα το σύστημα σε ρωτά αν όντως θέλεις να διαγράψεις το συγκεκριμένο αρχείο/κατάλογο Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 12/20
Χρήση και επεξεργασία καταλόγων (συνέχεια) Όπως αναφέραμε προηγουμένως, με την εντολή $ ls ο χρήστης παίρνει όλα τα αρχεία/υποκαταλόγους του τρέχοντος καταλόγου. Υπάρχει η δυνατότητα συνδυάζοντας την εντολή με ένα γράμμα δίπλα, να αλλάξουμε τη μορφή των πληροφοριών που θα πάρουμε 1. $ ls a : θα πάρουμε όλα τα αρχεία μαζί με τα hidden files 2. $ ls C : θα πάρουμε τη λίστα των αρχείων σε πολλαπλές στήλες 3. $ ls F : δίνει τη λίστα όλων των αρχείων όπου ο κατάλογος ακολουθείται από / και τα εκτελέσιμα αρχεία από * 4. $ ls i: δίνει το i-node νούμερο του αρχείου 5. $ ls l : δίνει τη λίστα με τα αρχεία σε εκτενή μορφή 6. $ ls ld : δίνει τον κατάλογο αρχείου σε εκτενή μορφή 7. $ ls p : δίνει τα αρχεία και τους καταλόγους συνοδευόμενους από / 8. $ ls s: δίνει το μέγεθος του αρχείου σε blocks Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 13/20
Επεξεργασία αρχείων Η επεξεργασία αρχείων στο UNIX δεν γίνεται με user-friendly προγράμματα όπως το Microsoft Word, αλλά με άλλους τρόπους Γενικά χρησιμοποιούμε συντάκτες κειμένου για το σκοπό αυτό, με πιο ευρέως διαδεδομένο τον vi Για να δημιουργήσουμε και να επεξεργαστούμε ένα αρχείο πληκτρολογούμε το ακόλουθο: $ vi <filename> Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 14/20
Επεξεργασία αρχείων (συνέχεια) Επίσης μπορούμε να χρησιμοποιήσουμε την εντολή cat η οποία χρησιμεύει για άνοιγμα αρχείων, για να δώσει τα περιεχόμενα του αρχείου στην οθόνη και για συνένωση δύο αρχείων 1. $ cat <filename> : δίνει τα περιεχόμενα του αρχείου filename 2. $ cat >> <filename> : δημιουργείς το αρχείο με όνομα filename 3. $ cat file 1 file 2 >> file 3: συνενώνει τα αρχεία file 1 και file 2 στο αρχείο file 3 4. $ pg <filename> : δίνει κατάλογο περιεχομένων ενός αρχείου παρουσιάζοντας μια μια οθόνη κάθε φορά 5. $ tail [+ <or -> number] file : επιστρέφει ένα μέρος αρχείου. Για παράδειγμα το tail +10 επιστρέφει τις 10 πρώτες γραμμές ενώ το tail -10 τις τελευταίες 10 6. $ cp file 1 file 2 : αντιγράφει το αρχείο file 1 στο file 2 (κάνει copy-paste) 7. $ mv file 1 file 2 : μετακινεί το αρχείο file 1 στο file 2 (ή του αλλάζει όνομα) 8. $ alias name=value: δημιουργούμε συντομογραφίες για εντολές για να τις εφαρμόζουμε πιο εύκολα 9..profile : Είναι το αρχείο που βρίσκεται κάτω από το home directory του κάθε χρήστη. Με το login ελέγχεται πρώτα αυτό το αρχείο και εκτελείται ότι βρίσκεται μέσα του Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 15/20
Σημειώσεις για αρχεία Το μεγαλύτερο μέγεθος του ονόματος ενός αρχείου είναι 14 χαρακτήρες Για τα ονόματα, μπορούν να χρησιμοποιηθούν χαρακτήρες [Α..Ζ], αριθμοί [0..9], η τελεία[.] ή το underscore [_]. Τα άλλα απαγορεύονται. Επίσης, το UNIΧ είναι case sensitive (ένα όνομα με μικρά γράμματα είναι διαφορετικό από το ίδιο με κεφαλαία) Μετά την τελεία ενός αρχείου, απεικονίζεται η προέκτασή του Μπορεί να χρησιμοποιηθεί ο αστερίσκος (*) όπως τον έχουμε δει για αναζήτηση ($ ls *.dat θα δώσει όλα τα αρχεία με κατάληξη.dat) Αντίστοιχα, αν χρησιμοποιήσουμε το? θα πάρουμε μόνο ένα χαρακτήρα ($ ls test?.dat θα δώσει τα αρχεία test1.dat, test2.dat) Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 16/20
Ιδιότητες Αρχείων $ id : δίνει την ταυτότητα του χρήστη και της ομάδας στην οποία ανήκει $ chown <filename> : αλλάζει τον ιδιοκτήτη του συγκεκριμένου αρχείου ($ chown jim test.c) $ chmod number: αλλάζει τις ιδιότητες πρόσβασης του αρχείου Πληκτρολογώντας $ ls l θα μας δώσει τις ιδιότητες πρόσβασης για τρις περιπτώσεις: για τον ιδιοκτήτη του αρχείου, για όσους έχουν ίδιο αριθμό ομάδας με τον ιδιοκτήτη και σε οποιονδήποτε άλλο (π.χ. -rw-r--r--) Τέλος, οι ιδιότητες πρόσβασης είναι το read (r), write (w) και execute (x) Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 17/20
Επεξήγηση εβδομαδιαίας εργασίας Κατεβάστε την εργασία από την ιστοσελίδα του εργαστηρίου Ημερομηνία παράδοσης: Τετάρτη 3 Δεκεμβρίου 23.59μμ Αποστολή στο πιο κάτω email: phadji12@cs.ucy.ac.cy Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 18/20
Απορίες Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 19/20
Ευχαριστώ για την προσοχή σας! Παναγιώτης Χατζηχριστοδούλου ΕΠΛ003 Εργαστήριο 2014/2015 20/20