Monday 14 January 2008

Linux Terminal - Μάθημα 4ο - Εργασία στο σύστημα αρχείων

Δημιουργώντας αρχεία και καταλόγους

  • touch : touch [ΟΡΙΣΜΑΤΑ]... ΑΡΧΕΙΑ...
    Δημιουργεί ένα κενο αρχείο ή αλλάζει την ώρα τελευταίας πρόσβασης και αλλαγής
    Ας δούμε τις σημαντίκοτερες παραμέτρους της εντολής.

    -a αλλάξε μόνο την ώρα πρόσβασης
    -c, --no-create δεν δημιουργεί τα αρχεία
    -m άλλαξε μόνο την ώρα τελευταίας αλλάγης
    -t ΩΡΑ χρησιμοποίησε [[CC]YY]MMDDhhmm[.ss] αντί για την τρέχουσα ώρα
    --help δείχνει όλες τις διαθέσιμες παραμέτρους της εντολής

    Παραδείγμα:

    $ touch myfile (δημιουργεί ένα αρχείο μηδενικού μεγέθους)
  • mkdir : mkdir [ΟΡΙΣΜΑΤΑ]... ΚΑΤΑΛΟΓΟΙ...
    Σκοπός τη εντολής είναι να δημιουργήσει τους κατάλογους αν δεν υπάρχουν ήδη. Από τα ορίσματα της εντόλης
    ενδιαφέρον παρουσιάζει το όρισμα -m, --mode=ΕΠΙΛΟΓΗ. Σκοπός του οποίου είναι να ορίσει τα δικαιώματα χρήσης
    του καταλόγου ανάλογα με την τιμή της ΕΠΙΛΟΓΗ.

    Παρακάτω φαίνονται μερικές χρήσιμες τιμές για την ΕΠΙΛΟΓΗ.

    ΕΠΙΛΟΓΗδικαιώματα χρήστηδικαιώματα ομάδαςοι άλλοι
    000rwxrwxrwx
    007rwxrwx---
    022rwxr-xr-x
    037rwxr-x---
    077rwx------


    Αν δεν δωθεί η παράμετρος --mode=ΕΠΙΛΟΓΗ, τότε ο κατάλογος δημιουργείται με τα προεπιλεγμένα
    δικαιώματα πρόσβασης. Αυτά συνήθως είναι drwxrwxrwx. To d υποδηλώνει οτι πρόκειται για κατάλογο.
    Γενικά είναι καλύτερα να ορίζουμε τα δικαιώματα χρήσης με την εντόλη chmod οπώς θα δούμε
    στα επόμενα.

    Παραδείγματα:

    $mkdir mydata (δημιουργεί ένα κατάλογο με το όνομα mydata)
    $mkdir my\ data (ομοίως, αλλά για να τον ονομάσουμε "my data" χρησιμοποιήσαμε το \)
    $mkdir --mode=077 information (δημιούργει ένα κατάλογο με δικαιώματα χρήσης drwx------)

Διαβάζοντας αρχεία

  • Η εντολή cat: αντιγράφοντας τα δεδόμενα του αρχείου στο τερματίκο.

    Η εντόλη cat χρησιμοποιήται για να διαβάσει ένα ή περισσότερα αρχεία και να μας
    δείξει το περιεχόμενό του στην οθόνη. H cat είναι από τις πλεόν χρήσιμες εντολές
    της κονσόλας του Linux, και θα την δούμε αναλύτικα όταν εξετάσουμε αργότερα τους
    τελεστές > < >> >> και | . Προς το παρόν όμως ας δούμε τη βασική της χρήση.

    Η βασική της σύνταξη είναι: $ cat [ορίσματα] [αρχεία].
    πχ $ cat expenses

    Δευτέρα 3/4 3000δρχ για ψώνια
    Τρίτη 4/5 4321δρχ για λογαριασμούς
    κτλ

    Δηλαδή η εντολή άνοιξε το αρχείο expenses και τύπωσε τα περιεχόμενα του στην οθόνη.
    Η εντολή δέχεται αρκετά ορίσματα, τα πιο σημαντικά απο τα οποία είναι:

    -n αρίθμησε τις γραμμές
    -s δείξε όλες τις κενές γραμμές σε μια
    -v τύπωσε και τους μη γραφικούς χαρακτήρες (εκτος των tabs και αλλάγης γραμμής)
    τύπωσε όλους τους χαράκτηρες

  • H εντόλη less: βλέπωντας τα δεδομένα σελίδα-σελίδα

    Η Βασική σύνταξη της εντολής είναι $ less αρχείο ή $ cat αρχείο|less.
    Η εντολή less χρησιμοποιείται για να δούμε τα δεδόμενα ενός αρχείου μια-μια σελίδα.
    Όταν η less τυπώσει τα περιεχόμενα του αρχειού στην οθόνη εμφανίζει στην τελευταία
    γραμμή της οθόνης το σύμβολο :. Όσο το σύμβολο αυτό βρίσκεται στην οθόνη, μπορούμε
    να δώσουμε εντολές για να δούμε το αρχείο. Οι πιο χρήσιμες από αυτές είναι :

    Spacebar για να πάμε στην επόμενη οθόνη
    Β για να πάμε στη προηγούμενη οθόνη
    = για να μας τυπώσει το όνομα του αρχείου και τη θέση στην οποία βρισκόμαστε
    Q για να βγούμε πίσω στη γραμμή εντολών

  • Η εντολες head και tail: βλέπωντας γραμμές από την αρχή ή το τέλος


  • Οι δύο αυτές εντόλες εχούν παρόμοια σύνταξη, και για αυτό τις αναφέρω μάζι. Η head
    χρησιμεύει για να δούμε τις ν πρώτες γραμμές ενός κειμένου, ενώ με την tail βλέπουμε
    τις ν τελευταίες γραμμές ενός κειμένου.

    πχ $ head -n 14 /etc/passwd (για να δούμε τις 14 πρώτες γραμμές του /etc/passwd)
    $ tail -n 7 /etc/passwd (για να δούμε τις 7 τελευταίες γραμμες του /etc/passwd)

Αντιγραφή Αρχείων -- Η εντολή cp

Η εντολή cp μας επιτρέπει να αντιγράψουμε αρχεία από ένα κατάλογο σε κάποιον αλλό.
Η βασίκη σύνταξη της, είναι: $ cp [ορίσματα] πηγή προορισμός. Από τα ορίσματα της
ιδιαίτερο ενδιαφέρον παρουσιάζουν τα παρακάτω:

-i, --interactive αν στον προορισμό υπάρχουν αρχεία με ίδιο όνομα,
η cp δεν γράφει πάνω τους αυτομάτως αλλά ρωτάει
τον χρήστη τι πρέπει να κάνει.
-R, --recursive αντιγράφει και τα δεδομένα των υποκαταλόγων
αναδρομικά.
-v, --verbose τυπώνει αναλυτικές πληροφορίες για την προόδο της
αντιγραφής των αρχείων.

Παραδείγματα:

$ cp /mydata/file1 . (αντιγράφει το αρχείο file1 στον τρέχων κατάλογο)

$ cp /etc/passwd /home/user/ (αντιγράφει τo αρχείo /etc/passwd στον κατάλογο /home/user)

$ cp -R /mnt/floppy/*.* /home/tmp/ (αντιγράφει όλα τα αρχεία και τους υποκαταλόγους απο τη δισκέττα
στον κατάλογο /home/user)


Μετακίνηση αρχείων -- Η εντολή mv

H εντολη mv μας βοηθάει να μετακινήσουμε αρχεία από ένα κατάλογο σε κάποιο άλλο. Ουσιαστικά αυτό
είναι το ίδιο με το να αντιγράψουμε το αρχείο σε κάποιο προορίσμο και μετά να σβήσουμε το αρχικό.
Η mv είναι και ένας τρόπος για να μετονομάζουμε αρχεία στο Linux.
Η σύνταξη της είναι ίδια με της cp, αλλά δέχεται πολύ λιγότερα ορίσματα. Από αυτά ενδιαφέρον
παρουσίαζει το -u, --update, το οποίο μετακινεί στον προορισμό μόνο τα πιο πρόσφατα ή εντελώς νέα αρχεία.

Παραδείγματα:

$ mv /mydata/file1 .. (μετακινει το αρχείο /mydata/file1 στον προηγούμενο από τον τρέχον κατάλογο)

$ mv old new (μετονομάζει το αρχείο old σε new!)

Διαγραφή αρχείων -- Η εντολή rm

Η εντολή rm σβήνει αρχεία ή καταλόγους. Η βασίκη συνταξή της είναι: $ rm [ορίσματα] αρχείο.
Τα σημαντικότερα απο τα ορίσματα της είναι:

-d, --directory σβήνει ολόκληρο τον κατάλογο ακόμα και αν είναι γεμάτος (μόνο ως root)
-f, --force δεν επαληθεύει την διαγραφή
-i, --interactive επαληθεύει την διαγραφή
-r, -R, --recursive σβήνει τα περιεχόμενα των κατάλογων αναδρομίκα.

Παράδειγματα:

$ rm myfile (σβήνει το αρχείο myfile)

$ rm -R tmp/ (σβήνει τα περιεχόμενα του καταλόγου αναδρομικά, και τον κατάλογο)

ΠΡΟΣΟΧΗ: Μην χρησιμοποιείτε ΠΟΤΕ τις παραμέτρους Rf μαζί. Μπορεί να χάσετε χρήσιμα δεδόμενα και
να μην το πάρετε χαμπαρι.

Keywords: Linux, Terminal, Shell, Commands, Syntax, Tips n Tricks, Terminal Series, filesystem,
copy,delete,create,files,touch,mkdir,rm,cp,mv,less,cat

No comments: