Ένας υπολογιστής κάνει μόνο δύο πράγματα:
Η επικοινωνία του χρήστη με τον υπολογιστή γίνεται με τη βοήθεια του λειτουργικού συστήματος. Θα δούμε μία σειρά εντολών του λειτουργικού συστήματος linux. Σε αυτές τις εντολές (πρόκειται για λέξεις) ο υπολογιστής ανταποκρίνεται δίνοντάς μας ένα αποτέλεσμα. Ανοίξτε ένα terminal και στη γραμμή που φαίνεται (γραμμή εντολών) μπορείτε να γράψετε κάθε μία από τις παρακάτω εντολές.
date
cal Oct 2018
Εισάγοντας κάθε εντολή (και πατώντας το πλήκτρο enter/return) βλέπετε, στις επόμενες γραμμές, το αποτέλεσμα που παράγει.
Μπορούμε να εισάγουμε στον υπολογιστή μία σειρά δεδομένων. Αυτό μπορεί να είναι ένα κείμενο το οποίο θέλουμε να καταγράψουμε. Κάθε κείμενο που γράφουμε μπορεί να αποθηκευθεί ως ένα αρχείο (file) στο οποίο πρέπει να δώσουμε ένα όνομα.
filoi.txt
. Σκεφτήκαμε να το ονομάσουμε έτσι διότι μάλλον περιέχει τα ονόματα των φίλων μας (filoi) και είναι ένα αρχείο κειμένου (txt).
Η τελεία είναι ένας χαρακτήρας που χωρίζει με βολικό τρόπο τα δύο κομμάτια του ονόματος.
Μπορούμε να δούμε ποια αρχεία βρίσκονται ήδη αποθηκευμένα στον υπολογιστή μας με την εντολή ls
(list) η οποία παράγει κατάλογο των υπαρχόντων αρχείων.
ls
Μπορούμε να δούμε το περιεχόμενο κάθε αρχείου. Αν υποθέσουμε ότι το όνομα ενός αρχείου είναι filename
τότε έχουμε τις εξής δυνατότητες.
cat
filename
less
filename
more
filename
Η παρακάτω εντολή δίνει τον αριθμό των γραμμών, λέξεων και χαρακτήρων που περιέχει ένα αρχείο.
wc
filename
Βασικές εντολές διαχείρισης αρχείων είναι οι ακόλουθες.
cp
filename filename1
(copy: αντιγραφή αρχείου με όνομα filename
σε νέο αρχείο με όνομα filename1)rm
filename
(remove: σβήσιμο του αρχείου με όνομα filename
)mv
filename filename1
(move: μετονομασία του αρχείου με όνομα filename
σε filename1
)
mv
.
Μεταφέρει (move) ένα αρχείο, το μετονομάζει, ίσως και τα δύο, ή κάτι άλλο;
Ένας υπολογιστής μπορεί να περιέχει ένα πολύ μεγάλο αριθμό αρχείων. Αυτά μπορούν να οργανωθούν έτσι ώστε μία σειρά αρχείων να βρίσκεται σε έναν κατάλογο (directory) και αυτά να διαχωρίζονται έτσι από τα υπόλοιπα αρχεία στον υπολογιστή. Κάθε κατάλογος έχει ένα όνομα. Για παράδειγμα, το όνομα ενός καταλόγου μπορεί να είναι pempti ή home. Υπάρχουν εντολές για να βλέπουμε σε ποιον κατάλογο δουλεύουμε και για να μετακινούμαστε από τον έναν κατάλογο στον άλλον.
pwd
(print working directory: μας λέει σε ποιόν κατάλογο εργαζόμαστε) cd
dirname/
(change directory: μετακινούμαστε σε κατάλογο με όνομα dirname
)cd ..
(μετακινούμαστε στον κατάλογο που βρισκόμασταν πριν αλλάξουμε κατάλογο)Παρατήρηση: ο κατάλογος με όνομα dirname
αναφέρεται επίσης και ως dirname/
(δηλαδή, η κάθετος στο τέλος υποδηλώνει όνομα καταλόγου).
Βασικές εντολές διαχείρισης καταλόγων είναι οι εξής.
mkdir
dirname
(make directory: δημιουργία νέου καταλόγου με όνομα dirname
)rmdir
dirname
(remove directory: σβήσιμο καταλόγου με όνομα dirname
)rm -r
dirname
(σβήσιμο κατάλογου)cp -r
dirname
dirname1
(δημιουργεί αντίγραφο κατάλογου)
ls -l
αλλά και την wc
.)
Ξεκινώντας να εργαζόμασε στον υπολογιστή βρισκόμαστε σε έναν βασικό κατάλογο. Σε αυτόν τον κατάλογο υπάρχουν συνήθως κάποιοι κατάλογοι (π.χ., υπάρχει ένας κατάλογος με όνομα Desktop/
ο οποίος περιέχει ό,τι βλέπουμε στην επιφάνεια εργασίας).
Μπορούμε να δημιουργήσουμε νέους καταλόγους οι οποίοι θα βρίσκονται μέσα στον βασικό μας κατάλογο.
Μέσα σε έναν κατάλογο μπορούμε να δημιουργήσουμε νέους καταλόγους, ώστε τελικά έχουμε μία δένδροειδή οργάνωση καταλόγων.
ls
, ls -l
, ls -la
, ls -lR
, ls -F
και παρατηρήστε τις διαφορές μεταξύ τους.
cat, less, more
και παρατηρήστε τις διαφορές μεταξύ τους.
Ο ειδικός χαρακτήρας * υποδηλώνει μία οποιαδήποτε σειρά χαρακτήρων. Για παράδειγμα, η έκφραση
*.txt
δηλώνει οποιοδήποτε όνομα αρχείου τελειώνει με τους χαρακτήρες .txt
.
ls *.txt
ls ?.txt
ls >
filename
ls >>
filename
Το σύμβολο >
κατευθύνει το αποτέλεσμα μιας οποιασδήποτε εντολής (στο παραπάνω παράδειγμα, της ls
) προς ένα αρχείο
με όνομα filename
. Αν το αρχείο υπάρχει τότε σβήνεται πρώτα το περιεχόμενό του. Αν το αρχείο δεν υπάρχει τότε δημιουργείται για αυτόν τον σκοπό.
Το σύμβολο >>
κατευθύνει το αποτέλεσμα μιας οποιασδήποτε εντολής (στο παραπάνω παράδειγμα, της ls
) προς ένα αρχείο με όνομα filename
και το προσαρτά στο τέλος τους αρχείου (δεν σβήνει το ήδη υπάρχον περιεχόμενο του αρχείου).
grep
η οποία μπορεί να ερευνήσει αρχεία.
grep
'word' filename
Βρίσκει τις γραμμές στις οποίες εμφανίζεται η λέξη word μέσα στο αρχείο με όνομα filename
.
Παρατηρούμε ότι η εντολή grep
χρειάζεται κάτι ως είσοδο (ένα αρχείο) ώστε να μπορέσει να μας δώσει ένα αποτέλεσμα.
Το αποτέλεσμα μίας εντολής μπορεί να αποτελεί μία πληροφορία χρήσιμη ως είσοδος δεδομένων σε μία άλλη. Δείτε το ακόλουθο παράδειγμα.
ls -l
| grep
'word'
Η πρώτη εντολή (ls -l
) παράγει ένα αποτέλεσμα (λίστα ονομάτων αρχείων). Αυτή περνάει από το σύμβολο | το οποίο ονομάζεται pipe και εισέρχεται (αποτελεί την είσοδο δεδομένων) στην επόμενη εντολή (grep
).
Η παραπάνω γραμμή εντολών τελικά θα μας δώσει ως αποτέλεσμα γραμμές όπου περιέχεται η λέξη word.
Για να πάρετε πλήρεις πληροφορίες για οποιαδήποτε εντολή linux
man
commandname
Γράφουμε κείμενα με έναν επεξεργαστή κειμένου, π.χ., τον gedit ή τον geany.
filoi.txt
μπορείτε να γράψετε σε ένα terminal την εντολή
gedit
first.txt
Ένα νέο παράθυρο θα ανοίξει στο οποίο μπορείτε να γράψετε το κείμενό σας. Παράλληλα, το terminal θα παραμείνει ανοιχτό σε μία κατάσταση αναμονής, στην οποία δεν μπορείτε να το χρησιμοποιήσετε μέχρι το gedit να τερματιστεί.
first.txt
στο οποίο γράψτε τις εντολές που έχετε μάθει, μία σε κάθε γραμμή.
more
.
filoi.txt
μπορείτε να γράψετε σε ένα terminal την εντολή
gedit
first.txt
& Ένα νέο παράθυρο θα ανοίξει στο οποίο μπορείτε να γράψετε το κείμενό σας. Παράλληλα, το terminal θα παραμείνει ανοιχτό και μπορείτε να το χρησιμοποιήσετε για να δώσετε οποιαδήποτε άλλη εντολή. Το gedit είναι μία διαδικασία η οποία τρέχει πλέον ανεξάρτητα από την κατάσταση του αρχικού terminal. Λέμε ότι τρέχει στο background και αυτό το πετύχαμε βάζοντας το σύμβολο & στο τέλος της γραμμής εντολών.