ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος
>_ ΔΟΜΗ ΚΑΤΑΛΟΓΩΝ (1/5) +- / Ριζικός κατάλογος συστήματος +- /home Χώρος για τα αρχεία των χρηστών. Κάθε χρήστης έχει δικό του κατάλογο και πλήρη δικαιώματα σε αυτόν. Π.χ /home/user01, /home/user17 κτλ. Κάποιες διανομές χρησιμοποιούνε το /users αντί του /home +- /bin Συνήθη χρησιμοποιούμενα προγράμματα π.χ ls, cd, cat και φλυοί
>_ ΔΟΜΗ ΚΑΤΑΛΟΓΩΝ (2/5) +- /sbin Εκτελέσιμα που χρησιμοποιούνται για συντήρηση του συστήματος και διαχειριστικές εργασίες όπως π.χ ifconfig, mount, umount, iptables +- /etc Αρχεία ρυθμίσεων όπως π.χ, xorg.conf, apache.conf κτλ +- /usr Τα προγράμματα και οι εφαρμογές που δεν είναι βοηθητικά για το σύστημα. Δεν είναι για κάθε χρήστη ξεχωριστά +- /usr/local Αρχεία που δεν αλλάζουν σε περίπτωση αναβάθμισης ή κάποιας αλλαγής στο σύστημα
>_ ΔΟΜΗ ΚΑΤΑΛΟΓΩΝ (3/5) +- /var Αρχεία καταγραφής συμβάντων (logs) ή αλληλογραφίας. Γενικά αρχεία που αλλάζουν συχνά κατά τη διάρκεια λειτουργίας του ΛΣ (π.χ ιστοσελίδες, βάσεις κτλ) +- /tmp Αποθήκευση προσωρινών αρχείων. Διαγράφονται από τους διαχειριστές +- /dev Αρχεία συσκευών συστήματος +- /boot Αρχεία απαραίτητα για την εκκίνηση του συστήματος
>_ ΔΟΜΗ ΚΑΤΑΛΟΓΩΝ (4/5) +- /lib Βιβλιοθήκες απαραίτητες για τα προγράμματα των /bin και /sbin +- /mnt Χώρος για την φόρτωση των file system
>_ ΔΟΜΗ ΚΑΤΑΛΟΓΩΝ (5/5)
>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (1/5) /# ls +- -F Επισήμανση φακέλων με το σύμβολο / και των εκτελέσιμων με το @ +- -d Κατάλογοι χωρίς περιεχόμενα +- -l long listing +- -t Ταξινόμηση κατά ημερομηνία τροποποίησης +- -a Προβολή όλων των αρχείων και τον κρυφών (αρχεία με. ) +- -p Σημείωση των φακέλων με / +- -h human readable
>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (2/5) /# ls +- -i εμφάνιση των i-node +- Γίνονται και συνδυασμοί των επιλογών π.χ ls la, ls Fh κτλ
>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (3/3) /# touch [επιλογές] όνομα αρχείου +- Δημιουργία αρχείου αν δεν υπάρχει, τροποποίηση της ημερομηνίας του αν υπάρχει +- -t (timestamp) Αλλαγή χρονοσφραγίδας [YYYY]MMDDhhmm.[ss]
>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (4/4) /# mkdir +- mkdir όνομα φακέλου Δημιουργία φακέλου π.χ mkdir test1dir +- mkdir /test1dir/testing Δημιουργία φακέλου μέσα σε φάκελο /# mv [επιλογές] +- [-v] verbose. Πληροφορίες του τι γίνεται κατά την εκτέλεση +- [-i] Ερώτηση πριν την εκτέλεση
>_ ΣΥΧΝΕΣ ΕΝΤΟΛΕΣ (5/5) /# cp [επιλογές] πηγή προορισμός +- [-r] recursive Αντιγραφή αναδρομικά όλων των υποφακέλων και των αρχείων που περιέχονται /# rm [επιλογές] όνομα αρχείου +- [-r] recursive Σβήνει αναδρομικά όλους τους υπο-φακέλους και τα αρχεία που περιέχονται
>_ ALIASES /# alias νέο_όνομα= εντολή +- Aρκετές εντολές έχουν σύνθετες επιλογές. Προκειμένου να μην γράφουμε κάθε φορά μία μεγάλη εντολή δημιουργούμε μία συντόμευση με το αναθέσουμε τη λειτουργία της σε μία δικιά μας εντολή. +- Η σύνταξη της είναι alias νέο_όνομα= εντολή +- Για να αποδεσμεύσουμε το alias η σύνταξη είναι unalias νέο_όνομα. +- Μία εντολή με αρκετές επιλογές που χρησιμοποιείται συχνά είναι η ls. δέσμευση alias lsmine= ls -a Π.χ αποδέσμευση unalias lsmine
>_ WILDCARDS (1/2) /# ειδικοί χαρακτήρες στο UNIX +-. Κατάλογος που δουλεύουμε +-.. Γονικός κατάλογος +- ~ Αρχικός κατάλογος +- ~user Αρχικός κατάλογος του user +-? Μπαλαντέρ ενός χαρακτήρα +- * Μπαλαντέρ ενός η περισσότερων χαρακτήρων +- [] Ένας χαρακτήρας που περιέχεται στο δοθέν σύνολο +- [-] Ένας χαρακτήρας από το δοθέν σύνολο +- [^] Ένας χαρακτήρας που δεν περιέχεται στα []
/# παραδείγματα >_ WILDCARDS (2/2) +- cd ~ Επιστροφή στον κεντρικό κατάλογο +- rm ~/photo.jpg Διαγραφή του αρχείου photo.jpg από τον κεντρικό κατάλογο +- ls?txt Προβολή όλων των αρχείων που τελειώνουν σε txt +- ls test* Προβολή όλων των αρχείων που αρχίζουν από test +- ls test.mp[34] Προβολή όλων των αρχείων που αρχίζουν με test και είναι είτε mp3 είτε mp4
>_ ΕΝΤΟΛΕΣ ΕΜΦΑΝΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (1/3) /# cat [επιλογές] αρχείο1 αρχείο2 αρχείοn +- Μπορεί να εμφανίσει το περιεχόμενο από ένα αρχείο μέχρι όσα αρχεία θέλουμε με βάση το όρισμά της +- [-E] Εμφάνιση του $ στο τέλος κάθε γραμμής +- [-n] Αρίθμηση των γραμμών π.χ cat /etc/passwd cat n /etc/passwd /# more [επιλογές] αρχείο Εμφάνιση του περιεχομένου ανά σελίδα +- Με το πλήκτρο space πάμε στην επόμενη σελίδα όπως και με το πλήκτρο Enter +- Με το πλήκτρο / και ακολούθως μία λέξη την αναζητούμε στα αποτελέσματα και με το n πάμε στην επόμενη αναζήτηση +- q και ^c είναι η έξοδος π.χ more etc/passwd
>_ ΕΝΤΟΛΕΣ ΕΜΦΑΝΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (2/3) /# tail [επιλογές] αρχείο Εμφανίζει τις τελευταίες γραμμές του αρχείου +- [-f] Παρακολούθηση ενημέρωσης ενός αρχείου. Το χρησιμοποιούμε συνήθως για τα log αρχεία +- [-c αριθμός byte] Εμφανίζει τα τελευταία c bytes +- [-n] Εμφανίζει τις n γραμμές π.χ tail etc/passwd /# head [επιλογές] αρχείο Εμφανίζει τις πρώτες γραμμές του αρχείου +-[-n] Εμφανίζει τις n γραμμές
>_ ΕΝΤΟΛΕΣ ΕΜΦΑΝΙΣΗΣ ΠΕΡΙΕΧΟΜΕΝΟΥ (3/3) /# grep [επιλογές] ακολουθία_χαρακτήρων αρχείο Ψάχνει το αρχείο για συγκεκριμένα μοτίβα χαρακτήρων +- [-i] αγνοεί κεφαλαία / πεζά +- [-v] εμφανίζει τις γραμμές που δεν ταιριάζουν +- [-n] εμφανίζει και τη γραμμή που υπάρχει το ταίριασμα +- [-c] εμφανίζει μόνο τον συνολικό αριθμό γραμμών που υπάρχει ταίριασμα Πχ. grep -ivc apple list.txt /# wc [επιλογές] αρχείο μετράει λέξεις, γραμμές, bytes για ένα αρχείο +- [-w] εμφανίζει σύνολο λέξεων του αρχείου +- [-l] εμφανίζει σύνολο γραμμών του αρχείου
Those who do not understand UNIX are condemned to reinvent it, poorly. Henry Spencer, programmer