UNIX: Δεύτερο Μάθημα

2.1 Αντιγραφή Αρχείων

cp (copy)

Η εντολή cp file1 file2 δημιουργεί ένα αντίγραφο του file1 στον τρέχοντα κατάλογο και το ονομάζει file2.

Τώρα, θα αντιγράψουμε ένα αρχείο που υπάρχει σε κάποιο σημείο του συστήματος αρχείων (και στο οποίο έχουμε πρόσβαση) μέσα στον κατάλογο unixstuff που έχουμε δημιουργήσει, χρησιμοποιώντας την εντολή cp.

Αρχικά χρησιμοποιήστε την εντολή cd για να μετακινηθείτε στον κατάλογο unixstuff.

% cd ~/unixstuff

Έπειτα πληκτρολογήστε στην προτροπή:

% cp /vol/examples/tutorial/science.txt .

Σημείωση: Μην ξεχάσετε την τελεία . στο τέλος. Θυμηθείτε ότι η τελεία στο UNIX συμβολίζει τον τρέχοντα κατάλογο.

Η παραπάνω εντολή σημαίνει "αντέγραψε το αρχείο science.txt στον τρέχοντα κατάλογο, διατηρώντας το ίδιο όνομα".

Άσκηση 2a

Δημιουργήστε ένα αντίγραφο ασφαλείας του αρχείου science.txt, αντιγράφοντας το σε ένα αρχείο με όνομα science.bak

2.2 Μεταφορά Αρχείων

mv (move)

Η εντολή mv file1 file2 μεταφέρει (ή μετονομάζει) το file1 στο file2.

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

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή mv για να μετονομάσετε ένα αρχείο. Αυτό γίνεται αν το μετακινήσετε στον ίδιο κατάλογο αλλά με διαφορετικό όνομα.

Θα μετακινήσουμε τώρα το αρχείο science.bak στον κατάλογο backup που δημιουργήσαμε προηγουμένως.

Αρχικά μετακινηθείτε στον κατάλογο unixstuff (ελπίζουμε να θυμόσαστε πως γίνεται). Έπειτα, καθώς είστε μέσα στον κατάλογο unixstuff, πληκτρολογήστε:

% mv science.bak backups/.

Πληκτρολογήστε ls και ls backups για να δείτε αν η εντολή λειτούργησε κανονικά.

2.3 Διαγραφή Αρχείων και Καταλόγων

rm (remove), rmdir (remove directory)

Για να διαγράψετε ένα αρχείο, χρησιμοποιήστε την εντολή rm. Ως παράδειγμα, θα δημιουργήσουμε ένα αντίγραφο του αρχείου science.txt και έπειτα θα το διαγράψουμε.

Μέσα στον κατάλογο unixstuff, πληκτρολογήστε:

% cp science.txt tempfile.txt
% ls
% rm tempfile.txt
% ls

Μπορείτε να χρησιμοποιήσετε την εντολή rmdir για να διαγράψετε ένα κατάλογο (βεβαιωθείτε πρώτα ότι είναι άδειος). Προσπαθήστε να διαγράψετε τον κατάλογο backups. Δεν θα μπορέσετε να το κάνετε, καθώς το UNIX δεν θα σας αφήσει να διαγράψετε ένα κατάλογο που δεν είναι άδειος.

Άσκηση 2b

Δημιουργήστε ένα κατάλογο με το όνομα tempstuff χρησιμοποιώντας την εντολή mkdir, και έπειτα διαγράψτε τον χρησιμοποιώντας την εντολή rmdir.

2.4 Εμφάνιση Περιεχομένων Αρχείου στην Οθόνη

clear (καθαρισμός οθόνης)

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

Στην προτροπή, πληκτρολογήστε:

% clear

Αυτό θα καθαρίσει το παράθυρο και θα σας αφήσει μόνο με την προτροπή $ στο πάνω μέρος.

 

cat (concatenate)

Μπορείτε να χρησιμοποιήσετε την εντολή cat για να δείτε τα περιεχόμενα ενός αρχείου στην οθόνη σας. Πληκτρολογήστε:

% cat science.txt

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

 

less

Η εντολής less γράφει τα περιεχόμενα ενός αρχείου στην οθόνη, μια σελίδα κάθε φορά. Πληκτρολογήστε:

% less science.txt

Στο τέλος κάθε σελίδας πιέστε το [space-bar] αν θέλετε να δείτε την επόμενη σελίδα, ή το [q] για να τερματίσετε την ανάγνωση. Όπως καταλαβαίνετε, η less είναι προτιμότερη από την cat για μεγάλα αρχεία.

 

head

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

Καθαρίστε πρώτα την οθόνη και μετά πληκτρολογήστε:

% head science.txt

Έπειτα πληκτρολογήστε:

% head -5 science.txt

Τι διαφορά προκάλεσε το -5 στην εντολή head;

 

tail

Η εντολή tail εμφανίζει τις δέκα τελευταίες γραμμές ενός αρχείου στην οθόνη.

Καθαρίστε την οθόνη και πληκτρολογήστε:

% tail science.txt

Ερώτηση: Πως μπορείτε να δείτε τις 15 τελευταίες γραμμές ενός αρχείου;

 

2.5 Αναζήτηση στα Περιεχόμενα Ενός Αρχείου

Απλή Αναζήτηση με τη Χρήση της less

Χρησιμοποιώντας την εντολή less, μπορείτε να ψάξετε το αρχείο για μια λέξη κλειδί. Για παράδειγμα, για να ψάξετε το αρχείο science.txt για τη λέξη 'science', πληκτρολογήστε:

% less science.txt

και καθώς εκτελείται η less, πληκτρολογήστε μια κάθετο [/] ακολουθούμενη από τη λέξη που ψάχνετε

/science

Όπως μπορείτε να δείτε η, less βρίσκει και φωτίζει τη λέξη. Πληκτρολογήστε [n] για να βρείτε το επόμενο σημείο που εμφανίζεται η λέξη.

 

grep (μη ρωτήσετε γιατί τη λένε έτσι)

Η εντολή grep αποτελεί ένα από τα τυποποιημένα βοηθητικά εργαλεία του UNIX Ψάχνει αρχεία για καθορισμένες λέξεις ή patterns. Αρχικά καθαρίστε την οθόνη και έπειτα πληκτρολογήστε:

% grep science science.txt

Όπως μπορείτε να δείτε, η grep εμφάνισε κάθε γραμμή που περιέχει την λέξη science.

Η μήπως όχι;

Δοκιμάστε το παρακάτω:

% grep Science science.txt

Η εντολή grep διαχωρίζει μικρά-κεφαλαία. Έτσι το Science είναι διαφορετικό από το science.

Για να μην γίνεται διαχωρισμός μικρών-κεφαλαίων, χρησιμοποιήστε την επιλογή -i, δηλ. πληκτρολογήστε:

% grep -i science science.txt

Για να ψάξετε για μια φράση ή ένα pattern, θα πρέπει να το περικλείσετε σε μονά εισαγωγικά. Για παράδειγμα, για να ψάξετε για τη φράση spinning top, πληκτρολογήστε:

% grep -i 'spinning top' science.txt

Κάποιες ακόμα επιλογές της grep είναι:

-v δείχνει τις γραμμές που ΔΕΝ ταιριάζουν
-n δείχνει τον αριθμό γραμμής μπροστά από κάθε γραμμή
-c τυπώνει μόνο τον αριθμό των γραμμών που ταίριαξαν

Δοκιμάστε κάποιες από αυτές τις επιλογές και δείτε τα διαφορετικά αποτελέσματα. Μην ξεχνάτε ότι μπορείτε να χρησιμοποιήσετε περισσότερες από μια επιλογές κάθε φορά. Για παράδειγμα, βρείτε τον αριθμό των γραμμών που δεν περιέχουν τις λέξεις science ή Science.

% grep -ivc science science.txt

 

wc (word count)

Ένα ιδιαίτερα βοηθητικό μικρό πρόγραμμα είναι το wc το οποίο μετράει λέξεις. Για να μετρήσετε τις λέξεις στο αρχείο science.txt, πληκτρολογήστε:

% wc -w science.txt

Για να βρείτε πόσες γραμμές έχει το αρχείο, πληκτρολογήστε:

% wc -l science.txt

Περίληψη

Εντολή Σημασία
cp file1 file2 Αντέγραψε το file1 και ονόμασε το αντίγραφο file2
mv file1 file2 Μετακίνησε ή μετονόμασε το file1 σε file2
rm file Διέγραψε ένα αρχείο
rmdir directory Διέγραψε ένα κατάλογο
cat file Εμφάνισε ένα αρχείο
less file Εμφάνισε ένα αρχείο μια σελίδα κάθε φορά
head file Εμφάνισε τις πρώτες γραμμές ενός αρχείου
tail file Εμφάνισε τις τελευταίες γραμμές ενός αρχείου
grep 'keyword' file Ψάξε ένα αρχείο για μια συγκεκριμένη λέξη
wc file Μέτρηση γραμμών/λέξεων/χαρακτήρων ενός αρχείο

Previous HomeNext

M.Stonebank@surrey.ac.uk, © 9th October 2000