Written by: Linux

Μαθήματα στο λειτουργικό Σύστημα Linux (Μέρος 2)

Το Λειτουργικό Σύστημα Linux Μέρος 2 1

Μοιραστείτε το άρθρο

Μαθήματα στο λειτουργικό Σύστημα Linux (Μέρος 2)

Η Εντολή touch

Με την εντολή touch μπορούμε να δημιουργήσουμε ένα αρχείο ή να αλλάξουμε την ημερομηνία της τελευταίας τροποποίησης ενός αρχείου. Την χρησιμοποιούμε συνήθως για να αλλάζουμε την ημερομηνία/ώρα ενός αρχείου σύμφωνα με την τρέχουσα ώρα του συστήματος ή με μια ώρα που θέλουμε εμείς.

Η επόμενη εντολή δημιουργεί ένα αρχείο με το όνομα newfile, αν αυτό δεν υπάρχει ήδη, ή αλλάζει την ημερομηνία/ώρα τελευταίας τροποποίησης του αρχείου σύμφωνα με την τρέχουσα ημερομηνία/ώρα.

# touch newfile

Η επόμενη εντολή ορίζει σαν ημερομηνία τελευταίας τροποποίησης του αρχείου newfile την 25/12/1999 και ώρα 11 πμ.

# touch -t 1225110099 newfile

Μπορούμε να αλλάξουμε την ημερομηνία τελευταίας τροποποίησης ενός αρχείου και να το κάνουμε να φαίνεται νεώτερο, όταν θέλουμε να μην διαγραφεί αυτόματα από τα προγράμματα εκκαθάρισης.

Η Εντολή rm

Με την εντολή rm (remove) μπορούμε να διαγράψουμε αρχεία, τα οποία όμως δεν μπορούμε να επαναφέρουμε. Με την επιλογή -i μάς ρωτάει αν πράγματι θέλουμε να διαγράψουμε ένα αρχείο, με την επιλογή -f επιβάλλουμε τη διαγραφή ενός αρχείου και με την επιλογή -r κάνει αναδρομική διαγραφή ενός δένδρου καταλόγων, δηλ. ξεκινάει από το τέλος μια δομής καταλόγων και διαγράφει προς τα πάνω.

# rm file
# rm file1 file2
# rm file*
# rm -i file
# rm -f new*
# rm -fr katalog1

Η Εντολή mkdir

Με την εντολή mkdir (make directory) μπορούμε να δημιουργήσουμε έναν ή περισσότερους καταλόγους που να ανήκουν, δηλ. να έχουν σαν γονικό, στον τρέχοντα κατάλογο.

# mkdir katalog1
# mkdir katalog1 katalog2 katalog3

Με την επιλογή -p μπορούμε να δημιουργήσουμε μια ιεραρχία καταλόγων, ως εξής:

# mkdir -p florina/history/ancient

Με την παραπάνω εντολή δημιουργήθηκε μια δενδρική δομή καταλόγων και δεν χρειάστηκε έτσι να δώσουμε την εντολή mkdir τρεις φορές.

Η Εντολή rmdir

Με την εντολή rmdir (remove directory) μπορούμε να διαγράψουμε καταλόγους. Ο κατάλογος που θέλουμε να διαγράψουμε πρέπει να είναι άδειος, δηλ. να μην περιέχει αρχεία και άλλους καταλόγους, και πρέπει να βρισκόμαστε στον γονικό κατάλογο του καταλόγου που θέλουμε να διαγράψουμε.

Το Λειτουργικό Σύστημα Linux Μέρος 2 2
Το Λειτουργικό Σύστημα Linux Μέρος 2 2

Με την επιλογή -p μπορούμε να διαγράψουμε ιεραρχίες καταλόγων, αλλά πρέπει να καθορίσουμε ολόκληρο το δένδρο καταλόγων που θέλουμε να διαγράψουμε.

# rmdir katalog1
# rmdir -p florina/history/ancient

Η Εντολή mv

Με την εντολή mv (move) μπορούμε να μετονομάσουμε αρχεία και καταλόγους ή να τα μετακινήσουμε σ’ άλλη θέση ή να τα μετονομάσουμε και να τα αλλάξουμε και θέση. Η επόμενη εντολή μετονομάζει το αρχείο file1 σε file2.

# mv file1 file2

Η επόμενη εντολή αλλάζει το όνομα του καταλόγου katalog1 σε katalog2, ανεξάρτητα από το αν αυτός είναι κενός ή όχι.

# mv katalog1 katalog2

Επειδή η εντολή mv αντικαθιστά χωρίς να ρωτάει αρχεία και καταλόγους που έχουν το ίδιο όνομα με το καινούργιο όνομα που επιλέγουμε, μπορούμε να χρησιμοποιήσουμε την επιλογή -b για να δημιουργηθεί ένα εφεδρικό αντίγραφο ασφαλείας για τα αρχεία και τους καταλόγους που έχουν ίδιο όνομα με το καινούργιο όνομα που επιλέγουμε συν τον χαρακτήρα ? ή την επιλογή -i για να μας ρωτάει αν θέλουμε να αντικατασταθεί το αρχείο ή ο κατάλογος.

# mv -b file1 file2
# mv -i file1 file2
# mv -bi file1 file2

Η Εντολή cp

Με την εντολή cp (copy) μπορούμε να αντιγράφουμε αρχεία και καταλόγους. Η απλούστερη μορφή της εντολής φαίνεται παρακάτω, όπου δημιουργούμε ένα αντίγραφο του αρχείου file1 με το όνομα file2 και στον ίδιο κατάλογο.

# cp file1 file2

Για να αποφύγουμε τις ανεπιθύμητες αντικαταστάσεις αρχείων, μπορούμε να χρησιμοποιήσουμε τις επιλογές -b και -i με παρόμοιο τρόπο όπως και με την εντολή mv.

Το Λειτουργικό Σύστημα Linux Μέρος 2 3
Το Λειτουργικό Σύστημα Linux Μέρος 2 3

Η επόμενη εντολή αντιγράφει όλα τα αρχεία του καταλόγου katalog1 στον κατάλογο katalog2.

# cp katalog1/* katalog2

Μπορούμε να χρησιμοποιήσουμε την επιλογή -r για να αντιγράψουμε έναν κατάλογο σ’ έναν άλλον. Η επόμενη εντολή αντιγράφει τον κατάλογο katalog1 και όλα τα αρχεία του στον κατάλογο katalog2.

# cp -r katalog1 katalog2

Με την επιλογή -P μπορούμε να αντιγράψουμε ένα αρχείο μαζί με ολόκληρη τη δομή υποκαταλόγων στην οποία περιέχεται. Η επόμενη εντολή αντιγράφει όχι μόνο το αρχείο file1, αλλά δημιουργεί και την ίδια δομή καταλόγων στη θέση προορισμού.

# cp -P katalog1/katalog2/file1 katalog3

Η Εντολή ln

Με την εντολή ln (link) μπορούμε να δημιουργήσουμε συνδέσμους, οι οποίοι διακρίνονται σε ρητούς (hard) και σε συμβολικούς (symbolic). Για να δημιουργήσουμε έναν ρητό σύνδεσμο, καθορίζουμε ένα δεύτερο όνομα αρχείου, το οποίο μπορούμε να χρησιμοποιούμε για να αναφερόμαστε στο πρωτότυπο αρχείο, όπως φαίνεται στην επόμενη εντολή :

# ln file1 file2

Μετά την εκτέλεση της παραπάνω εντολής, τα δύο αρχεία θα είναι πανομοιότυπα και θα αναφέρονται στον ίδιο χώρο του δίσκου. Αν κάνουμε αλλαγές σ’ ένα από τα δύο, οι αλλαγές αυτές θα φαίνονται και στο άλλο αρχείο. Αν, όμως, διαγράψουμε το ένα από τα δύο, θα παραμείνει το άλλο.

Για να δημιουργήσουμε έναν συμβολικό σύνδεσμο, χρησιμοποιούμε την εντολή ln με την επιλογή -s, όπως φαίνεται στην επόμενη εντολή.

# ln -s file1 file2

Αν δώσουμε τώρα την εντολή ls -l file*, θα εμφανισθεί δίπλα από το όνομα του αρχείου file2 ένα βέλος (->) που θα δείχνει προς το αρχείο file1 και που θα επισημαίνει ότι το αρχείο file2 είναι ένας συμβολικός σύνδεσμος προς το αρχείο file1.

Το αρχείο file2 εμφανίζεται να έχει μικρότερο και όχι ίσο μέγεθος με το αρχείο file1 και ένας συμβολικός σύνδεσμος είναι στην ουσία ένα όνομα διαδρομής ή ένα ψευδώνυμο (alias) για το πρωτότυπο αρχείο.

Αν διαγράψουμε τον συμβολικό σύνδεσμο τίποτα δεν θα συμβεί στο πρωτότυπο αρχείο, ενώ αν διαγράψουμε το πρωτότυπο αρχείο, ο συμβολικός σύνδεσμος θα είναι άχρηστος.

Ωστόσο οι συμβολικοί σύνδεσμοι έχουν το πλεονέκτημα ότι μπορούν να χρησιμοποιηθούν για να δείχνουν σ’ έναν κατάλογο του δίσκου. Η επόμενη εντολή δημιουργεί έναν συμβολικό σύνδεσμο προς έναν κατάλογο που είναι αρκετά μακρύς και έτσι μπορούμε να αναφερόμαστε σ’ αυτόν μ’ ένα σύντομο ψευδώνυμο.

# ln -s /usr/local/games play
# cd play

Οι Κανονικές Εκφράσεις

Οι κανονικές ή τακτικές εκφράσεις (regular expressions) είναι μοτίβα χαρακτήρων, με ειδική σύνταξη, τα οποία ταιριάζουν με αλφαριθμητικά μέσα σε αρχεία κειμένου. Τα σημαντικότερα από τα μοτίβα αυτά είναι τα εξής :

  • *, ταιριάζει με οποιονδήποτε χαρακτήρα.
  • ? ή ., ταιριάζει μ’ έναν μεμονωμένο χαρακτήρα.
  • [abc] ή [a-z], ταιριάζει μ’ έναν χαρακτήρα από την περιοχή που δηλώνουν οι αγκύλες.
  • \x, ταιριάζει μ’ έναν ειδικό χαρακτήρα, όπως είναι το ? ή το \.
  • U μοτίβο, ταιριάζει με το μοτίβο όταν αυτό βρίσκεται στην αρχή μιας γραμμής.
  • $μοτίβο, ταιριάζει με το μοτίβο όταν αυτό βρίσκεται στο τέλος μιας γραμμής.

Ακολουθούν μερικά παραδείγματα :

# ls *.txt
# ls *[0-9]*
# ls *[0-9]
# ls *[a-z][0-9]*
# ls *\?*

Οι Εντολές grep

Στην οικογένεια των εντολών grep ανήκουν οι grepegrep και fgrep. Με τις εντολές αυτές μπορούμε να κάνουμε αναζητήσεις στο περιεχόμενο ενός ή περισσοτέρων αρχείων. Η επόμενη εντολή αναζητά όλες τις γραμμές του αρχείου file1 που ξενικούν με έναν αριθμό :

# grep U [0-9] file1

Η επόμενη εντολή χρησιμοποιεί την επιλογή -n με την οποία μπορούμε να δούμε τους αριθμούς των γραμμών του αρχείου που περιέχουν το αναζητούμενο κείμενο.

# grep -n "florina" file1

Με την επιλογή -f μπορούμε να χρησιμοποιήσουμε ένα αρχείο το οποίο θα περιέχει τις αναζητούμενες λέξεις ή εκφράσεις και μετά να δηλώσουμε στην εντολή grep να χρησιμοποιήσει τα περιεχόμενα αυτού του αρχείου.

# grep -f mywords file1

Η Εντολή tar

Η εντολή tar επιζεί από τις πρώτες ημέρες των υπολογιστών, πριν από την εμφάνιση των δισκετών, των σκληρών δίσκων και των cd-roms, όταν υπήρχαν μόνο μαγνητικές ταινίες για την αποθήκευση των δεδομένων. Με την εντολή tar μπορούμε να δημιουργήσουμε γρήγορα και εύκολα ένα αρχείο αρχειοθέτησης από τα περιεχόμενα ενός οποιουδήποτε καταλόγου.

Η επόμενη εντολή χρησιμοποιεί την επιλογή -c και δημιουργεί ένα αρχείο αρχειοθέτησης με το όνομα mydir.tar για όλα τα περιεχόμενα του καταλόγου mydir.

# tar -c mydir > mydir.tar

Με την επιλογή -v μπορούμε να δούμε ποιοι κατάλογοι και ποια αρχεία προστίθενται στο αρχείο αρχειοθέτησης, ενώ με την επιλογή -w η εντολή tar μάς ρωτά για κάθε αρχείο και κατάλογο αν θέλουμε να προστεθεί ή όχι στο αρχείο αρχειοθέτησης. Με την επιλογή -t μπορούμε να δούμε τα περιεχόμενα του αρχείου αρχειοθέτησης.

Για να κάνουμε την αντίστροφη εργασία, δηλ. να επαναφέρουμε τα περιεχόμενα ενός αρχείου αρχειοθέτησης, μπορούμε να χρησιμοποιήσουμε τις επιλογές -x και -f, αλλά και την επιλογή -v για να δούμε ποια αρχεία επαναφέρονται.

# tar -xvf mydir.tar

Με την επιλογή -w μπορούμε να επαναφέρουμε επιλεκτικά όσα αρχεία θέλουμε από το αρχείο αρχειοθέτησης.

# tar -xvwf mydir.tar

Πρέπει να έχουμε υπόψη μας ότι η εντολή tar αντικαθιστά τα υπάρχοντα περιεχόμενα αρχείων όταν εξάγουμε ένα αρχείο με το ίδιο όνομα από το αρχείο αρχειοθέτησης.

Η Εντολή gzip

Με την εντολή gzip μπορούμε να συμπιέζουμε και να εξοικονομούμε πολύ χώρο στον δίσκο για τα μεγάλα και όχι τόσο συχνά χρησιμοποιούμενα αρχεία. Συχνά θα συναντάμε αρχεία με τις επεκτάσεις .tgz ή .tar.gz, που υποδηλώνουν αρχεία αρχειοθέτησης που δημιουργήθηκαν με την εντολή tar και συμπιέστηκαν με την εντολή gzip.

Για να συμπιέσουμε ένα αρχείο, δίνουμε την εξής εντολή :

# gzip mydir.tar

Εξ ορισμού, η εντολή gzip συμπιέζει το αρχείο, προσθέτει σ’ αυτό την επέκταση .gz και διαγράφει το πρωτότυπο αρχείο. Για να αποσυμπιέσουμε ένα αρχείο, χρησιμοποιούμε την εντολή gunzip ή την εντολή gzip με την επιλογή -d, αλλά θα πρέπει το αρχείο που θέλουμε να αποσυμπιέσουμε να έχει την επέκταση .gz.

Το Λειτουργικό Σύστημα Linux Μέρος 2 4
Το Λειτουργικό Σύστημα Linux Μέρος 2 4

Με την επιλογή -S μπορούμε να καθορίσουμε δική μας επέκταση και με την επιλογή -l μπορούμε να δούμε τα συμπιεσμένα ή αποσυμπιεσμένα μεγέθη των αρχείων κατά τη διάρκεια της συμπίεσης ή της αποσυμπίεσης. Με την επιλογή -t μπορούμε να ελέγχουμε την ακεραιότητα του συμπιεσμένου αρχείου.

Η Εντολή compress

Η εντολή compress συμπιέζει αρχεία και τους δίνει την επέκταση .Ζ. Για να συμπιέσουμε ένα αρχείο, δίνουμε την εντολή :

# compress file

ενώ για να το αποσυμπιέσουμε, δίνουμε την εντολή :

# uncompress file.Z

Ο Φλοιός (Shell)

Ο φλοιός (shell) μάς παρέχει ένα σύστημα επικοινωνίας με το Linux, μέσω του οποίου μπορούμε να τρέχουμε προγράμματα. Είναι ένας διερμηνευτής γραμμών εντολών και μπορεί να χρησιμοποιηθεί για την εκκίνηση, αναστολή, διακοπή ή και συγγραφή προγραμμάτων. Αποτελεί αναπόσπαστο μέρος του Linux και ένα από τα βασικότερα στοιχεία της σχεδίασης τόσο του Linux όσο και του Unix.

Αν φανταστούμε τον πυρήνα (kernel) του Linux στο κέντρο μιας σφαίρας, τότε ο φλοιός είναι το εξωτερικό επίπεδο που περιβάλλει τον πυρήνα. Υπάρχουν πολλοί τύποι φλοιών και για να εξακριβώσουμε ποιον φλοιό χρησιμοποιούμε, πρέπει να δούμε τα περιεχόμενα του αρχείου /etc/passwd και να βρούμε τη γραμμή με το όνομα χρήστη που έχουμε συνδεθεί. Ο φλοιός που χρησιμοποιούμε θα αναφέρεται στο τέλος της γραμμής, όπως π.χ. /bin/bash.

Ο bash είναι ο προκαθορισμένος φλοιός για το Red Hat Linux, δουλεύει όμοια με τον φλοιό sh, αλλά διαθέτει και ορισμένα από τα χαρακτηριστικά των φλοιών csh και ksh. Άλλοι γνωστοί φλοιοί είναι οι pdksh, tcsh, zsh και ash.

Ανακατεύθυνση Εισόδου και Εξόδου

Οταν δίνουμε μια εντολή από τη γραμμή εντολής, ο φλοιός διερμηνεύει την εντολή και η εντολή στέλνει την έξοδό της, δηλ. το αποτέλεσμα της εκτέλεσής της, στην οθόνη. Μπορούμε, όμως, να ανακατευθύνουμε, δηλ. να στείλουμε αλλού την έξοδο μιας εντολής, όπως σ’ ένα αρχείο ή και στην είσοδο μιας άλλης εντολής.

Για να κάνουμε ανακατεύθυνση εξόδου (output redirection), χρησιμοποιούμε το σύμβολο >. Η επόμενη εντολή στέλνει την έξοδό της, δηλ. τη λίστα με τα αρχεία και τους καταλόγους του τρέχοντος καταλόγου, σ’ ένα αρχείο με όνομα output.txt.

# ls -l > output.txt

Μπορούμε επίσης να χρησιμοποιήσουμε το σύμβολο <, για να κάνουμε ανακατεύθυνση εισόδου (input redirection), δηλ. να δώσουμε στοιχεία για μια εντολή όχι από το πληκτρολόγιο, αλλά από μια άλλη εντολή ή από ένα αρχείο.

Η επόμενη εντολή στέλνει ένα μήνυμα στον χρήστη john με το περιεχόμενο του αρχείου file01.

# mail john < file01

Εκτός από την στάνταρτ είσοδο (standard input), που είναι το πληκτρολόγιο, και την στάνταρτ έξοδο (standard output), που είναι η οθόνη, υπάρχει και η στάνταρτ έξοδος σφάλματος (standard error output), η οποία εκτυπώνει τα μηνύματα σφάλματος στην οθόνη.

Για κάθε είσοδο και έξοδο εκχωρείται ένας αριθμός αρχείου στον φλοιό, που είναι το 0 για την στάνταρτ είσοδο, το 1 για την στάνταρτ έξοδο και το 2 για την στάνταρτ έξοδο σφάλματος. Για να ανακατευθύνουμε την έξοδο σφάλματος, χρησιμοποιούμε τον τελεστή 2>, όπως φαίνεται στο επόμενο παράδειγμα.

# sort file02 2> file_error

Πρέπει να έχουμε υπόψη μας ότι όταν κάνουμε ανακατεύθυνση της εξόδου μιας εντολής σ’ ένα αρχείο, αυτό το αρχείο είτε δημιουργείται αν δεν υπάρχει ή διαγράφεται και αντικαθίσταται με τα νέα περιεχόμενα αν υπάρχει ήδη.

Με τον τελεστή >> μπορούμε να προσθέσουμε την έξοδο μιας εντολής στο τέλος ενός αρχείου, όπως φαίνεται στο επόμενο παράδειγμα.

# cat >> file01

Με τον τελεστή << μπορούμε να δηλώσουμε τον χαρακτήρα που θα σημάνει το τέλος της καταχώρησης, όπως στο επόμενο παράδειγμα, όπου δηλώνουμε σαν χαρακτήρα τέλους αρχείου την τελεία (.).

# cat > file01 <<.

Πηγή:

ΠΛΗ.ΝΕ.Τ

Αν βρήκατε το άρθρο μας χρήσιμο, θέλετε να μείνετε ενημερωμένοι για όλα τα νέα στο τομέα της τεχνολογίας καθώς και σε χρηστικά άρθρα, βοηθήστε μας κάνοντας like στην σελίδα μας στο Facebook πατώντας εδώ

Series Navigation<< Μαθήματα στο λειτουργικό Σύστημα Linux (Μέρος 1)

Μοιραστείτε το άρθρο

(Visited 8 times, 1 visits today)
Ετικέτες: Last modified: 19/10/2019
shares