1o ΕΡΓΑΣΤΗΡΙΟ ΣΤΟΧΟΣ Εξοικείωση με τα συστήματα Unix/Linux του τμήματος. Εξοικείωση με την γραμμή εντολών. ΑΣΚΗΣΗ 1 1. εάν κατά την εκκίνηση του υπολογιστή δεν έχετε επιλέξει debian στο boot menu, κάντε επανεκκίνηση και επιλέξετε debian. 2. εμφανίζεται η αρχική οθόνη εισόδου όπου ζητείται username/password. τα εργαστήρια χρησιμοποιείται το username studin και password "studin". Επιλέξτε τον χρήστη studin και κάντε Login. Login ονομάζεται η διαδικασία εισόδου στο σύστημα (ταυτοποίηση χρήστη), και logout ονομάζεται η διαδικασία εξόδου (αποσύνδεσης) 3. Εντοπίςτε τθν εφαρμογι Terminal ι Konsole και κάντε κλικ. Εκτελείται μια εφαρμογι θ οποία «προςομοιϊνει» ζνα τερματικό. Μζςα ςτο τερματικό εκτελείται ζνα κζλυφοσ (shell). Το shell είναι υπεφκυνο να αναγνωρίςει τισ εντολζσ μασ και να τισ προωκιςει ςτον πυρινα για εκτζλεςθ. 4. Δοκιμάςτε να εκτελζςετε μερικζσ εντολζσ: 1. whoami 2. date 3. cal 4. cal 2011 5. echo "Hello world" 6. whoami; date Διαχωριστής εντολών είναι είτε το Enter είτε το ;. Σο shell μόλις πατήσουμε Enter ερμηνεύει την εντολή μας και την εκτελεί. 5. Ο τρόποσ που ερμθνεφονται οι εντολζσ εξαρτάται από το κζλυφοσ που χρθςιμοποιοφμε και όχι από το πρόγραμμα προςομοίωςθσ τερματικοφ. Πλζον, ευρζωσ διαδεδομζνο κζλυφοσ που χρθςιμοποιείται κατά κόρον είναι το bash. Στο παρόν μάκθμα κα χρθςιμοποιιςουμε το bash και τον πρόγονό του το sh. 6. Πατιςτε Cntrl-Alt-F1. Εμφανίηεται μπροςτά ςασ ζνα άλλο τερματικό (κονςόλα). Αυτι τθν εικόνα κα δείτε ςε κάποιο ςφςτθμα ςτο οποίο δεν υπάρχει εγκατεςτθμζνο παρακυρικό περιβάλλον. Σασ ηθτείται πάλι username/password. Πλθκτρολογιςτε studin και πατιςτε Enter. Τϊρα χρθςιμοποιείτε πάλι το ίδιο shell, μζςα όμωσ από άλλο «πρόγραμμα τερματικοφ». Δοκιμάςτε να πλθκτρολογιςετε τισ εντολζσ που δϊςατε πριν. Είναι το αποτζλεςμα ακριβϊσ το ίδιο; 7. Πατιςτε Cntrl-Alt-F2. Μια νζα κονςόλα εμφανίηετε, όπου πάλι πρζπει να δϊςετε username/password. Πλθκτρολογιςτε studin ςαν username. Δϊςτε μια εντολι από τισ προθγοφμενεσ και μετά τθν εντολι logout. 8. Πατιςτε Cntrl-Alt-F1. Επιςτρζψατε ςτθν προθγοφμενθ κονςόλα. Πλθκτρολογιςτε τθν εντολι exit.
9. Δοκιμάςτε τουσ ςυνδυαςμοφσ Cntrl-Alt-F1, Cntrl-Alt-F2, Cntrl-Alt-F6. Υπάρχουν προ-ρυκμιςμζνεσ 6 κονςόλεσ. Πατιςτε Cntrl-Alt-F7. Επιςτρζψατε ςτο παρακυρικό περιβάλλον. 10. Εντοπίςτε τθν εφαρμογι Terminal ι Konsole και εκτελζςτε τθν 2 φορζσ. Άνοιξαν ακόμθ 2 terminals. Μπορείτε να εργάηεςτε με πολλά τερματικά ςυγχρόνωσ. Κάκε ζνα είναι ανεξάρτθτο από τα υπόλοιπα. ΑΣΚΗΣΗ 2 Απομακρυςμζνθ πρόςβαςθ. Όλοι οι φοιτητές του τμήματος Πληροφορικής έχετε e-mail λογαριασμό στον mail-server του τμήματος. Η διεύθυνση του email σας είναι της μορφής: antonis@it.teithe.gr όπου το antonis είναι το όνομα χρήστη (username). Επίσης, όλοι έχετε (πρέπει να έχετε) αντίστοιχο λογαριασμό (account) στον κεντρικό Linuxserver του τμήματος o οποίος έχει την διεύθυνση (hostname) aetos.it.tetihe.gr Σο username σας στον aetos είναι ίδιο με το username του mail-server (πχ. antonis), όπως και το password. Μπορείτε να «ανοίξετε» ένα κέλυφος στον aetos.it.teithe.gr και να εκτελείτε εντολές απομακρυσμένα (δηλαδή οι εντολές σας να εκτελούνται στον aetos). Αυτό που χρειάζεστε είναι ένα πρόγραμμα το οποίο έχει την ικανότητα να επικοινωνεί με ένα απομακρυσμένο υπολογιστή και να εκτελέσει εκεί ένα shell. Από την άλλη μεριά, ο απομακρυσμένος υπολογιστής πρέπει να ξέρει να επικοινωνήσει με αυτό το πρόγραμμα και να δεχτεί την σύνδεση. Αυτή η επικοινωνία των 2 υπολογιστών γίνεται βάση κάποιον πρωτοκόλλων επικοινωνίας. Σα περισσότερο γνωστά είναι τα: telnet, rsh (remote shell), rlogin (remote login), ssh (secure shell). Πλέον χρησιμοποιείται μόνο το τελευταίο (ssh) διότι τα υπόλοιπα δεν παρέχουν αρκετή ασφάλεια κατά την επικοινωνία και την ανταλλαγή δεδομένων (είναι επιρρεπή στις υποκλοπές δεδομένων). Ο aetos δεν θα δεχτεί καμία σύνδεση με τα υπόλοιπα πρωτόκολλα επικοινωνίας παρά μόνο μες το ssh για λόγους ασφαλείας. 1. Σε ζνα από τα τερματικά που ζχετε ανοίξει, πλθκτρολογιςτε τθν εντολι: ssh antonis@aetos.it.teithe.gr αντί antonis το δικό ςασ username. κα ςασ ηθτθκεί password. Πλθκτρολογιςτε το password ςασ και πατιςτε Enter. Όταν πληκτρολογούμε password σε κάποιο πρόγραμμα (π.χ. σε μια ιστοσελίδα μέσω ενός browser) δεν εμφανίζονται οι χαρακτήρες που πληκτρολογούμε και αντί αυτών συνήθως εμφανίζονται αστεράκια. όταν πληκτρολογούμε password σε κάποιο τερματικό δεν εμφανίζεται απολύτως κανένας χαρακτήρας (ούτε αστεράκια), όμως το σύστημα διαβάζει τα πλήκτρα που πατάμε. Σο τέλος του κωδικού σηματοδοτείται με το πάτημα του Enter. Εφόςον ζχετε πλθκτρολογιςει ςωςτά τον κωδικό ςασ, το ςφςτθμα ςασ καλωςορίηει κάπωσ ζτςι:
Welcome to Technological Educational Institute of Thessaloniki Department of Information Technology IBM System x3650 running Debian GNU/Linux aetos.it.teithe.gr (195.251.123.232) P.O BOX 141 GR - 541 01 Thessaloniki, Macedonia, GREECE Tel: +30 31 798727 Fax: +30 31 791290 No mail. Last login: Tue Mar 6 16:26:27 2012 from 2002:c3fb:7b03:3:226:b9ff:fe1e:e4ce asidirop@aetos:~$ 2. Η προτροπι που εμφανίηει το shell, ςυνικωσ είναι τθσ μορφισ: username@hostname:pwd$ δοκιμάςτε να εκτελζςετε τισ ίδιεσ εντολζσ που εκτελζςατε και τοπικά νωρίτερα. Είναι τα αποτελζςματα των εντολϊν ακριβϊσ ίδια με πριν; 3. Δϊςτε τθν εντολι: finger antonis (όπου antonis το δικό ςασ username) 4. Εκτελζςτε τθν εντολι: who Τι βλζπετε ωσ αποτζλεςμα; Είναι το username ςασ ανάμεςα ςτα αποτελζςματα τθσ εντολισ; Ποια είναι τα υπόλοιπα usernames που εμφανίηονται; 5. Επιλζξτε ζνα από τα usernames που ςασ εμφάνιςε θ who (πχ. asidirop). Ποιοσ χριςτθσ είναι αυτόσ; Δϊςτε τθν εντολι: finger asidirop (όπου asidirop το username που επιλζξατε) για να δείτε πλθροφορίεσ για τον χριςτθ. ΑΣΚΗΣΗ 3 Σφνταξθ εντολϊν. Σο κέλυφος (shell) αναμένει να πληκτρολογήσουμε εντολές. Τπάρχουν διάφορα shells, και το καθένα μπορεί να έχει τους δικούς του κανόνες σύνταξης. Σο shell που χρησιμοποιούμε είναι το bash (βελτιωμένη έκδοση του sh). Η γενική σύνταξη μιας εντολής είναι: Όνομα_εντολής ορίσματα_τύπου_flag ορίσματα_αρχείων Σα ορίσματα από το όνομα εντολής χωρίζονται με τουλάχιστον ένα space. Σα ορίσματα μεταξύ τους χωρίζονται επίσης με τουλάχιστον ένα space. Πχ: ls l a /tmp εκτελούμε την εντολή με όνομα ls, και της δίνουμε 3 ορίσματα: 1 ο όρισμα: -l 2 ο όρισμα: -a
3 ο όρισμα: /tmp. το /tmp είναι όρισμα που εκφράζει όνομα καταλόγου (ή θα μπορούσε και αρχείου) υνήθως οι εντολές διαχωρίζουν τα ορίσματα που εκφράζουν όνομα αρχείου από τα ορίσματα που εκφράζουν flag από το (μείον) που βάζουμε μπροστά στα ορίσματα τύπου flag. Σα ορίσματα που μπορούμε να δώσουμε σε κάθε εντολή εξαρτώνται 100% από την ίδια την εντολή. 1. Εκτελζςτε τισ παρακάτω εντολζσ: 1. ls 2. ls -a 3. ls -l 4. ls -l -a 5. ls la 6. ls -all 7. ls a 2. Τι διαφορά υπάρχει ςτο αποτζλεςμα των εντολϊν (6) και (7) 3. Τι διαφορά υπάρχει ςτο αποτζλεςμα των εντολϊν (4) και (5) Η εντολή ls εμφανίζει τα περιεχόμενα (αρχεία και υποκαταλόγους) του καταλόγου στον οποίο βρισκόμαστε (στο επόμενο εργαστήριο θα δούμε περισσότερες λεπτομέρειες για αυτό). Με τα ορίσματα σε μια εντολή δίνουμε οδηγίες στην εντολή πώς να συμπεριφερθεί. Για την ls το α σημαίνει όλα τα αρχεία (και τα κρυφά). Σο l σημαίνει long listing (επιπλέον πληροφορίες για τα αρχεία που θα εμφανίσει). Για να δούμε τα δυνατά ορίσματα που μπορεί να δεχτεί μια εντολή, πρέπει να διαβάσουμε το εγχειρίδιο χρήσης ή αλλιώς manual page. Οι περισσότερες εντολές, όταν τα flags εκφράζονται με ένα γράμμα (πχ: -a ή l) επιτρέπουν την σύμπτυξη τους: -a l -al Αυτό είναι θέμα δυνατοτήτων της κάθε εντολής και όχι του shell ή του UNIX. 4. Εκτελζςτε τθν εντολι: man ls Βρείτε τι ςθμαίνει το all. Η εντολή man εμφανίζει το manual page της εντολής της οποίας το όνομα δώσαμε ως όρισμα. Μέσα στο man μπορούμε να μετακινηθούμε πάνω-κάτω με τους κέρσορες ή το space ή το Enter. Για έξοδο πατάμε το πλήκτρο q. 5. Εκτελζςτε τθν εντολι: ls-l τι παρατθρείτε; Γιατί; ΑΣΚΗΣΗ 4 τον παρακάτω πίνακα αναφέρονται οι πιο συχνές εντολές για τον χειρισμό αρχείων και καταλόγων. Φρησιμοποιώντας την εντολή man, συμπληρώστε τα κενά στον παρακάτω πίνακα.
Εντολή Βασικά Οπίσματα Εξήγηση mkdir [όνομα καταλόγοσ] Δημιοσργεί κατάλογο rmdir [όνομα καταλόγοσ] Διαγράυει κατάλογο cp [-i] [-f] [-r] [πηγή/ές] Αντιγράυει αρτεία ή [προορισμός] καταλόγοσς mv [-i] [-f] [πηγή/ές] [προορισμός] Μετακινεί/μετονομάζει αρτεία ή καταλόγοσς rm [-i] [-f] [-r] [ονόματα αρτείων Διαγράυει αρτεία ή ή καταλόγων] καταλόγοσς cd [όνομα καταλόγοσ] Αλλαγή τρέτοντος καταλόγοσ. ls [-l] [-a] [ονόματα αρτείων ή Εμυανίζει τα περιετόμενα καταλόγων] καταλόγων pwd cat more head tail [ονόματα αρτείων] [ονόματα αρτείων] [-νούμερο] [ονόματα αρτείων] [-νούμερο] [ονόματα αρτείων] ΑΣΚΗΣΗ 5 1. Εκτελζςτε τισ εντολζσ (ςτον αετο): cat /etc/passwd more /etc/passwd head -15 /etc/passwd tail -10 /etc/passwd cd /etc tail -10 passwd tail -10 /etc/mtools.conf tail n +10 /etc/mtools.conf