ΠΕΡΙΣΟΤΕΡΕΣ ΕΝΤΟΛΕΣ

Οπως είδαμε, ένας τρόπος για να δημιουργήσουμε ένα αρχείο στο UNIX είναι να χρησιμοποιήσουμε κάποιον EDITOR (συντάκτης κειμένου). 

$ ed new 

Don't put off for tomorrow what you can do today, 
because if you enjoy it today 
you can do it again tomorrow 



$ cat new 
Don't put off for tomorrow whar you can do today 
because if you enjoy it today 
you can do it again tomorrow


Αν θέλουμε να δούμε πόσο μεγάλο είναι ένα αρχείο μας με την εντολή "wc" (word-counter) μπορούμε να μετρήσουμε πόσες γραμμές, λέξεις και χαρακτήρες περιέχει το αρχείο μας. 

$ wc new 
4   21   103   new 


Το αρχείο new έχει 4 γραμμές, 21 λέξεις, 103 χαρακτήρες.

Με την εντολή "grep" έχω τη δυνατότητα να δώ αν κάποια συγκεκριμμένη σειρά από χαρακτήρες (string) περιέχεται μέσα στο αρχείο μου και σε ποιά γραμμή: 

$grep because new              (ψάχνω για το because στο new ) 
because if you enjoy today 


μου δίνει την γραμμή που περιέχει το because. Με το grep επίσης μπορώ να δώ τις γραμμές που δεν περιέχουν κάποια σειρά από χαρακτήρες: 

$grep -v tomorrow                       (θέλω τις γραμμές που δεν περιέχουν το tomorrow) 
what you can do today because if you enjoy it today 


Το -v λέγεται option (όρισμα, παράμετρος) του grep (κάτι που το ζητάω προαιρετικά σαν επιλογή). Οι περισσότερες εντολές στον UNIX δίνουν διάφορες προαιρετικές δυνατότητες (options) π.χ. η εντολή ls: 

ls -a 
(δείχνει και το μέγεθος των αρχείων) 
ls -f  
(δείχνει πoιά αρχεία μου είναι directories) 

Ο τρόπος που δηλώνονται τα ορίσματα (options) διαφέρει από εντολή σε εντολή. 

Μία άλλη εντολή στον UNIX είναι η εντολή "sort" που μου επιτρέπει να ταξινομήσω το αρχείο μου (π.χ. κατά αύξουσα σειρά) : 

$sort new 
because if you enjoy it today 
don't put for tomorrow what you can do today 
you can do it tomorrow 



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

Και πρώτα τις εντολές που έχουμε χρησιμοποιήσει προηγουμένως.
date: δίνει την ημερομηνία και την ώρα του συστήματος 
who: δείχνει ποιοί χρήστες είναι στο σύστημα αυτή την στιγμή (έχουν κάνει login) 
echo: εμφανίζει στην οθόνη μας ότι του δώσουμε 
ed: πρόκειται για συντάκτη κειμένου (γραμμής, line editor ) 
vi: συντάκτης κειμένου (οθόνης, screen editor). Ο πιό δημοφιλής συντάκτης κειμένου στο UNIX
ls / ls <directory>:  δείχνει τα ονόματα των αρχείων (κατάλογο) που υπάρχουν σε συγκεκριμμένο directory. Αν δεν του δώσουμε directory, δίνει τα αρχεία του directory που δουλεύουμε. Χρησιμα ορίσματα: -l (πολλές πληροφορίες), -F (κάνει διάκριση αρχείων/directories,  -a (όλα τα αρχεία), -c (κατα χρονολογική σειρά) 
cat /cat <αρχείο>...<αρχείο>: εμφανίζει τα περιεχόμενα του αρχείου (ή των αρχείων) που του ορίζουμε. Αν δεν του ορίσουμε αρχείο(α) τότε επαναλαμβάνει ότι του πληκτρολογήσουμε. 
more: το ίδιο με το cat. Εμφανίζει τα περιεχόμενα ανά οθόνη. Για να δούμε την επόμενη οθόνη πατάμε το πλήκτρο <SPACEBAR> (κενός χαρακτήρας). Εχει και άλλες δυνατότητες. Δοκιμάστε το "?" όταν εκτελείται η εντολή για περισότερες πληροφορίες. 
mv / mv <path>/<αρχείο1> <path>/<αρχείο2> : αλλάζει το όνομα ενός αρχείου. Επίσης μπορεί να μεταφέρει αρχεία από κάποιο directory σε ένα άλλο (οταν τα directories βρίσκονται σε διαφορετικές περιφερειακές μονάδες).
Π.χ: mv file1 file2 ή mv file1 /u/kostas/file2 ή mv /u/kostas/file .. 
cp / cp <path>/<αρχείο1> <path>/<αρχείο2>: δημιουργεί αντίγραφα κάποιου(ων) αρχείου(ων) π.χ. cp file1 file2 
Oρισμα: -r (διαγραφή directory) 
rm / rm <path>/<αρχείο(α)>: διαγράφει τα συγκεκριμένα αρχεία από κάποιο directory. Π.χ. rm file1 
Ορίσματα: -I (ζητά επιβεβαίωση) -r (διαγράφει directory) 
pwd: δείχνει το directory που βρίσκομαι 
cd / cd <directory>: αλλάζει directory δίνοντας το νέο π.χ. cd /u /kostas. Aν δεν δηλωθεί directory τότε μας μεταφέρει αυτόματα στην περιοχή μας. cd .. (μας πάει ένα ιεραρχικό επίπεδο επάνω - 2 τελείες) 
mkdir / mkdir <direcrory>: δημιουργώ νέο directory κάτω από αυτό που βρίσκομαι 
wc wc <αρχείο>: μετράει τις γραμμές, τις λέξεις και τους χαρακτήρες (bytes) σε κάποιο αρχείο. 
Oρίσματα: -l (γραμμές μόνο), -w (λέξεις μόνο), -c (χαρακτήρες μόνο) 
grep / grep <γραμματοσειρά> <αρχείο>: ψάχνει για κάποια συγκεκριμένη σειρά χαρακτήρων σε κάποιο αρχείο και εμφανίζει την αντίστοιχη γραμμή του αρχείου. 
Ορίσματα: -n (εμφανίζει και τον αριθμό της γραμμής), 
-v (τις γραμμές που δεν περιέχουν την γραμματοσειρά) 
sort / sort <αρχείο>:  ταξινομεί το περιεχόμενο του αρχείου 
Ορίσματα: -b (αγνοεί τα κενά στην αρχή της γραμμής) 
-f (αγνοεί την διαφορά πεζών-κεφαλαίων) 
-r (αντίστροφη ταξινόμηση) 
diff / diff <αρχειο1> <αρχείο2>:   βρίσκει τι διαφορές υπάρχουν σε δύο αρχεία 
man / man <εντολή>:  manual on-line, εγχειρίδιο χρήσης 
chmod: chmod <βαθμός ασφαλείας> <directory>/<αρχείο(α)>: Καθορίζει το επίπεδο προστασίας αρχείων. 
Ορίσματα: + (προσθήκη δικαιώματος) - (αφαίρεση) 
chmod -r file1 (αφαιρεί το δικαίωμα ανάγνωσης από τους άλλους) 
chmod +wx file1(προσθέτει το δικαίωμα αλλαγής και εκτέλεσης του αρχείου)

Μερικές ακόμη χρήσιμες εντολές/εργαλεία 

Περιβάλλοντα φλοιών (shells) και εργασίας 
Οπως θα δούμε παρακάτω ο χρήστης επικοινωνεί με το σύστημα μέσω κάποιου λογισμικού που ονομάζεται shell (φλοιός). Ο χρήστης μπορεί να επιλέξει το αυτό περιβάλλον εργασίας και να το προσαρμόσει στις ανάγκες του. Για παραθυρικό περιβάλλον εργασίας απαιτείται ο σταθμός εργασίας να είναι "εξυπνος" (PC ή Χ-terminal ή άλλος υπολογιστής, όχι απλό τερματικό).
sh: προγραμματιζόμενη γλώσσα εντολών (φλοιός, shell) 
csh: άλλη προγραμματιζόμενη γλώσσα εντολών (φλοιός, shell) 
tcsh: και
άλλη προγραμματιζόμενη γλώσσα εντολών (φλοιός, shell)
ksh:  και
άλλη προγραμματιζόμενη γλώσσα εντολών (φλοιός, shell)

bash: και άλλη προγραμματιζόμενη γλώσσα εντολών (φλοιός, shell)
Χ-Windows: Παραθυρικό περιβάλλον εργασίας (το πιό παλιό)
Motif:  και άλλο παραθυρικό περιβάλλον εργασίας 
Open Windows:  και άλλο παραθυρικό περιβάλλον εργασίας 
SunView: και άλλο παραθυρικό περιβάλλον εργασίας 

CDE: και άλλο παραθυρικό περιβάλλον εργασίας 

Στο ΤΕΙ Ηρακλείου είναι διαθέσιμα, σε διάφορα συστήματα, όλα τα παραπάνω shells και windows

Εργαλεία για τη δημιουργία περιβάλλοντος του χρήστη:
env: εμφανίζει διαφορες πληροφορίες (τιμές μεταβλητών κυρίως) που αφορούν το περιβάλλον εργασίας του 
history: δίνει κατάλογο προηγουμένων εντολών που έχουν εκτελεστεί (στο csh). Χρήσιμος μηχανισμός που μας επιτρέπει την ευκολη επανάληψη εντολών. 
alias: αλλαγή ονομάτων εντολών (ψευδώνυμα). Μηχανισμός που είναι ενσωματωμένος στο csh. Mε την βοήθεια αυτού του μηχανισμού οι χρήστες του ΤΕΙ μπορούν εξ' ορισμού να χρησιμοποιούν τις αντίστοιχες εντολές του MS-DOS. 
cal: ημερολόγιο (π.χ. cal 3 1991) 
passwd: δίνει δυνατότητα αλλαγής του password. Σττο ΤΕΙ Ηρακλείου χρησιμοποιείστε καλύτερα την yppasswd ώστε με τυχόν αλλαγή του password να ενημερώνονται όλα τα συστήματα των εργαστηρίων. 
ps: δείχνει ποιές επεξεργασίες εκτελούνται όταν εκτελείται η εντολή 
kill: τερματίζει ("σκοτώνει") κάποια επεξεργασία (process). Πρεπει να είναι γνωστός ο αύξων αριθμός της επεξεργασίας 
nice: μας δίνει την δυνατότητα να αλλάξουμε την προτεραιότητα κάποιας εργασίας 
user: ποιοί χρήστες δουλεύουν στο σύστημα 
what: ποιός χρησιμοποιεί το σύστημα και τι κάνει 
sleep: sleep 20; ανενεργός για 20 sec. Χρήσιμο εργαλείο σε ορισμένες εφαρμογές. 
stty: θέτει  και δείχνει τους παραμέτρους ελέγχου για το τερματικό σας (ποίος χαρακτήρας διορθώνει, ποιός τερματίζει μία διαδικασία, ταχύτητα κ.α.) 
calendar: υπενθυμίζει εργασίες 
at: μας δίνει την δυνατότητα να ορίσουμε χρονικά πότε να εκτελεστεί κάποια διαδικασία 

Εργαλεία για προγραμματιστές
as: assembler 
cc: C compiler 
pc: pascal compiler 
f77: fortran compiler 
prolog: Prolog interpreter 
awk: γλώσσα διαχείρισης γραμματοσειρών σε αρχεία 
make: εργαλείο ανάπτυξης και συνδυασμού πηγαίου κώδικα

Εντολές για διαχείριση αρχείων / directories 
file: βρίσκει τον τύπο αρχείου 
find: εντοπίζει το path συγκεκριμμένου αρχείου 
compress: συμπίεση αρχείων 
dc/bc: calculators για διάφορες πράξεις 
rmdir: διαγράφει directory όταν δεν περιέχει αρχεία (προσοχή!) 
mvdir: μετακινεί directories 
tar: είδικη εντολή του UNIX για αρχειοθέτηση αντιγραφή files/directories σε άλλες περιφερειακές μονάδες (ταινίες, δισκέττες κ.α). 
cpio:  εντολή αντίστοιχη του tar, ομως με διαφορετικό όμως τροπο χρήσης και  format αρχείων
pax:   εντολή αντίσοιχη του tar και του cpio με προδιαγραφές POSIX που αναγνωρίζει τα format των δύο προηγούμενων εντολών. 
dd: αντιγράφει files/directories/περιφεριακές μονάδες σε άλλα αρχεία και περιφερειακές μονάδες ταινίες, δισκέττες, δίσκους (πολύ ισχυρή εντολή καθώς είναι σε θέση να κάνει byte-byte επεξεργασία) 
pr: το ιδιο με το cat με δυνατότητες μορφοποίησης του κειμένου 
od: oκταδική/δεκαεξαδική εμφάνιση αρχείου (εξαιρετικά χρήσιμη σε προγραμματιστές) 
pg: Παρόμοιο με την εντολή more 
tail: εμφανίζει τις τελευταίες γραμμές του αρχείου 
head: εμφανίζει τις αρχικές γραμμές του αρχείου 
ln: συνδέει αρχεία μεταξύ τους (πολύ χρήσιμο καθώς αποφευγουμε πολλαπλά αντίγραφα αρχείων) 
lpr: τυπώνει στον εκτυπωτή (lp στο System V) 
lpq: τι εργασίες υπάρχουν για εκτύπωση (BSD systems)
lpstat: δείχνει σε τί κατάσταση βρίσκονται οι εκτυπώτες του συστήματος (System V) 


Εργαλεία για ηλεκτρονική συννενόηση χρηστών/μηχανών
mail: ηλεκτρονικό ταχυδρομείο 
msgs: εμφανίζει μηνύματα σε όλους τους χρήστες με την βοήθεια του mail 
talk: αμφιδρομη επικοινωνία με άλλο χρήστη 
write: στέλνω μήνυμα σε άλλο χρήστη 
wall: στέλνω μηνύματα σε όλους τους χρήστες που είναι login 
cu/tip: δυνατότητα κλήσης άλλου UNIX συστήματος 
uucp: επικοινωνία μεταξύ συστημάτων UNIX 
uux: απομεμακρυσμένη εκτέλεση προγράμματος 
rlogin: Σύνδεση με άλλο μηχάνημα (rlogin <IP address> - Internet) 
telnet: Συνδεση με άλλο μηχάνημα (telnet <IP address> - Internet) 
uuencode: μετατροπή αρχείου σε μορφή κειμένου (ascii) ώστε να είναι ευκολη η μεταφορά του στο δίκτυο 
uudecode: το αντίθετο του uuencode, επαναφέρει το αρχείο στην αρχική του μορφή 

Επεξεργασία κειμένου
nroff/troff: επεξεργαστές κειμένου 
cmp: σύγκριση αρχείων 
ex: editor (συντάκτης κειμένου -γραμμής και οθόνης) 
spell: διόρθωση ορθογραφικών λαθών στα αγγλικά 
tr: αλλάζει (μετατρέπει) χαρακτήρες 
sed: stream editor (batch μετατροπές αρχείων) 
split: μοίρασμα αρχείου

Παιχνίδια 
backgammon, σκάκι, fortune, κ.λ.π. Δοκιμάστε τα, αν τα βρείτε, συνήθως βρίσκονται είναι στο directory /usr/game). 

 

Στην προηγούμενη ενότητα

Στην αρχική σελίδα

Στην επόμενη ενότητα