Professional Documents
Culture Documents
ΙΕΚ ΛΑΓΚΑΔΑ
Εκπαιδευτής: Γεωργέλλης Παναγιώτης
Γενικά
Το λειτουργικό σύστημα UNIX αναπτύχθηκε από την AT&T (Bell Laboratories) στα
τέλη της δεκαετίας του 60. Εξαπλώθηκε σε ολόκληρο τον κόσμο και εγκαταστάθηκε
σε μια ποικιλία συστημάτων από μεγάλα υπολογιστικά συστήματα έως μικρούς
προσωπικούς υπολογιστές. Η ευρεία διάδοση του οφείλεται στο ότι επειδή είναι
γραμμένο σε μια γλώσσα ανωτέρου επιπέδου (γλώσσα C) είναι εύκολα
προσαρμόσιμο σε διαφορετικά συστήματα, και στο ότι είναι ένα πολύ αξιόπιστο
λειτουργικό σύστημα.
Για να ξεχωρίζει ο ένας χρήστης του συστήματος από τον άλλον, σε κάθε χρήστη
αντιστοιχίζεται ένας λογαριασμός (account) που αποτελείται από ένα όνομα χρήστη
(user name ή login name) που είναι διαφορετικό για κάθε χρήστη και γνωστό σε
όλους και ένα μυστικό συνθηματικό (password) γνωστό μόνον στον ίδιο το χρήστη
το οποίο εξασφαλίζει ότι ο λογαριασμός του συγκεκριμένου χρήστη δεν
χρησιμοποιείται από άλλα πρόσωπα. Για να αποκτήσει πρόσβαση στο σύστημα, ο
χρήστης πρέπει να δώσει το σωστό συνδυασμό ονόματος χρήστη και συνθηματικού.
Τέλος, κάθε χρήστης ανήκει σε ένα ή και περισσότερα group. Ένα group είναι μια
ομάδα χρηστών στην οποία εκχωρούνται κάποια συγκεκριμένα δικαιώματα σχετικά
με τη χρήση του συστήματος από το διαχειριστή συστήματος.
3
Τα μέσα αποθήκευσης μιας μηχανής UNIX (σκληρός δίσκος, cd-rom, κλπ.) είναι
οργανωμένα με τη λογική μορφή ενός ανεστραμμένου "δέντρου".
Κάθε κλαδί του δέντρου είναι ένας κατάλογος (directory) που περιέχει αρχεία (files)
και άλλους καταλόγους (subdirectories). Ο κατάλογος που βρίσκεται στην κορυφή
του δέντρου ονομάζεται κατάλογος ρίζα (root directory).
Η δομή αυτή μοιάζει αρκετά με την αντίστοιχη του MS-DOS. Μια διαφορά που
υπάρχει είναι ότι ο χαρακτήρας που διαχωρίζει τα ονόματα καταλόγων και αρχείων
σε μια διαδρομή (path) είναι ο "/" και όχι ο "\", π.χ.: /usr/bin ή
/users/gnikou/report.text, κοκ. Το / συμβολίζει τον κατάλογο ρίζα:
Τα ονόματα αρχείων και καταλόγων στο UNIX ακολουθούν τους εξής κανόνες:
Ένα όνομα έχει μήκος μέχρι 14 χαρακτήρες, οι οποίοι μπορεί να είναι: i) τα γράμματα
του λατινικού αλφάβητου a-z, A-Z, ii) οι αριθμοί 0-9, iii) οι ειδικοί χαρακτήρες: ".",
"_", ",", "-", "+". Ένα όνομα δεν μπορεί να ξεκινά με "-" ή "+"
Μόλις συνδεθούμε με μια UNIX μηχανή, εμφανίζεται στην οθόνη μας η προτροπή
(prompt) του UNIX, σημάδι ότι το λειτουργικό σύστημα περιμένει τις εντολές μας.
Το prompt είναι συνήθως ένα σύμβολο όπως το "$" ή το "%".
Στο UNIX, ένα τμήμα του λειτουργικού συστήματος που ονομάζεται κέλυφος (shell)
δέχεται τις εντολές που πληκτρολογούμε, τις ερμηνεύει και εκτελεί κάποια ενέργεια
βασιζόμενος σε αυτές. Το πρόγραμμα αυτό είναι επομένως ο "διερμηνέας" των
εντολών μας. Επειδή το shell εκτελείται σαν οποιοδήποτε άλλο πρόγραμμα,
μπορούμε να χρησιμοποιούμε διαφορετικά shell - αρκεί βέβαια να είναι διαθέσιμα
στο σύστημα στο οποίο δουλεύουμε. Υπάρχει μια ποικιλία από shell: το βασικό shell
που περιλαμβάνεται σε όλα τα UNIX συστήματα είναι το Bourne shell (sh) που
χρησιμοποιεί σαν prompt το "$". Υπάρχουν επίσης το Korn shell (ksh) που επίσης
χρησιμοποιεί σαν prompt το "$", το C shell (csh) που χρησιμοποιεί σαν prompt το
"%", κ.α.
5
Βασικές εντολές
id
Εμφανίζει το όνομα χρήστη μας (login name) και το όνομα του group στο οποίο
ανήκουμε.
who
Για κάθε χρήστη που είναι αυτή τη στιγμή συνδεδεμένος στο σύστημα εμφανίζει τις
ακόλουθες πληροφορίες: το όνομα του χρήστη, το τερματικό στο οποίο είναι
συνδεδεμένος, την ημερομηνία και ώρα που συνδέθηκε στο σύστημα και σε
περίπτωση τηλεσύνδεσης, το όνομα του υπολογιστή από τον οποίον συνδέθηκε ο
χρήστης.
Εμφανίζει για κάθε συνδεδεμένο χρήστη τις ίδιες πληροφορίες με τη who, και
επιπλέον, το χρόνο που ο χρήστης είναι ανενεργός δηλ. δεν έχει πατήσει κανένα
πλήκτρο και τη διεργασία που εκτελεί.
date
write <όνομα_χρήστη>
Μέσω της εντολής αυτής, "συνομιλούμε" με κάποιον χρήστη που είναι συνδεδεμένος
είτε στο σύστημά μας (δίνοντας το όνομα χρήστη του) είτε σε κάποιο
απομακρυσμένο σύστημα με σύνδεση στο Internet (δίνοντας την E-mail διεύθυνσή
6
του). Όταν εκτελούμε την talk, η οθόνη μας και η οθόνη του άλλου χρήστη χωρίζεται
σε δύο περιοχές. Στη μία εμφανίζεται ό,τι πληκτρολογούμε εμείς και στην άλλη ό,τι
πληκτρολογεί ο "συνομιλητής" μας.
man <εντολή>
Εμφάνιση πληροφοριών σχετικά με την εντολή <εντολή>. Δίνοντας π.χ. man talk,
παίρνουμε περισσότερες πληροφορίες για τη χρήση της εντολής talk.
pwd
cd <dir>
mkdir <dir>
rmdir <dir>
cp <file1> <file2>
mv <file1> <file2>
από τα <file1> <file2> ... μετακινούνται στον κατάλογο <dir> και διαγράφονται από
την αρχική τους θέση.
Διαγραφή του αρχείου ή των αρχείων που προσδιορίζονται από τα <file1> <file2> ...
ls <dir>
Οι 3 πρώτοι από τους 9 χαρακτήρες δείχνουν τα δικαιώματα του χρήστη που είναι
ιδιοκτήτης του αρχείου ή καταλόγου και ο οποίος φαίνεται στην τρίτη στήλη. Αν
π.χ. έχει όλα τα δικαιώματα, οι χαρακτήρες αυτοί θα είναι "rwx", ενώ αν έχει μόνον
δικαίωμα ανάγνωσης και εγγραφής, θα είναι "rw-". Οι επόμενοι 3 χαρακτήρες
δείχνουν τα δικαιώματα των χρηστών που ανήκουν στο group που εμφανίζεται στην
τέταρτη στήλη. Οι τελευταίοι 3 χαρακτήρες δείχνουν τα δικαιώματα των υπόλοιπων
χρηστών (others).
ένας αριθμός που για ένα αρχείο είναι συνήθως 1, ενώ για έναν κατάλογο είναι ο
αριθμός των υποκαταλόγων που περιέχει
Π.χ. το αρχείο update1 είναι αρχείο που ανήκει στο χρήστη mpapas. Ο χρήστης αυτός
έχει δικαίωμα ανάγνωσης και εγγραφής στο αρχείο. Δικαίωμα ανάγνωσης έχουν
επίσης οι χρήστες που ανήκουν στο group noc καθώς και οι υπόλοιποι χρήστες. Το
αρχείο έχει μέγεθος 368293 bytes και τροποποιήθηκε για τελευταία φορά στις 31
Δεκεμβρίου.
cat <file>
Εμφάνιση των περιεχομένων του αρχείου <file>. Αν το αρχείο ξεπερνά τη μία οθόνη,
μπορούμε να χρησιμοποιήσουμε την εντολή cat σε συνδυασμό με την εντολή more
ώστε τα περιεχόμενά του να εμφανίζονται ανά οθόνες: cat <file> | more
more <file>
passwd
Αλλαγή του συνθηματικού μας. Περισσότερα για την εντολή αυτή στην επόμενη
παράγραφο.
Για την ασφάλεια του συστήματος, πρέπει να είμαστε προσεκτικοί στην επιλογή
των κρυφών συνθηματικών μας (password):
Επίσης, δεν θα πρέπει να είναι μια λέξη που να υπάρχει σε λεξικό γιατί είναι
επικίνδυνο να "σπάσει" από τους χάκερ με τη βοήθεια προγραμμάτων που
χρησιμοποιούν λεξικά.
Τέλος, καλό είναι να αλλάξουμε το συνθηματικό που μας αποδόθηκε αρχικά από το
διαχειριστή συστήματος με το άνοιγμα του λογαριασμού μας και γενικότερα να
αλλάζουμε κατά διαστήματα το συνθηματικό που έχουμε.
New password:
Το σύστημα μας ζητά το νέο συνθηματικό που πρέπει να διαφέρει από το παλιό
τουλάχιστον σε 3 χαρακτήρες. Το πληκτρολογούμε και πατάμε [ENTER]. Κατόπιν
εμφανίζεται το μήνυμα:
Μέσω της εντολής finger, μπορούμε να πάρουμε πρόσθετες πληροφορίες για τους
χρήστες του τοπικού μας συστήματος ή άλλων απομακρυσμένων συστημάτων
συνδεδεμένων με το Internet.
Πληκτρολογώντας finger στο prompt του UNIX, παίρνουμε μια λίστα από
πληροφορίες για τους χρήστες που είναι αυτή τη στιγμή συνδεδε
11
Σε κάθε γραμμή της λίστας αυτής, περιλαμβάνονται οι εξής πληροφορίες για κάθε
χρήστη: όνομα χρήστη (login name), πραγματικό ονοματεπώνυμο, τερματικό που
χρησιμοποιεί, χρόνος που παραμένει αδρανής (εμφανίζεται σε ώρες και λεπτά ή σε
ημέρες αν υπάρχει το γράμμα d), ημέρα και ώρα σύνδεσης με το σύστημα και τέλος,
σε περίπτωση τηλεσύνδεσης, το όνομα του υπολογιστή από τον οποίον συνδέθηκε ο
χρήστης.
finger @cs.toronto.edu
μπορούμε να δούμε ποιοι χρήστες είναι συνδεδεμένοι στο σύστημα του Τμήματος
Υπολογιστών του Πανεπιστημίου του Τορόντο τη στιγμή αυτή. Σημειώνουμε ότι για
λόγους ασφάλειας, πολλά συστήματα δεν επιτρέπουν τις εισερχόμενες εντολές finger.
Δίνοντας π.χ.
finger mpapas
Οι πληροφορίες που παρέχονται μέσω της finger ποικίλλουν από το ένα σύστημα
στο άλλο και εξαρτώνται επίσης από την καλή θέληση και έγκριση του ίδιου του
χρήστη.
ό,τι πληροφορίες θέλει. Η finger, θα εμφανίζει την πρώτη γραμμή του αρχείου
.project, και όλες τις γραμμές του αρχείου .plan. Επίσης, μπορεί να ζητήσει από το
διαχειριστή συστήματος να εμφανίζονται π.χ. η διεύθυνση του γραφείου του, ο
αριθμός τηλεφώνου εργασίας και οικίας και άλλες πληροφορίες.
Η finger μπορεί να μας φανεί χρήσιμη π.χ. στην περίπτωση που θέλουμε να δούμε αν
ένας συγκεκριμένος χρήστης είναι συνδεδεμένος σε ένα σύστημα ώστε να
"συνομιλήσουμε" μαζί του μέσω της εντολής talk.
Επίσης, στην περίπτωση που ψάχνουμε για την E-mail διεύθυνση ενός ατόμου. Αν
για παράδειγμα ψάχνουμε για την E-mail διεύθυνση ενός φίλου μας που λέγεται
Νίκος Παπαδόπουλος και σπουδάζει στο Τμήμα Υπολογιστών του Παν. του Τορόντο,
μπορούμε να δώσουμε τη finger προσδιορίζοντας το επώνυμο ή το μικρό όνομα του
φίλου μας, δηλαδή:
Η finger θα μας επιστρέψει το όνομα χρήστη (Login name) του φίλου μας, π.χ. npap,
οπότε συμπεραίνουμε ότι η E-mail διεύθυνσή του θα είναι: npap@cs.toronto.edu
13
Εντολή: pwd
Χρήση: Η εντολή pwd σας ενημερώνει για το ποιος είναι ο τρέχων κατάλογος που
εργάζεστε στον Virtual Server.
Παράδειγμα: Γράψτε "pwd" στο prompt και θα σας επιστρέψει κάτι σαν και αυτό
"/usr/home/vserver/etc"
Εντολή: ls
Χρήση: Η εντολή ls σας επιστρέφει μια λίστα των αρχείων και των υποκαταλόγων
του τρέχοντος καταλόγου που βρίσκεστε. Μπορείτε να τροποποιήσετε την εντολή και
θα σας επιστρέφει πιο σημαντικές πληροφορίες.
Εάν γράψετε "ls -F" θα σας επισυνάψει μπροστα απο τα ονόματα των subdirectory
μια κάθετη "/" έτσι ώστε να μπορείτε εύκολα να τα διακρίνετε απο τα ονόματα των
αρχείων.
Εάν γράψετε "ls -a" θα σας εμφανίσει όλα τα κρυφά αρχεία σαν αρχεία .htaccess .
Εάν γράψετε "ls -l" θα σας εμφανίσει λεπτομερής πληροφορίες σχετικά με κάθε
αρχείο και κατάλογο. Επίσης περιέχει περιορισμούς, ιδιοκτήτες, μεγέθη, και πότε τα
αρχεία είχαν τροποποιηθεί για τελευταία φορά.
Παράδειγμα: Γράψτε "ls -al" στο prompt και θα σας επιστρέψει τα ονόματα τω
αρχείων που περιέχουν κρυφά αρχεία και μια "/" μπροστά απο κάθε υποκατάλογο.
Ισοδύναμο του DOS: dir
Εντολή: mkdir
Χρήση: Με την εντολή mkdir δημιουργείτε έναν νέο κατάλογο. Δηλαδή απλά
γράφετε "mkdir directory" στο prompt και αντικαθιστόντας το directory με το
όνομα του καταλόγου που θέλετε να δημιουργήσετε.
Παράδειγμα: Γράψτε "mkdir temp" στο prompt για να δημιουργήσετε έναν νέο
κατάλογο με όνομα temp.
Ισοδύναμο του DOS: md, mkdir
Εντολή: rmdir
Χρήση: Με την εντολή rmdir διαγράφετε έναν κατάλογο.Απλά γράφετε "rmdir
directory" στο prompt και αντικαθιστόντας το directory με το όνομα του καταλόγου
που θέλετε να διαγράψετε.
Παράδειγμα: Γράψτε "rmdir temp" στο prompt για να μετακινήσετε το directory με
όνομα temp.
Ισοδύναμο του DOS: rd, rmdir
Εντολή: cp
Χρήση: Η εντολή cp αντιγράφει ένα αρχείο σε μια νέα τοποθεσία ή σε ένα άλλο
14
όνομα αρχείου. Απλά γράφετε "cp filename copyname" στο prompt και
αντικαθιστόντας το filename με το όνομα του αρχείου που θέλετε να αντιγράψετε,
και το copyname με το όνομα του νέου αντίγραφου.
Επίσης μπορείτς να προσθέσετε ένα διάγραμμα καταλόγου εάν θέλετε να
αντιγράψετε το αρχείο σε μια εντελώς νέα τοποθεσία. Απλά γράψτε "cp filename
directory/copyname" και αντικαταστήστε το directory με το όνομα του καταλόγου
όπου θέλετε το νεό αντίγραφο να τοποθετηθεί.
Παράδειγμα: Γράψτε "cp home.htm index.html" στο prompt για να αποκτήσετε ένα
αντίγραφο του αρχείου home.htm , με νέο όνομα index.html
Ισοδύναμο του DOS:copy
Εντολή: mv
Χρήση: Η εντολή mv μετονομάζει ένα αρχείο ή το μετακινεί σε μια νέα κατεύθυνση.
Απλά γράψτε "mv oldfile newfile" στο prompt και αντικαταστήστε το oldfile με το
όνομα του αρχείου που επιθυμείτε να μετονομάσετε ή να μετακινήσετε, και το
newfile με το νέο όνομα του νέου αρχείου.
Μπορείτε επίσης να προσθέσετε την δομή ενός καταλόγου εάν επιθυμείτε να
μετακινήσετε το αρχείο σε μία νέα εντελώς κατεύθυνση. Απλά γράψτε "mv oldfile
directory/newfile" και αντικαταστήστε το directory με το όνομα του καταλόγου που
θέλετε το αρχείο να μετακινηθεί.
Παράδειγμα: Γράψτε "mv test.conf test.old.conf" στο prompt για να μετακινήσετε
το αρχείο με όνομα test.conf στο αρχείο με όνομα test.old.conf
Ισοδύναμο του DOS:move, rename
Εντολή: rm
Χρήση: Η εντολή rm διαγράφει ένα αρχείο. Απλά γράψτε "rm filename" στο prompt
και αντικαταστήστε το filename με το όνομα του αρχείου που θέλετε να διαγράψετε.
Παράδειγμα: Γράψτε "rm test.html" στο prompt για να διαγράψετε ένα αρχείο με
όνομα test.html.
Ισοδύναμο του DOS:del
Εντολή: grep
Χρήση: Η εντολή grep βρίσκει γραμμές στο αρχείο που ταιριάζουν με το κείμενο.
Απλά γράψτε "grep "text" filenames" στο prompt και αντικαταστήστε το "text" με
την λέξη ή την φράση που θέλετε να αναζητήσετε, και αντικαταστήστε το filenames
με τα αρχεία που θα αναζητηθούν. Για να αναζητήσετε όλα τα αρχεία στον τρέχων
κατάλογο, απλά αντικαταστήστε το filenames με αστεράκι (*) .
Παράδειγμα: Γράψτε "grep "for sale" *" στο prompt για να βρείτε τα αρχεία στον
τρέχων κατάλογο που περιέχουν ττην φράση "for sale".
Εντολή: zip
Χρήση: Η εντολή zip συμπιέζει ένα αρχείο ή μια λίστα αρχείων σε ένα αρχείο
συμπιεσμένης μορφής. Αυτή η εντολή είναι παρόμοια με την εντολή pkunzip σε ένα
PC. Απλά γράψτε "zip zipfile file1 file2 file3" στο prompt και αντικαταστήστε το
zipfile με το όνομα που θέλετε να χρησιμοποιήσετε για τα συμπιεσμένα αρχεία , και
αντικαταστήστε το fileX με το όνομα των αρχείων που θέλετε να έχει το συμπιεσμένο
αρχείο.
Παράδειγμα: Γράψτε "zip back.zip home.html index.html" στο prompt για να
συμπιέσετε τα αρχεία home.html και index.html στο νέο αρχείο με όνομα back.zip.
Ισοδύναμο του DOS:pkzip
15
Εντολή: unzip
Χρήση: Η εντολή unzip εξάγει ένα αρχείο συμπιεσμένης μορφής. Αυτή η εντολή
είναι παρόμοια με το pkzip αρχείο σε ένα PC. Απλά γράψτε "unzip zipfile" στο
prompt και αντικαταστήστε το zipfile με το όνομα του αρχείου που είναι σε
συμπιεσμένη μορφή.
Παράδειγμα: Γράψτε "unzip old.zip στο prompt για να αποσυμπιέσει το αρχείο
old.zip.
Ισοδύναμο του DOS:pkunzip
Εντολή: passwd
Χρήση: Η εντολή passwd αλλάζει τον κωδικό σας στο Unix. Αυτό επηρρεάζει τον
λογαριασμό e-mail του Unix, την προσβασή σας στο FTP και στο Telnet. Εάν έχετε
Web-mail, αυτό δεν επηρρεάζει τους κωδικούς του web-mail σας. Εάν έχετε έναν
λογαριασμό FrontPage, δεν επηρρεάζει την FrontPage authoring.
Για να αλλάξετε τον κωδικό σας, απλά πηγαίντε στο Telnet, και γράψτε: passwd
Παράδειγμα:
% passwd
Changing local password for web8582e.
Old password:
New password (8 significant characters):
Retype new password:
passwd: updating passwd database
passwd: done
%
Σημείωση, ο κωδικός δεν θα σας εμφανίζεται στην οθόνη σας, ούτε και με μορφή απο
αστεράκια '*'
Εντολή: chmod
Χρήση: Η εντολή chmod ορίζει τους περιορισμούς ενός αρχείου ή ενός
καταλόγου.Τα αρχεία Unix και οι κατάλογοι έχουν τρία ορίσματα περιορισμών:
owner, group, και other. Εσείς είσαστε ο owner (ιδιοκτήτης). Φυσικά θα θέλετε να
μπορείτε να αναγνώσετε τα αρχεία σας, να κάνετε αλλαγές, και να τρέχετε scripts. Με
τα read, write, execute μπορείτε να κάνετε τα παραπάνω. Οι περιορισμοί group και
other είναι οι επόμενοι. Φυσιολογικά, δεν θα θέλετε κάποιος άλλος να κάνει αλλάγες
στο website σας! Εξαρχής έχει οριστεί να είναι μόνο αναγνώσιμο (read-only). Οι
χρήστες μπορούν να μπούν στους καταλόγους σας, αλλά δεν μπορούν να αλλάξουν
οτιδήποτε, ή να φορτώσουν αρχεία.
Ο πιο συχνός λόγος για να χρησιμοποιείτε αυτή την εντολή είναι για να δημιουργείτε
εκτελέσιμα cgi scripts. Αυτό πραγματοποιείται γράφοντας chmod 755 filename
στην γραμμή εντολών. Το 7 σημαίνει read, write, και execute για τον owner (εσας),
ενώ το 5 σημαίνει read και execute, αλλά όχι εγγράψιμο (not write),για το group και
για τους υπόλοιπους
16
ΟΝΟΜΑΤΟΛΟΓΙΑ ΑΡΧΕΙΩΝ
Ανάλογα με το λειτουργικό σύστημα υπάρχει διαφορετική προσέγγιση στο
διαχωρισμό πεζών και κεφαλαίων: