Χρήση και πλοήγηση σε καταλόγους

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
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
Ψευδοαρχεία διαδικασιών