ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 2ο Εργαστήριο Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών
Πίνακας Εντολών Μαθήματος Εντολή Σύνταξη Σύντομη περιγραφή ~ Ο αρχικός κατάλογος του τρέχοντος χρήστη (username). man uname man cd man k keyword man f keyword Uname Uname -sr Αντιστοιχεί πάντα στο path /home/username Eμφανίζει το εγχειρίδιο χρήσης κάθε εντολής. Aναζήτηση λέξεων στις περιγραφές των εντολών αλλά και σε ολόκληρες τις σελίδες των εγχειριδίων χρήσης O χρήστης να εντοπίσει το είδος του λειτουργικού συστήματος που χρησιμοποιείτε, την συγκεκριμένη έκδοση ακόμη και περισσότερες πληροφορίες για το σύστημα. Uname -a passwd passwd Ο χρήστης μπορεί να αλλάξει τον κωδικό του. adduser adduser jtsak Ο διαχειριστής έχει τη δυνατότητα να προσθέτει χρήστες rmuser rmuser jtsak Ο διαχειριστής έχει τη δυνατότητα να διαγράφει χρήστες whoami whoami Επιστρέφεται η ταυτότητα (όνομα) του χρήστη groups groups Ο χρήστης μπορεί να δει σε ποιες ομάδες ανήκει (με όνομα και κωδικό). id id O χρήστης μπορεί να βρει τον uid που του αντιστοιχεί, την ομάδα που ανήκει και τον αντίστοιχο αριθμό της ομάδας (gid) Users, who, w Users, who, w Χρήστες που είναι συνδεμένοι με το σύστημα και με τι ασχολούνται finger finger Δίνονται οι χρήστες που είναι συνδεμένοι στο σύστημα με επιπρόσθετες πληροφορίες. last last Δινονται οι χρήστες που μπήκαν πρόσφατα στο σύστημα. free free Ο χρήστης μπορεί να εέγξει την κατάσταση της μνήμης. df df -h Aναφέρει το συνολικό χώρο του δίσκου, το χώρο που χρησιμοποιείται και τον ελεύθετο χώρο, για κάθε σύστημα αρχείων του συστήματος. du du -s du -h Αναφέρει πόσο χώρο (σε KB) καταλαμβάνουν τα περιεχόμενα ενός καταλόγου και των υποκαταλόγων του. fdisk fdisk -l Εμφανίζεται η κατάσταση των δίσκων του συστήματος mkfs mkfs.ext3 Μορφοποίηση του σκληρού δίσκου του συστήματος. mount mount /mnt/floppy mount /mnt/cdrom Σύνδεση αφαιρούμενων αποθηκευτικών μέσων όπως CD, floppy. umount umount /mnt/floppy Αποσύνδεση αφαιρούμενων αποθηκευτικών. mount /mnt/cdrom date date Παρουσιάζει την ημερομηνία και την ώρα του συστήματος. cal cal Παρουσιάζει το ημερολόγιο που θα ζητήσει ο χρήστης. clear clear Καθαρίζει την οθόνη από ότι περιέχει. history!!,!!adc,!5,!?abc, Δίνεται η δυνατότητα στο χρήστη να προσπελάσει εντολές!-5, ^old^new που εκτελέστηκαν στο παρελθόν exit exit Ο χρήστης μπορεί να εξέλθει από το σύστημα.
Βασικοί κατάλογοι LINUX Έχοντας υπόψη τη θεωρία του εργαστηρίου 1 για τη δομή του συστήματος αρχείων του LINUX, παρακάτω μπορούμε να δούμε τους βασικούς καταλόγους και τι περιέχει ο καθένας από αυτούς. Σχήμα 1. Βασικοί κατάλογοι του LINUX Εισαγωγή χρήστη στη γραμμή εντολών Βασικός στόχος των εργαστηρίων του μαθήματος είναι η κατανόηση της λειτουργικότητας του LINUX, η εκμάθηση βασικών εντολών του και η εκτέλεση τους μέσα από την γραμμή εντολών του λειτουργικού συστήματος. Για το σκοπό αυτό ο χρήστης πρέπει να προσπελάσει τη γραμμή εντολών του Linux (εφαρμογή Terminal). Στο χρήστη εμφανίζεται η γραμμή εντολών:
jtsak@ubuntu : ~$ και του δίνεται η δυνατότητα να πληκτρολογήσει την εντολή που επιθυμεί. Καταρχήν, πρέπει να εξηγήσουμε τη σημαίνουν κάθε ένα από τα παραπάνω ορίσματα. Το όνομα jtsak είναι το όνομα του χρήστη που συνδέθηκε. το όρισμα ubuntu είναι η έκδοση του λειτουργικού συστήματος Linux. τα σύμβολα @ και : είναι απλά διαχωριστικά. το σύμβολο $ πιστοποιεί τη σύνδεση του χρήστη σε κάποιο φλοιό(shell). Το σύμβολο $ συγκεκριμένα δείχνει ότι ο χρήστης συνδέθηκε στο φλοιό Bourn (sh). Αν το σύμβολο που εμφανιζόταν ήταν το % θα σήμαινε ότι ο χρήστης θα είχε συνδεθεί στο φλοιό C (csh). Ένα αντίγραφο επομένος του φλοιού έχει φορτωθεί από το σκληρό δίσκο στη μνήμη. Για κάθε χρήστη "φορτώνεται" στην κύρια μνήμη ένα διαφορετικό αντίγραφο του φλοιού. Ο φλοιός παρέχει ένα σύστημα επικοινωνίας μεταξύ του χρήστη και του Linux και θα περιγραφεί αναλυτικά σε επόμενο εργαστήριο. Το σύμβολο ~ προσδιορίζει τον αρχικό κατάλογο του χρήστη. Ειδικότερα, στο ΛΣ UNIX κάθε χρήστης διαθέτει ένα φάκελο κάτω από τον οποίο φυλάσσονται όλα τα στοιχεία του, οι ρυθμίσεις του καθώς και τα προσωπικά του αρχεία. Κοινώς, είναι ο προσωπικός χώρος του χρήστη στο σύστημα, τον οποίο μπορεί να τον διαχειριστεί όπως νομίζει, καθώς έχει πλήρη δικαιώματα πάνω σε αυτόν. Ο φάκελος αυτός ονομάζεται αρχικός κατάλογος χρήστη (home directory), βρίσκεται κάτω από τον φάκελο /home και έχει όνομα το username του χρήστη. Σχήμα 2: Αρχικοί κατάλογοι χρηστών Ο αρχικός κατάλογος του τρέχοντος χρήστη που συμβολίζεται με τον χαρακτήρα ~ (tilde), αντιστοιχεί πάντα στο path /home/username όπου username το όνομα χρήστη που χρησιμοποιείται (πχ αν χρησιμοποιείται ο λογαριασμός του χρήστη Evi τότε ο ~ αντιστοιχεί στον φάκελο /home/evi). Είναι δυνατό να γίνει αναφορά στον αρχικό κατάλογο ενός τρίτου χρήστη χρησιμοποιώντας τον συμβολισμό ~username όπου
username ο χρήστης στον αρχικό κατάλογο του οποίου γίνεται η αναφορά (πχ ~moum ο αρχικός κατάλογος του χρήστη moum και ~nick ο αρχικός κατάλογος του χρήστη nick). Παράδειγμα: ~/textfile : Αναφορά στο αρχείο textfile στο home directory του τρέχον χρήστη. ~tsak/textfile: Αναφορά στο αρχείο textfile στο home directory του χρήστη tsak. Χρήσιμες συντομεύσεις και συνδιασμοί πλήκτρων Από την γραμμη εντολών ο χρήστης μπορεί να δώσει την εντολή που επιθυμεί. Για το σκοπό αυτό το σύστημα του προσφέρει χρήσιμες συντομεύσεις και συνδιασμούς πλήκτρων που παρουσιάζονται στο παρακάτω σχήμα. Σχήμα 3: Χρήσιμες συντομεύσεις και συνδιασμοί πλήκτρων
Εντολή βοήθειας - man Από τη λέξη manual, δηλαδή εγχειρίδιο χρήσης, η εντολή αυτή εμφανίζει το εγχειρίδιο χρήσης κάθε εντολής. Είναι η εντολή αναζήτησης βοήθειας. Παράδειγμα: man cd : Βοήθεια για τη χρήση της εντολής cd man man : Βοήθεια για τη χρήση της βοήθειας Στις σελίδες του manual η πλοήγηση εμπρός και πίσω γίνεται με τα πλήκτρα πάνω βέλος και κάτω βέλος. Είναι δυνατή η αναζήτηση συγκεκριμένης λέξης μέσα στις σελίδες πληκτρολογώντας /word και πατώντας Enter (word η λέξη που αναζητείται). Σε περίπτωση που υπάρχει η λέξη τότε όλες οι εμφανίσεις της μαρκάρονται με διαφορετικό χρώμα. Με το πλήκτρο n προχωράει στην επόμενη εμφάνιση της λέξης, ενώ με το πλήκτρο N στην προηγούμενη. Η έξοδος από τις σελίδες του manual γίνεται με το πλήκτρο q. Επίσης είναι δυνατή η αναζήτηση λέξεων στις περιγραφές των εντολών (κάθε εντολή έχει μία σύντομη περιγραφή η οποία περιλαμβάνεται στο manual) αλλά και σε ολόκληρες τις σελίδες των εγχειριδίων χρήσης (χρονοβόρος διαδικασία). Η εντολή: man k keyword : Ψάχνει όλες τις συμβολοσειρές που περιέχουν τη λέξη keyword στις σύντομες περιγραφές όλων των εντολών. Εμφανίζει λίστα με όνομα εντολής και σύντομη περιγραφή στην οποία βρήκε τη λέξη. man f keyword : Ψάχνει τη λέξη keyword στις σύντομες περιγραφές όλων των εντολών. Εμφανίζει λίστα με όνομα εντολής και σύντομη περιγραφή στην οποία βρήκε τη λέξη. apropos keyword : Ίδιο με man k keyword. whatis keyword : Ίδιο με man f keyword. Εντολές πληροφόρησης για το σύστημα και τους χρήστες Κάθε χρήστης μπορεί να δώσει ορισμένες εντολές και να αντλήσει πληροφορίες για το σύστημα καθώς επίσης για τον ίδιο και τους υπόλοιπους χρήστες. Οι εντολές αυτές είναι: uname Με την εντολή αυτή μπορεί ο χρήστης να εντοπίσει το είδος του λειτουργικού συστήματος που χρησιμοποιείται. Με την παράμετρο -sr η εντολή μας δίνει την συγκεκριμένη έκδοση του λειτουργικού συστήματος ενώ με την παράμετρο -a μας δίνει περισσότερες πληροφορίες για το σύστημα. adduser και rmuser Εφόσον ο χρήστης που συνδέθηκε έχει δικαιώματα διαχειριστή έχει τη δυνατότητα να προσθέτει (adduser) και να διαγράφει χρήστες (rmuser). Παράδειγμα: adduser jtsak ή rmuser jtsak
passwd Με την εντολή αυτή ο χρήστης μπορεί να αλλάξει τον κωδικό του. whoami Με την εντολή αυτή επιστρέφεται η ταυτότητα (όνομα) του χρήστη. groups Με την εντολή αυτή ο χρήστης μπορεί να δει σε ποιες ομάδες ανήκει (με όνομα και κωδικό). id Κάθε χρήστης ανήκει σε μία ομάδα χρηστών (group). Το σύστημα αναγνωρίζει τον κάθε χρήστη από ένα αριθμό (uid -> user identification) και την κάθε ομάδα από έναν αντίστοιχο αριθμό (gid -> group identification). Μέσω της εντολής id ο χρήστης μπορεί να βρει τον uid που του αντιστοιχεί, την ομάδα που ανήκει και τον αντίστοιχο αριθμό της ομάδας (gid). users ή who ή w Με τις εντολές αυτές βλέπουμε τους χρήστες που είναι συνδεμένοι με το σύστημα. Συγκεκριμένα βλέπουμε: όνομα χρήστη, όνομα τερματικού, ημερομηνία και ώρα εισόδου στο σύστημα. finger Με την εντολή αυτή ο χρήστης μπορεί να δει του χρήστες που είναι συνδεμένοι στο σύστημα όπως με τις παραπάνω εντολές με επιπρόσθετες πληροφορίες. last Με την εντολή αυτή ο χρήστης μπορεί να δει ποιοι χρήστες μπήκαν πρόσφατα στο σύστημα. Αναγνώριση μονάδων στο Unix Το Unix θεωρεί τις περιφερειακές συσκευές σαν αρχεία που βρίσκονται στον καταλογο /dev. Τα ονόματα των αρχείων αυτών ακολουθούν κάποιους συγκεκριμένους τύπους ονομάτων, όπως: Τα τερματικά αρχίζουν από tyy. Οι δίσκοι αρχίζουν από fd ή rfd. Οι μαγνητικές ταινίες αρχίζουν από mt ή rmt ή rtp. Οι εκτυπωτές ή δηλώνονται ως τερματικά (tyy) ή συνδέονται σε ειδικές εξόδους (par ή lp0)
Η μονάδα μνήμης δηλώνεται ως mem. Προεπισκόπηση κατάστασης της μνήμης - Εντολή free Με την εντολή free ο χρήστης μπορεί να ελέγξει την κατάσταση - διαθεσιμότητα της μνήμης. Προεπισκόπηση και μορφοποίηση των δίσκων df Η εντολή df (disk free) αναφέρει το συνολικό χώρο του δίσκου, το χώρο που χρησιμοποιείται και τον ελεύθετο χώρο, για κάθε σύστημα αρχείων του συστήματος. Ο διακόπτης -h χρησιμοποιείται για να παίρνουμε τα αποτελέσματα σε πιο εύληπτη μορφή. du Η εντολή du (disk usage) αναφέρει πόσο χώρο (σε KB) καταλαμβάνουν τα περιεχόμενα ενός καταλόγου και των υποκαταλόγων του. Συνήθως χρησιμοποιούμε τον διακόπτη -s για να βλέπουμε περιληπτικά και όχι αναλυτικά αποτελέσματα. Ο διακόπτης -h χρησιμοποιείται για να παίρνουμε τα αποτελέσματα σε πιο εύληπτη μορφή. fdisk Με την εντολή αυτή ο χρήστης μπορεί να δει την κατάσταση των δίσκων του συστήματος και το partition. Συνοδεύετε από την παράμετρο -l. mkfs Με την εντολή αυτή μπορεί ο χρήστης να μορφοποιήσει τον σκληρό δίσκο του συστήματος. Συνοδεύετε από ο format του partition που επιθυμεί ο χρήστης. Χρήση αφαιρούμενου αποθηκευτικού μέσου Η χρήση αφαιρούμενων αποθηκευτικών μέσων όπως CD, floppy, πιθανόν να απαιτεί τη σύνδεση τους από το χρήστη πριν προσπελάσει τα δεδομένα αφού αυτά δεν συνδέονται αυτόματα σε όλες τις εκδόσεις του Linux. Η εντολή που χρησιμοποιείτε είναι η mount: mount /mnt/floppy ή mount /mnt/cdrom Επίσης αντίστοιχα για την αποσύνδεση τους χρησιμοποιείται η εντολή umount: umount /mnt/floppy ή umount /mnt/cdrom Γενικές εντολές συστήματος
date Παρουσιάζει την ημερομηνία και την ώρα του συστήματος. cal Παρουσιάζει το ημερολόγιο που θα ζητήσει ο χρήστης. clear Η εντολή clear καθαρίζει την οθόνη από ότι περιέχει. history Δίνεται η δυνατότητα χρήσης των βελών για την εκτέλεση προηγούμενων εντολών. Παράλληλα όμως ο κατάλογος των προηγούμενων εντολών που εκτελέστηκαν δίνεται με χρήσh της εντολής history. Στη γραμμή εντολών:!!, επανάληψη της τελευταίας εντολής.!abc, επανάληψη της τελευταίας εντολής που άρχιζε με την συμβολοσειρά abc.!5, επανάληψη της εντολής που φαίνεται με αύξοντα αριθμό 5 στο ιστορικό εντολών.!?abc, επανάληψη της τελευταίας εντολής που περιείχε την συμβολοσειρά abc.!-5, επανάληψη της εντολής που δώσαμε πριν από 5 εντολές. ^old^new, τροποποίηση της τελευταίας εντολής με αλλαγή της συμβολοσειράς old σε new. Εντολή Εξόδου - exit Με την εντολή αυτή ο χρήστης μπορεί να εξέλθει από το σύστημα.
Ασκήσεις 1. Ποιος είναι ο κατάλογος εργασίας σας μόλις μπείτε στο σύστημα; 2. Χρησιμοποιείστε όλες τις χρήσιμες συντομεύσεις και τους συνδιασμούς πλήκτρων του σχήματος 3 στην προσπάθεια σας να συντάξεται μία οποιαδήποτε εντολή. 3. Ποια η διαφορά μεταξύ των εντολών man -k keyword και man -f keyword; 4. Δοκιμάστε την εντολή man για τις εντολές date και cal. Μελετήστε τη βοήθεια για τις εντολές και τα ορίσματα με τα οποία μπορούν να συνταχθούν. Να εκτελέσετε τις παρακάτω εντολές: date date +"Today is %A, %B %d, %Y. %n The time now is %r, %Z." cal cal 11 2007 5. Με την εντολή man διαβάστε τη βοήθεια για όλες τις εντολές του εργαστηρίου. Στη συνέχεια εκτελέστε παραδείγματα αυτών.