Χρήση και πλοήγηση σε καταλόγους
Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr
Δενδρική δομή
Οι κατάλογοι στο Unix είναι οργανωμένοι με βάση τη δενδρική
δομή.
Τα παρακάτω στοιχεία έχουν ξεχωριστό νόημα:
- /
 - Η κορυφή του δένδρου - διαχωριστικό μεταξύ καταλόγων
 - .
 - Ο κατάλογος στον οποίο βρισκόμαστε
 - ..
 - Ο κατάλογος πάνω από αυτόν στον οποίο βρισκόμαστε
 - όνομα
 - Όνομα αρχείου ή καταλόγου
 
Παραδείγματα:
- foo
 - Tο αρχείο foo στον κατάλογο που βρισκόμαστε.
 - bar/foo
 - Tο αρχείο foo στον κατάλογο bar που βρίσκεται κάτω από
τον κατάλογο που βρισκόμαστε.
 - ./foo
 - Tο αρχείο foo στον κατάλογο που βρισκόμαστε.
 - ././foo
 - Tο αρχείο foo στον κατάλογο που βρισκόμαστε.
 - /foo
 - Tο αρχείο foo στην κορυφή του δένδρου.
 - /bar/foo
 - Tο αρχείο foo στον κατάλογο bar που βρίσκεται στην
κορυφή του δένδρου.
 
Ορισμένοι φλοιοί προσφέρουν πρόσθετες συντομογραφίες όπως
το σήμα ~ για την αναφορά του προσωπικού μας καταλόγου.
Σε οποιοδήποτε σημείο χρειαστεί να δώσουμε ένα όνομα αρχείου ή καταλόγου
μπορούμε να δώσουμε το αντίστοιχο μονοπάτι που να ορίζει το αντίστοιχο
αρχείο ή τον κατάλογο.
Εντολές καταλόγων
Η χρήση των καταλόγων γίνεται με τις παρακάτω εντολές:
- cd
 - Μετάβαση σε συγκεκριμένο κατάλογο
 - mkdir
 - Δημιουργία ενός νέου καταλόγου
 - rmdir
 - Διαγραφή ενός (άδειου) καταλόγου
 - pwd
 - Εκτύπωση του μονοπατιού του καταλόγου στον οποίο βρισκόμαστε
 
Μερικοί φλοιοί και συστήματα Unix προσφέρουν τη δυνατότητα αποθήκευσης
σε στοίβα των καταλόγων στους οποίους αλλάζουμε με την εντολή
pushd και μετάβαση στον τελευταίο κατάλογο της στοίβας με την εντολή 
popd.
Παράδειγμα:
athena:~> mkdir eg
athena:~> cd eg
athena:~/eg> pwd
/home2/staff/dspin/eg
athena:~/eg> cd /home2/staff/dspin/eg
athena:~/eg> pwd
/home2/staff/dspin/eg
athena:~/eg> cd ../eg
athena:~/eg> pwd
/home2/staff/dspin/eg
athena:~/eg> cd ..
athena:~> rmdir eg                      
Συνδέσεις
Η σύνδεση των αρχείων σε σχέση με κάποιο όνομα γίνεται με τις παρακάτω
εντολές:
- ln
 - Σύνδεση ενός αρχείου σε κάποιο όνομα
 - ln -s
 - Συμβολική σύνδεση ενός αρχείου σε κάποιο όνομα
 - rm
 - Διαγραφή του ονόματος ενός αρχείου.
Οταν διαγραφεί και το τελευταίο όνομα ενός αρχείου τότε διαγράφονται
και τα περιεχόμενά του.
 - mv
 - Μεταφορά της σύνδεσης ενός αρχείου σε άλλο όνομα
 
Παράδειγμα:
athena:~> ls -l >foo
athena:~> ln foo bar
athena:~> mv bar bar1
athena:~> rm foo
athena:~> cat bar1
total 248
-rw-r--r--   1 dspin    users        2847 Oct 29 16:11 afm
drwxr-xr-x   2 dspin    users        1024 Feb 26  1997 bin/
-rw-r--r--   1 dspin    users           0 Oct 29 19:10 foo
-rw-------   1 dspin    users       29793 Jun 21 20:57 mbox
-rwxr-xr-x   1 dspin    users         100 Oct 29 17:42 myspell*
-rw-r--r--   1 dspin    users        2023 Oct 29 16:07 names
-rw-r--r--   1 dspin    users        2741 Oct 29 16:11 phones
-rw-r--r--   1 dspin    users        2741 Oct 29 18:45 phones.sorted
-rw-rw-r--   1 dspin    users         995 Mar 12  1997 submit
-rw-r--r--   1 dspin    users      206662 Oct 22 15:08 words                
Συστήματα αρχείων
Το δένδρο των αρχείων του Unix δημιουργήται από τη σύνδεση
συστημάτων αρχείων.
Οι παρακάτω εντολές επεξεργάζονται συστήματα αρχείων:
- df
 - Εμφάνιση των συνδεδεμένων συστημάτων αρχείων και του χώρου τους.
 - mount
 - Σύνδεση ενός συστήματος αρχείων σε έναν κατάλογο
 - unmount
 - Αποσύνδεση ενός συστήματος αρχείων σε έναν κατάλογο
 
Οι δύο τελευταίες εντολές δεν επιτρέπεται συνήθως να εκτελούνται από
απλούς χρήστες.
Παράδειγμα:
athena:~> df
Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda1             243497  232125        0    100%   /
/dev/sda1             234961  213177     9651     96%   /home
/dev/hda3             221535  114008    96087     54%   /home3
/dev/hdb1             302030  218400    68032     76%   /home1
/dev/hdb2             197140   81081   105879     43%   /home2
/dev/hdb3             427409  297456   107878     73%   /usr/apps
/dev/hdb4              72211   52270    16212     76%   /tmp
athena:~> mount
/dev/hda1 on / type ext2 (rw)
/dev/sda1 on /home type ext2 (rw,nosuid)
/dev/hda3 on /home3 type ext2 (rw,nosuid)
/dev/hdb1 on /home1 type ext2 (rw,nosuid)
/dev/hdb2 on /home2 type ext2 (rw,nosuid)
/dev/hdb3 on /usr/apps type ext2 (rw,nosuid)
/dev/hdb4 on /tmp type ext2 (rw,nosuid)
none on /proc type proc (rw)                                          
Κατάλογοι του Unix
Σε συστήματα Unix οι παρακάτω κατάλογοι έχουν ξεχωριστή
σημασία:
- /usr
 - 		Αρχεία που σχετίζονται με τη χρήση του συστήματος
 - /usr/bin
 - 	Εκτελέσιμα προγράμματα
 - /usr/man
 -  	Αρχεία βοήθειας
 - /usr/lib
 - 	Βιβλιοθήκες και άλλα αρχεία που χρησιμοποιούνται
			από προγράμματα
 - /usr/dict
 - 	Λεξικά
 - /usr/sbin
 - 	Εκτελέσιμα προγράμματα υποστήριξης του συστήματος
 - /tmp
 - 		Προσωρινή αποθήκευση
 - /etc
 - 		Αρχεία καθορισμού παραμέτρων του συστήματος
 - /var
 - 		Μεταβαλόμενα αρχεία του συστήματος
 - /var/spool
 - 	Αρχεία που δημιουργούν τα προγράμματα του συστήματος
 - /var/spool/mail
 - 	Γραμματοκιβώτια
 - /var/spool/news
 - 	Usenet News
 - /dev
 - 		Ψευδοαρχεία συσκευών
 - /proc
 - 		Ψευδοαρχεία διαδικασιών