ΠΕΡΙΣΟΤΕΡΕΣ ΕΝΤΟΛΕΣ
Οπως είδαμε, ένας τρόπος για να δημιουργήσουμε ένα αρχείο στο UNIX είναι να χρησιμοποιήσουμε κάποιον EDITOR (συντάκτης κειμένου).
$ ed new
a
Don't put off for tomorrow what you can do today,
because if you enjoy it today
you can do it again tomorrow
.
w
q
$ 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).
Στην προηγούμενη ενότητα |