| Διαγραφή χαρακτήρα | control-H ή control-? |
| Διαγραφή γραμμής | control-U |
| Παύση της εξόδου | control-S |
| Συνέχιση της εξόδου | control-Q |
| Τέλος του αρχείου | control-D |
| Διακοπή | control-C |
| Προσωρινή διακοπή | control-Z |
| date | Τυπώνει τη μέρα και την ώρα |
| whoami | Τυπώνει το όνομά μας |
| cal | Τυπώνει το ημερολογίου του μήνα |
| echo hello | Τυπώνει hello |
| echo $HOST | Τυπώνει την τιμή της μεταβλητής HOST |
| finger | Τυπώνει τους τρέχοντες χρήστες |
Παράδειγμα:
University of the Aegean
Dept of Mathematics
Samos - Greece
*** Network Connection on ttyp0
Local Time: 19:00 on Wednesday, 29 October 1997
This is node athena.math.aegean.gr
UNAUTHORIZED ACCESS PROHIBITED
login: dspin
dspin's Password:
Last login: Wed Oct 29 18:29:10 on ttyp0 from kerkis.math.aeg
No mail.
There are no messages in your incoming mailbox.
athena:~> date
Wed Oct 29 19:01:20 EET 1997
athena:~> whoami
dspin
athena:~> echo hello
hello
athena:~> echo $HOST
athena
athena:~> cal
October 1999
S M Tu W Th F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
athena:~> finger
Login Name Tty Idle Login Time Office Office Phone
dspin Diomidis Spinelis p0 Oct 29 19:00 [ rls105.math.aeg ]
s95138 Antoniou Niki p1 Oct 29 18:35 [ pyth ]
Παράδειγμα:
athena:~> apropos topological
tsort (1) - Topological sort of a directed graph
athena:~> man tsort
TSORT(1) UNIX Reference Manual TSORT(1)
NAME
tsort - topological sort of a directed graph
SYNOPSIS
tsort [file]
DESCRIPTION
...
| touch αρχείο | Δημιουργεί ένα κενό αρχείο |
| ls | Τυπώνει τα αρχεία ενός καταλόγου |
| rm | Διαγράφει αρχεία |
| mv | Αλλάζει όνομα σε αρχεία |
| more | Τυπώνει αρχεία σελίδα-σελίδα |
| cat | Ενώνει και τυπώνει αρχεία |
| grep λέξη [αρχείο] | Ψάχνει για τη λέξη στο αρχείο |
Παράδειγμα:
athena:~/eg> touch myfile athena:~/eg> ls myfile athena:~/eg> rm myfile athena:~/eg> ls athena:~/eg> touch one athena:~/eg> ls one athena:~/eg> mv one two athena:~/eg> ls two athena:~/eg> grep Elen /etc/passwd s95128:XyiD4md/Jk9.E:690:100:Xatzinikolaou Eleni:/home/stud/c95/s95128:/bin/tcsh s96027:savucWqVCSLHQ:587:100:Gkougkoulia Eleni:/home/stud/c96/s96027:/bin/tcsh s96035:Qys4Lwmsy.uLI:599:100:Drimtzia Eleni:/home/stud/c96/s96035:/bin/tcsh s96050:FokFq/a5cJBgs:626:100:Kontaraki Eleni:/home/stud/c96/s96050:/bin/tcsh s96052:7T6k.D7lzkyK.:631:100:Kote Maria-Elena:/home/stud/c96/s96052:/bin/tcsh s96138:GhPFvxg0F7W.g:840:100:Pozoukidou Eleni:/home/stud/c96/s96138:/bin/tcsh
Προσοχή όταν δίνετε μία εντολή έχει σημασία αν τα γράμματα είναι κεφαλαία ή μικρά.
Ανοίγοντας ένα αρχείο:
vi όνομα
Μετακίνηση μέσα στο αρχείο:
| h (ή το αριστερό βελάκι) | Μία θέση αριστερά |
| l (ή το δεξί βελάκι) | Μία θέση δεξιά |
| k (ή το πάνω βελάκι) | Μία γραμμή πάνω |
| j (ή το κάτω βελάκι) | Μία γραμμή κάτω |
| w | Στην επόμενη λέξη |
Εισαγωγή και διαγραφή κειμένου:
Ο vi έχει δύο καταστάσεις, κατάσταση εντολών και κατάσταση
εισαγωγής κειμένου.
Για να μπείτε στην κατάσταση εισαγωγής κειμένου δίνετε:
| i | Για να μπείτε στην κατάσταση εισαγωγής κειμένου χωρίς να μετακινηθεί ο δρομέας. |
| a | Για να μπείτε στην κατάσταση εισαγωγής κειμένου μετακινούμενοι μία θέση δεξιά. |
| I | Για να μπείτε στην κατάσταση εισαγωγής στην αρχή της γραμμής |
| A | Για να μπείτε στην κατάσταση εισαγωγής στο τέλος της γραμμής |
Για να μπείτε στην κατάσταση εντολών δίνετε:
ESC ή ctrl-[
Για να κάνετε αλλαγές στο κείμενό σας:
| x | διαγράφει τον χαρακτήρα όπου είναι ο δρομέας |
| dd | διαγράφει την γραμμή που είναι ο δρομέας |
| u | ακυρώνει την τελευταία αλλαγή |
Αναζήτηση χαρακτήρων/λέξεων μέσα στο κείμενο:
| /χαρακτήρες | Βρίσκει την επόμενη γραμμή όπου εμφανίζεται το "χαρακτήρες". |
| ?χαρακτήρες | Βρίσκει την προηγούμενη γραμμή όπου εμφανίζεται το "χαρακτήρες". |
| n | Επαναλαμβάνει την αναζήτηση στις επόμενες γραμμές. |
Σώζοντας και βγαίνοντας από ένα αρχείο:
| :w | Σώζει τις τελευταίες αλλαγές και παραμένει μέσα στο αρχείο. |
| :x | Σώζει τις τελευταίες αλλαγές και βγαίνει από το αρχείο |
| :q! | Βγαίνει από το αρχείο χωρίς να σώσει τις αλλαγές |
Βασισμένο σε κείμενο του Αντώνη Δανάλη <danalis@edu.physics.uch.gr (http://www.edu.physics.uch.gr/~danalis/index3.html)>
Εντολές που σβήνουν ή αντιγράφουν κομμάτια του κειμένου
| " | Ορίζει ένα ενταμιευτή ο οποίος μπορεί να χρησιμοποιηθεί από όλες τις εντολές που χρησιμοποιούν ενταμιευτές. Αν το " ακολουθείται από ένα γράμμα ή ένα νούμερο τότε αυτό είναι το όνομα του ενταμιευτή. |
| D | Σβήνει από εκεί που βρίσκεται ο δρομέας μέχρι το τέλος της γραμμής |
| p | Αντιγράφει τον ενταμιευτή που του ορίζουμε μετά την θέση ή την γραμμή που βρίσκεται ο δρομέας. Αν δεν ορίσουμε κάποιον συγκεκριμένο ενταμιευτή τότε η εντολή p χρησιμοποιεί τον γενικό.(Δείτε το παράδειγμα της εντολής ") |
| P | Αντιγράφει τον ενταμιευτή που του ορίζουμε πριν την θέση ή την γραμμή που βρίσκεται ο δρομέας. Αν δεν ορίσουμε κάποιον συγκεκριμένο ενταμιευτή τότε η εντολή P χρησιμοποιεί τον γενικό.(Δείτε το παράδειγμα της εντολής ") |
| x | Σβήνει τον χαρακτήρα πάνω στον οποίο βρίσκεται ο δρομέας. Αν πριν το x δώσουμε ένα αριθμό τότε θα σβηστούν τόσοι χαρακτήρες μετά το δρομέα. |
| X | Σβήνει τον χαρακτήρα που βρίσκεται πριν το δρομέα. |
| d | Σβήνει μέχρι εκεί που του ορίζουμε.Αν δώσουμε dd σβήνει όλη την γραμμή. Ό,τι σβήνεται τοποθετείται στον ενταμιευτή που του ορίζουμε με την εντολή " , αν δεν ορισθεί ενταμιευτής τότε χρησιμοποιείται ο γενικός. |
| Y | Καταχωρεί την γραμμή στον ενταμιευτή που ορίζουμε, αν δεν ορίσουμε ενταμιευτή χρησιμοποιεί τον γενικό. |
| y |
Καταχωρεί στον ενταμιευτή που του ορίζουμε (ή στον γενικό) το κομμάτι του
κειμένου που του ορίζουμε. Οι κανόνες που ακολουθεί είναι αυτοί που
ακολουθεί και η d εκτός από την καταχώρηση μίας γραμμής που γίνεται
δίνοντας yy |
Εντολές εισαγωγής κειμένου
| A | Ξεκινάει την εισαγωγή του κειμένου από το τέλος της γραμμής |
| I | Ξεκινάει την εισαγωγή του κειμένου από την αρχή της γραμμής |
| o | Ξεκινάει την εισαγωγή του κειμένου στην από κάτω γραμμή από αυτή που βρίσκεται ο δρομέας. |
| O | Το κεφαλαίο γράμμα Ο ξεκινάει την εισαγωγή του κειμένου στην από πάνω γραμμή από αυτή που βρίσκεται ο δρομέας. |
| a | Ξεκινάει την εισαγωγή κειμένου μία θέση μετά από εκεί που βρίσκεται ο δρομέας. Συνδυάζοντας την εντολή a με έναν αριθμό n πετυχαίνουμε εισαγωγή κειμένου n φορές. |
| i | Ξεκινάει την εισαγωγή κειμένου μία θέση πριν από εκεί που βρίσκεται ο δρομέας. Συνδυάζοντας την εντολή i με έναν αριθμό n πετυχαίνουμε εισαγωγή κειμένου n φορές. |
Μετακίνηση του δρομέα μέσα σε ένα αρχείο
| ^B | Πάει πίσω μία σελίδα. Μαζί με ένα νούμερο n γυρνάει n σελίδες πίσω. |
| ^F | Πάει μπροστά μία σελίδα. Μαζί με ένα νούμερο n πάει n σελίδες μπροστά. |
| ^D | Πάει μπροστά μισό παράθυρο. Μαζί με ένα νούμερο n πάει n παράθυρα μπροστά |
| ^H | Μετακινεί το δρομέα μία θέση αριστερά. Μαζί με ένα νούμερο n πάει n θέσεις δεξιά |
| ^J | Μετακινεί το δρομέα μία γραμμή κάτω στην ίδια γραμμή. Μαζί με ένα νούμερο n πάει n γραμμές κάτω. |
| ^M | Πηγαίνει στον πρώτο χαρακτήρα της επόμενης γραμμής. |
| ^N | Ό,τι και το ^J |
| ^P | Μετακινεί το δρομέα μία γραμμή κάτω στην ίδια γραμμή. Μαζί με ένα νούμερο n πάει n γραμμές κάτω. |
| ^U | Πάει πίσω μισό παράθυρο. Μαζί με ένα νούμερο n πάει n παράθυρα πίσω |
| $ | Μετακινεί το δρομέα στο τέλος της γραμμής. Μαζί με ένα νούμερο n πάει στο τέλος της γραμμής που είναι n γραμμές κάτω από το δρομέα. |
| % | Αν ο δρομέας είναι πάνω σε παρένθεση ή αγκύλη τότε τον μετακινεί σε αυτήν που της ταιριάζει |
| ( | Μετακινεί το δρομέα στην αρχή της περιόδου |
| ) | Μετακινεί το δρομέα στην αρχή της επόμενης περιόδου |
| { | Μετακινεί το δρομέα στην αρχή της παραγράφου |
| } | Μετακινεί το δρομέα στην επόμενη παράγραφο |
| | | n| Μετακινει το δρομέα στην στήλη n |
| + | Μετακινεί το δρομέα στον πρώτο όχι-κενό χαρακτήρα της επόμενης γραμμής |
| - | Μετακινεί το δρομέα στον πρώτο όχι-κενό χαρακτήρα της προηγούμενης γραμμής |
| ^ | Μετακινεί το δρομέα στον πρώτο όχι-κενό χαρακτήρα της γραμμής |
| _ | Ό,τι και το ^ |
| 0 | Ο χαρακτήρας μηδέν μετακινεί το δρομέα στην πρώτη στήλη της γραμμής |
| B | Μετακινεί το δρομέα μία λέξη πίσω |
| E | Μετακινεί το δρομέα μία λέξη μπροστά |
| nG | Μετακινεί το δρομέα στην γραμμή n. Αν δε δώσετε n, τότε πάει στο τέλος του κειμένου. |
| H | Μετακινεί το δρομέα στον πρώτο όχι-κενό χαρακτήρα στην κορυφή της οθόνης |
| L | Μετακινεί το δρομέα στον πρώτο όχι-κενό χαρακτήρα στο κάτω μέρος της οθόνης |
| M | Μετακινεί το δρομέα στον πρώτο όχι-κενό χαρακτήρα στο κέντρο της οθόνης |
| W | Μετακινεί το δρομέα μία λέξη πίσω |
| b | Μετακινεί το δρομέα μία λέξη πίσω. Αν ο δρομέας είναι μέσα σε λέξη τότε τον πάει στο πρώτο της γράμμα |
| e | Μετακινεί το δρομέα μία λέξη μπροστά. Αν ο δρομέας είναι μέσα σε λέξη τότε τον πάει στο τελευταίο της γράμμα |
| w | Ό,τι και το e |
| h | Μετακινεί το δρομέα μία θέση αριστερά |
| j | Μετακινεί το δρομέα μία γραμμή κάτω |
| k | Μετακινεί το δρομέα μία γραμμή πάνω |
| l | Μετακινεί το δρομέα μία θέση δεξιά |
Μετακίνηση του δρομέα στην οθόνη
| n^E | Μετακινεί την οθόνη n γραμμές πάνω, χωρίς να την μετακινεί μία γραμμή. |
| n^Y | Μετακινεί την οθόνη n γραμμές κάτω, χωρίς να την μετακινεί μία γραμμή. |
| z | Αλλάζει την οθόνη ως εξής: z τοποθετεί την γραμμή στην κορυφή της οθόνης. z. τοποθετεί την γραμμή στο κέντρο της οθόνης. z- τοποθετεί την γραμμή στο κάτω μέρος της οθόνης. Αν πριν το z υπάρχει ένα νούμερο n, τότε κάνει αυτές τις αλλαγές για την γραμμή n. Για παράδειγμα 16z τοποθετεί στην κορυφή της οθόνης την γραμμή 16 |
Αντικατάσταση κειμένου
| C | Αλλάζει την γραμμή από την θέση του δρομέα μέχρι το τέλος της |
| R | Αλλάζει τόσους χαρακτήρες όσους δίνουμε και αφήνει άθικτους τους υπόλοιπους |
| S | Αλλάζει ολόκληρη την γραμμή |
| c | Αλλάζει την γραμμή μέχρι να βρει μία τελεία. Το cc αλλάζει ολόκληρη την γραμμή |
| r | Αλλάζει τον χαρακτήρα που βρίσκεται ο δρομέας |
| s | Αλλάζει τον χαρακτηρα που είναι ο δρομέας και μπαίνει σε insert mode. Με έναν αριθμό n αλλάζει n χαρακτήρες. Ο τελευταίος χαρακτήρας που είναι να αλλάξει αντικαθίσταται προσωρινά με ένα $ |
Εντολές για να ψάχνετε μέσα σε ένα κείμενο
| / | Ψάχνει προς τα κάτω το κείμενο για τη συμβολοσειρά (κανονική έκφραση) που ορίζουμε μετά το / |
| ? | Ψάχνει προς τα επάνω το κείμενο για τη συμβολοσειρά (κανονική έκφραση) που ορίζουμε μετά το ? |
| n | Επαναλαμβάνει την τελευταία εντολή / ή ? |
| N | Ό,τι και το n αλλά στην αντίθετη κατεύθυνση |
| f | Ψάχνει μέσα στην γραμμή για τον χαρακτήρα που δίνουμε μετά το f και μετακινεί το δρομέα εκεί. |
| F | Ψάχνει προς τα πίσω μέσα στην γραμμή για τον χαρακτήρα που δίνουμε μετά το f και μετακινεί το δρομέα εκεί. |
| T | Ό,τι και το T αλλά πάει το δρομέα στην επόμενη θέση από τον χαρακτήρα. |
| t | Ό,τι και το f αλλά πάει το δρομέα στην προηγούμενη θέση από τον χαρακτήρα |
| ; | Επαναλαμβάνει την τελευταία εντολή f ή F ή t ή T |
| , | Επαναλαμβάνει την τελευταία εντολή f ή F ή t ή T αλλά στην αντίθετη κατεύθυνση |
Εντολές μορφοποίησης χαρακτήρων και γραμμών
| ~ | Αλλάζει από κεφαλαίο σε μικρό και από μικρό σε κεφαλαίο το γράμμα που είναι ο δρομέας |
| << | Μετακινεί την γραμμή προς τα αριστερά. Η τιμή του είναι μεταβλητή και μπορεί να ορισθεί από την set shiftwidth |
| >> | Μετακινεί την γραμμή προς τα δεξιά. Η τιμή του είναι μεταβλητή και μπορεί να ορισθεί από την set shiftwidth |
| J | Ενώνει την γραμμή που βρίσκεται ο δρομέας με την επόμενη. Με ένα νούμερο n μπροστά ενώνει n γραμμές |
Εντολές για να σώσετε και να βγείτε από ένα αρχείο
| ^\ | Μπαίνει σε ΕΧ mode. Ο EX editor είναι αυτός πάνω στον οποίο "χτίστηκε" ο VI. Για να επιστρέψετε σε vi mode δίνετε :vi |
| Q | Ό,τι και η ^\ |
| ZZ | Βγαίνει από το αρχείο σώζοντας τις αλλαγές |
Μερικές ακόμα εντολές
| ^G | Δείχνει το όνομα του αρχείου τον συνολικό αριθμό γραμμών που έχει και τον αριθμό της γραμμής που βρίσκεται ο δρομέας |
| ^L | Καθαρίζει την οθόνη. |
| ^R | Ξανασχεδιάζει την οθόνη και διορθώνει τα λάθη |
| ^[ | Το σύμβολο <ctrl>-[ είναι ουσιαστικά το <ESC> |
| ! | Η εντολή ! ξεκινάει ένα shell. Αμα ορίσετε κάποιες συγκεκριμένες γραμμές τότε χρησιμοποιεί αυτές σαν input και τις αντικαθιστά με το output. Η !! χρησιμοποιεί σαν input την γραμμή που είναι ο δρομέας. |
| & | Επαναλαμβάνει την τελευταία εντολή αλλαγής :s |
| . | Επαναλαμβάνει την τελευταία εντολή |
| : | Δίνει την δυνατότητα να εκτελεστεί μια εντολή του ex. |
| U | Φέρνει την γραμμή που είναι ο δρομέας στην γραμμή που ήταν πριν την αλλάξετε |
| m | "Σημαδεύει" την θέση με τον χαρακτήρα που ακολουθεί το m |
| u | Ακυρώνει την τελευταία αλλαγή. Δύο συνεχόμενα u αφήνουν το αρχείο όπως ήταν πριν από αυτά |
Εντολές του EX
Ο vi editor είναι βασισμένος πάνω σε έναν διορθωτή γραμμών, τον ex. Ετσι ο vi δίνει την δυνατότητα να εκτελεστούν οι εντολές του ex.
| :ab string strings |
Κάνει συντομογραφία μιας συμβολοσειράς σε μια άλλη. Ετσι αν δώσετε: :ab usa United States of America τότε κάθε φορά που θα γράφετε usa θα εμφανίζεται το United States of America |
| :map keys new_seq | Με την μέθοδο του mapping μπορείτε να κάνετε συντομογραφίες σε εντολες. |
| :q | Βγαίνει από το αρχείο. Αν έχετε κάνει αλλαγές που δεν έχετε σώσει τότε εμφανίζεται ένα μήνυμα και δεν βγαίνει από το αρχείο |
| :q! | Βγαίνει από το αρχείο χωρίς να σώσει τις τελευταίες αλλαγές |
| :s/from/to/options | Αντικαθιστά την λέξη from στην λέξη to. |
| :set [all] | Ορίζει της μεταβλητές του vi. Η εντολή set all δείχνει όλες τις μεταβλητές και για όσες υπάρχει, την τιμή τους. |
| :una string | κάνει το ανάποδο από την ab, δηλαδή αφαιρεί από μια συμβολοσειρά την ιδιότητά του να είναι συντομογραφία κάποιας άλλης. |
| :unm keys | Το αντίστοιχο του una αλλά για την εντολή map |
| :vi filename | Ξεκινάει την επεξεργασία ενός άλλου αρχείου. |
| :w | Σώζει το αρχείο και παραμένει μέσα σε αυτό |
| :w new_file | Σώζει τα περιεχόμενα του αρχείου σε ένα άλλο με όνομα new_file |
| :w >> filename | Προσθέτει το αρχείο, κάτω από το αρχείο filename |
| :wq | Σώζει τις τελευταίές αλλαγές και βγαίνει από το αρχείο |
| :x | Ότι και το x |
Βασισμένο σε κείμενο του Αντώνη Δανάλη <danalis@edu.physics.uch.gr (http://www.edu.physics.uch.gr/~danalis/index3.html)>
gcc -o output filename.sόπου output είναι το εκτελέσιμο αρχείο που θα δημιουργηθεί και filename.s είναι το αρχείο που θα περιέχει τον πηγαίο κώδικα στη συμβολική γλώσσα. Για να εκτελέσουμε το αρχείο, αν ο τρέχων κατάλογος (.) δεν είναι στο μονοπάτι των καταλόγων από τους οποίους εκτελούνται τα προγράμματα πρέπει να προσδιορίσουμε τον τρέχοντα κατάλογο ως τμήμα της εντολής που θέλουμε να εκτελέσουμε:
./mycommandΈτσι ο κύκλος για την υλοποίηση ενός προγράμματος σε συμβολκή γλώσσα είναι ο παρακάτω:
vi hello.s gcc -o hello hello.s ./helloΑν έχουμε κάνει κάποιο λογικό λάθος στο πρόγραμμα θα εμφανιστεί στην οθόνη μας το παρακάτω μήνυμα:
Segmentation fault (core dumped)