μΧωρίς σύνοψη επεξεργασίας |
μ (→man pages) |
||
(9 ενδιάμεσες εκδόσεις από ένα χρήστη δεν εμφανίζονται) | |||
Γραμμή 6: | Γραμμή 6: | ||
==Γενικά== | ==Γενικά== | ||
Κάποιος που θέλει να ασχοληθεί με τη γραμμή εντολών καλό είναι να έχει υπόψη του τη [[Φιλοσοφία του Linux]]. | |||
===Σύνταξη εντολών=== | ===Σύνταξη εντολών=== | ||
Οι εντολές αποτελούνται από το όνομα της εντολής και μηδέν, ένα ή περισσότερα ορίσματα. | Οι εντολές αποτελούνται από το όνομα της εντολής και μηδέν, ένα ή περισσότερα ορίσματα. | ||
Ο χρήστης γράφει τις εντολές χρησιμοποιώντας λατινικούς χαρακτήρες και πατώντας enter στο τέλος κάθε γραμμής. Το Linux διακρίνει τα πεζά από τα κεφαλαία γράμματα, οπότε πχ η εντολή '''ls''' δεν μπορεί να | Ο χρήστης γράφει τις εντολές χρησιμοποιώντας λατινικούς χαρακτήρες και πατώντας enter στο τέλος κάθε γραμμής. | ||
{{Προσοχή | Το Linux διακρίνει τα πεζά από τα κεφαλαία γράμματα, οπότε πχ η εντολή '''ls''' δεν μπορεί να γραφτεί ως '''LS'''.}} | |||
Η σύνταξη των εντολών συνήθως παρουσιάζεται ως εξής: | Η σύνταξη των εντολών συνήθως παρουσιάζεται ως εξής: | ||
Γραμμή 17: | Γραμμή 21: | ||
τότε σημαίνει ότι το όνομα της εντολής είναι mv και μετά ακολουθούν δύο ορίσματα. | τότε σημαίνει ότι το όνομα της εντολής είναι mv και μετά ακολουθούν δύο ορίσματα. | ||
=== | ===Φάκελοι=== | ||
Ο χρήστης της γραμμής εντολών βρίσκεται κάθε χρονική στιγμή στον τρέχοντα φάκελο (current directory). Αν ο χρήστης δεν επιλέξει διαφορετικά, τότε κάθε εντολή που δίνει επιδρά στα περιεχόμενα αυτού του φακέλου. | Ο χρήστης της γραμμής εντολών βρίσκεται κάθε χρονική στιγμή στον '''τρέχοντα φάκελο''' (current directory). Αν ο χρήστης δεν επιλέξει διαφορετικά, τότε κάθε εντολή που δίνει επιδρά στα περιεχόμενα αυτού του φακέλου. | ||
Έστω πχ ότι στον υπολογιστή υπάρχουν δύο φάκελοι dir1 και dir2 και ο καθένας περιέχει ένα αρχείο με όνομα file.txt. Αν ο τρέχων φάκελος είναι ο dir1 και ο χρήστης δώσει την εντολή διαγραφής του αρχείου file.txt, τότε αυτή θα διαγράψει το αρχείο στο φάκελο dir1 χωρίς να πειράξει εκείνο στο φάκελο dir2. | |||
Κάποιοι φάκελοι είναι αρκετά σημαντικοί και εμφανίζονται τόσο συχνά που έχουν δημιουργηθεί για αυτούς συντομεύσεις. Πχ η διαδρομή προς τον τρέχοντα φάκελο μπορεί να συντομευθεί με μια τελεία: | |||
. | |||
Η διαδρομή προς τον φάκελο στον οποίο περιέχεται ο τρέχων μπορεί να συντομευθεί με δύο τελείες: | |||
.. | |||
Η διαδρομή προς το home directory του κάθε χρήστη μπορεί να συντομευθεί με την κυματιστή παύλα: | |||
~ | |||
===man pages=== | ===man pages=== | ||
Γραμμή 32: | Γραμμή 40: | ||
Για παράδειγμα, αν θέλουμε να δούμε την τεκμηρίωση για την εντολή ls: | Για παράδειγμα, αν θέλουμε να δούμε την τεκμηρίωση για την εντολή ls: | ||
man ls | man ls | ||
Πατήστε q (σύντμηση για quit) ώστε να εγκαταλείψετε την ανάγνωση. | |||
Τα man pages παρέχουν αναλυτική πληροφορία για τη σύνταξη κάθε εντολής. Έχουν, όμως, γενικά φτιαχτεί ως τεκμηρίωση αναφοράς, δηλαδή κυρίως για να μπορεί κανείς να βρει γρήγορα κάτι που ξέρει αλλά δε θυμάται καλά. Ως αποτέλεσμα, κάποιες φορές δεν αρκούν για να μάθει κανείς νέες εντολές, με τις οποίες δεν έχει καθόλου εμπειρία. | |||
==Διαχείριση φακέλων== | ==Διαχείριση φακέλων== | ||
Οι εντολές αυτές διαχειρίζονται φακέλους, χωρίς να αλλάζουν τα περιεχόμενά τους. | |||
===cd=== | ===cd=== | ||
Αλλάζει τον τρέχοντα φάκελο. Η σύνταξή της είναι: | Αλλάζει τον τρέχοντα φάκελο. Η σύνταξή της είναι: | ||
Γραμμή 51: | Γραμμή 63: | ||
==Διαχείριση αρχείων== | ==Διαχείριση αρχείων== | ||
Οι εντολές αυτές διαχειρίζονται αρχεία χωρίς να μεταβάλλουν (ή επηρρεάζονται από) τα περιεχόμενά τους. | |||
===ls=== | ===ls=== | ||
Εμφανίζει τα περιεχόμενα ενός φακέλου. Για να δούμε αυτά του τρέχοντος φακέλου η σύνταξή της είναι: | Εμφανίζει τα περιεχόμενα ενός φακέλου. Για να δούμε αυτά του τρέχοντος φακέλου η σύνταξή της είναι: | ||
ls | ls | ||
Μπορούμε να ζητήσουμε εμφάνιση περισσότερων πληροφοριών, όπως το μέγεθος | Μπορούμε να ζητήσουμε εμφάνιση περισσότερων πληροφοριών, όπως το μέγεθος και τα [[Παραδοσιακά δικαιώματα αρχείων | δικαιώματα]] με: | ||
ls -l | ls -l | ||
Επίσης μπορούμε να εμφανίσουμε τα κρυμμένα αρχεία (αυτά που το όνομά τους ξεκινά με τελεία) με: | |||
ls -a | |||
===cp=== | ===cp=== | ||
Γραμμή 91: | Γραμμή 106: | ||
find /usr/bin -name grof* | find /usr/bin -name grof* | ||
Αυτό ψάχνει στο φάκελο /usr/bin για αρχεία με όνομα που αρχίζει από grof και ακολουθείται (το όνομα) από μηδέν ή περισσότερους χαρακτήρες. | Αυτό ψάχνει στο φάκελο /usr/bin για αρχεία με όνομα που αρχίζει από grof και ακολουθείται (το όνομα) από μηδέν ή περισσότερους χαρακτήρες. | ||
===which=== | |||
Εμφανίζει τη διαδρομή του αρχείου, εφόσον αυτό βρίσκεται στο $PATH: | |||
which <filename> | |||
Αν το filename δε βρίσκεται στο $PATH, τότε δεν εμφανίζει τίποτα. | |||
===touch=== | ===touch=== | ||
Θέτει ως ημερομηνία και ώρα ενός αρχείου την τρέχουσα: | Θέτει ως ημερομηνία και ώρα ενός αρχείου την τρέχουσα: | ||
touch <filename> | touch <filename> | ||
Αν το αρχείο δεν υπάρχει, τότε δημιουργεί ένα νέο, κενό αρχείο. | |||
===ln=== | |||
Δημιουργεί ένα σύνδεσμο (link) προς το αρχείο, που συμπεριφέρεται ως αντίγραφο του αρχείου αυτού: | |||
ln -s <filename> <linkname> | |||
===chmod=== | |||
Αλλάζει τις [[Παραδοσιακά δικαιώματα αρχείων | άδειες]] (permissions) ενός αρχείου: | |||
chmod <permission> <filename> | |||
===chown=== | |||
Αλλάζει τον ιδιοκτήτη ή/και την ομάδα ενός αρχείου: | |||
chown <owner>:<group> <filename> | |||
==Εμφάνιση αρχείων== | ==Εμφάνιση αρχείων== | ||
Οι εντολές αυτές διαχειρίζονται τα περιεχόμενα αρχείων. | |||
===cat=== | ===cat=== | ||
Εμφανίζει τα περιεχόμενα ενός αρχείου στην κονσόλα. Η σύνταξή της είναι: | Εμφανίζει τα περιεχόμενα ενός αρχείου στην κονσόλα. Η σύνταξή της είναι: | ||
cat <file> | cat <file> | ||
Μπορεί επίσης να εμφανίσει τα περιεχόμενα περισσότερων αρχείων, το ένα μετά το άλλο, πχ: | |||
cat <file1> <file2> <file3> <file4> | |||
===less=== | ===less=== | ||
Γραμμή 125: | Γραμμή 152: | ||
Η less μπορεί να είναι πολύ χρήσιμη αν κατευθύνουμε σε αυτή το αποτέλεσμα άλλων εντολών. Για παράδειγμα αν ένας φάκελος περιέχει πολλά αρχεία, μπορούμε να τα δούμε αναλυτικά με την εξής εντολή: | Η less μπορεί να είναι πολύ χρήσιμη αν κατευθύνουμε σε αυτή το αποτέλεσμα άλλων εντολών. Για παράδειγμα αν ένας φάκελος περιέχει πολλά αρχεία, μπορούμε να τα δούμε αναλυτικά με την εξής εντολή: | ||
ls -l | less | ls -l | less | ||
Το όνομα της εντολής less ('λιγότερα') προήλθε ως αστείο από το όνομα μιας προγενέστερης εντολής, της more ('περισσότερα'), η οποία δείχνει ένα αρχείο κειμένου ανά σελίδα, αλλά χωρίς τη δυνατότητα μετακίνησης τόσο προς την αρχή όσο και προς το τέλος του αρχείου. | |||
===head=== | ===head=== | ||
Εμφανίζει τις πρώτες γραμμές ενός αρχείου κειμένου: | Εμφανίζει τις πρώτες γραμμές ενός αρχείου κειμένου: | ||
head <filename> | head <filename> | ||
Αν θέλουμε μόνο πχ τις πρώτες 3 γραμμές: | |||
head -n 3 <filename> | |||
===tail=== | ===tail=== | ||
Εμφανίζει τις τελευταίες γραμμές ενός αρχείου κειμένου: | Εμφανίζει τις τελευταίες γραμμές ενός αρχείου κειμένου: | ||
tail <filename> | tail <filename> | ||
Αν θέλουμε μόνο πχ τις τελευταίες 3 γραμμές: | |||
tail -n 3 <filename> | |||
===sort=== | |||
Ταξινομεί τα περιεχόμενα ενός αρχείου κειμένου. | |||
Για αλφαβητική ταξινόμηση: | |||
sort <filename> -o <target> | |||
Για αντίστροφη ταξινόμηση: | |||
sort -r <filename> | |||
==Σύστημα== | ==Σύστημα== | ||
Πρόκειται για εντολές που εμφανίζουν πληροφορίες για το σύστημα και τις διεργασίες που εκτελεί. | |||
===top=== | ===top=== | ||
Εμφανίζει μια λίστα με τις διεργασίες (processes) που εκτελεί ο υπολογιστής: | Εμφανίζει μια λίστα με τις διεργασίες (processes) που εκτελεί ο υπολογιστής: |
Τελευταία αναθεώρηση της 21:03, 26 Σεπτεμβρίου 2013
Το παρόν άρθρο περιγράφει μερικές βασικές εντολές της γραμμής εντολών.
Μπορούμε να εκτελέσουμε αυτές τις εντολές ανοίγοντας μια κονσόλα, η οποία με τη σειρά της εκτελεί ένα κέλυφος, το οποίο με τη σειρά του αναλαμβάνει να διαχειριστεί και εκτελέσει τις εντολές που δίνει ο χρήστης.
Το άρθρο προορίζεται για αρχάριους και περιλαμβάνει μόνο τις πιο απλές ή συνήθεις μορφές των εντολών.
Γενικά
Κάποιος που θέλει να ασχοληθεί με τη γραμμή εντολών καλό είναι να έχει υπόψη του τη Φιλοσοφία του Linux.
Σύνταξη εντολών
Οι εντολές αποτελούνται από το όνομα της εντολής και μηδέν, ένα ή περισσότερα ορίσματα.
Ο χρήστης γράφει τις εντολές χρησιμοποιώντας λατινικούς χαρακτήρες και πατώντας enter στο τέλος κάθε γραμμής.
⚠ | Το Linux διακρίνει τα πεζά από τα κεφαλαία γράμματα, οπότε πχ η εντολή ls δεν μπορεί να γραφτεί ως LS. |
Η σύνταξη των εντολών συνήθως παρουσιάζεται ως εξής:
command_name <argument>
Το command_name είναι το όνομα της εντολής και με < και > εμφανίζονται τα ορίσματα. Για παράδειγμα, αν η σύνταξη είναι:
mv <oldfile> <newfile>
τότε σημαίνει ότι το όνομα της εντολής είναι mv και μετά ακολουθούν δύο ορίσματα.
Φάκελοι
Ο χρήστης της γραμμής εντολών βρίσκεται κάθε χρονική στιγμή στον τρέχοντα φάκελο (current directory). Αν ο χρήστης δεν επιλέξει διαφορετικά, τότε κάθε εντολή που δίνει επιδρά στα περιεχόμενα αυτού του φακέλου.
Έστω πχ ότι στον υπολογιστή υπάρχουν δύο φάκελοι dir1 και dir2 και ο καθένας περιέχει ένα αρχείο με όνομα file.txt. Αν ο τρέχων φάκελος είναι ο dir1 και ο χρήστης δώσει την εντολή διαγραφής του αρχείου file.txt, τότε αυτή θα διαγράψει το αρχείο στο φάκελο dir1 χωρίς να πειράξει εκείνο στο φάκελο dir2.
Κάποιοι φάκελοι είναι αρκετά σημαντικοί και εμφανίζονται τόσο συχνά που έχουν δημιουργηθεί για αυτούς συντομεύσεις. Πχ η διαδρομή προς τον τρέχοντα φάκελο μπορεί να συντομευθεί με μια τελεία:
.
Η διαδρομή προς τον φάκελο στον οποίο περιέχεται ο τρέχων μπορεί να συντομευθεί με δύο τελείες:
..
Η διαδρομή προς το home directory του κάθε χρήστη μπορεί να συντομευθεί με την κυματιστή παύλα:
~
man pages
Το Linux διαθέτει εκτεταμένη τεκμηρίωση με τη μορφή man pages (από το 'manual'). Μπορούμε να δούμε τις πληροφορίες για κάποια εντολή με:
man <command>
Για παράδειγμα, αν θέλουμε να δούμε την τεκμηρίωση για την εντολή ls:
man ls
Πατήστε q (σύντμηση για quit) ώστε να εγκαταλείψετε την ανάγνωση.
Τα man pages παρέχουν αναλυτική πληροφορία για τη σύνταξη κάθε εντολής. Έχουν, όμως, γενικά φτιαχτεί ως τεκμηρίωση αναφοράς, δηλαδή κυρίως για να μπορεί κανείς να βρει γρήγορα κάτι που ξέρει αλλά δε θυμάται καλά. Ως αποτέλεσμα, κάποιες φορές δεν αρκούν για να μάθει κανείς νέες εντολές, με τις οποίες δεν έχει καθόλου εμπειρία.
Διαχείριση φακέλων
Οι εντολές αυτές διαχειρίζονται φακέλους, χωρίς να αλλάζουν τα περιεχόμενά τους.
cd
Αλλάζει τον τρέχοντα φάκελο. Η σύνταξή της είναι:
cd <new current directory>
mkdir
Δημιουργεί ένα νέο φάκελο. Η σύνταξή της είναι:
mkdir <name of new directory>
rmdir
Σβήνει ένα υπάρχοντα άδειο φάκελο. Η σύνταξή της είναι:
rmdir <name of existing directory>
pwd
Εμφανίζει το πλήρες όνομα του τρέχοντος φακέλου. Η σύνταξή της είναι:
pwd
Διαχείριση αρχείων
Οι εντολές αυτές διαχειρίζονται αρχεία χωρίς να μεταβάλλουν (ή επηρρεάζονται από) τα περιεχόμενά τους.
ls
Εμφανίζει τα περιεχόμενα ενός φακέλου. Για να δούμε αυτά του τρέχοντος φακέλου η σύνταξή της είναι:
ls
Μπορούμε να ζητήσουμε εμφάνιση περισσότερων πληροφοριών, όπως το μέγεθος και τα δικαιώματα με:
ls -l
Επίσης μπορούμε να εμφανίσουμε τα κρυμμένα αρχεία (αυτά που το όνομά τους ξεκινά με τελεία) με:
ls -a
cp
Δημιουργεί αντίγραφο ενός αρχείου. Η σύνταξή της είναι:
cp <source> <target>
⚠ | Αν το <target> υπάρχει, τότε η cp το καταστρέφει και το αρχείο δεν μπορεί να ανακτηθεί. Εξ ορισμού η εντολή cp δεν περιμένει επιβεβαίωση από το χρήστη. |
rm
Διαγράφει ένα υπάρχον αρχείο. Η σύνταξή της είναι:
rm <file>
⚠ | Αρχεία που διαγράφονται με την εντολή αυτή δεν μπορούν να ανακτηθούν. Εξ ορισμού η εντολή rm δεν περιμένει επιβεβαίωση από το χρήστη. |
mv
Μετονομάζει ή μετακινεί ένα υπάρχον αρχείο. Η σύνταξή της είναι:
mv <source> <target>
Αν το <target> δεν υπάρχει, τότε η mv μετονομάζει το <source> σε <target>.
Αν το <target> υπάρχει και είναι όνομα φακέλου, τότε η mv μεταφέρει το <source> μέσα σε αυτόν.
⚠ | Αν το <target> υπάρχει και είναι όνομα αρχείου, τότε η mv μετονομάζει το <source> σε <target>. Το παλαιό <target> σβήνεται και δεν μπορεί να ανακτηθεί. Εξ ορισμού η εντολή mv δεν περιμένει επιβεβαίωση από το χρήστη. |
find
Αναζητεί ένα αρχείο και εμφανίζει τη διαδρομή προς αυτό.
Η πλέον απλή μορφή αναζητά ένα ή περισσότερα αρχεία με όνομα <filename>, αρχίζοντας από τον τρέχοντα φάκελο και διατρέχοντας όλους τους υποφακέλους:
find . -name <filename>
Αν δε θέλουμε να κάνει διάκριση μεταξύ πεζών/κεφαλαίων στο όνομα, τότε χρησιμοποιούμε την παράμετρο -iname αντί για την -name:
find . -iname <filename>
Αν δε θέλουμε να ψάξουμε σε προσαρτημένα συστήματα αρχείων (mounted filesystems) τότε προσθέτουμε την παράμετρο -xdev. Αυτό μπορεί να είναι χρήσιμο πχ στο ubuntu, που κάποια συστήματα αρχείων προσαρτούνται στο ~/.gvfs και συνεπώς αν γίνει αναζήτηση με αρχή το ~ τότε θα "ξεφύγει" και προς αυτά.
find . -xdev -name <filename>
Παράδειγμα της εντολής:
find /usr/bin -name grof*
Αυτό ψάχνει στο φάκελο /usr/bin για αρχεία με όνομα που αρχίζει από grof και ακολουθείται (το όνομα) από μηδέν ή περισσότερους χαρακτήρες.
which
Εμφανίζει τη διαδρομή του αρχείου, εφόσον αυτό βρίσκεται στο $PATH:
which <filename>
Αν το filename δε βρίσκεται στο $PATH, τότε δεν εμφανίζει τίποτα.
touch
Θέτει ως ημερομηνία και ώρα ενός αρχείου την τρέχουσα:
touch <filename>
Αν το αρχείο δεν υπάρχει, τότε δημιουργεί ένα νέο, κενό αρχείο.
ln
Δημιουργεί ένα σύνδεσμο (link) προς το αρχείο, που συμπεριφέρεται ως αντίγραφο του αρχείου αυτού:
ln -s <filename> <linkname>
chmod
Αλλάζει τις άδειες (permissions) ενός αρχείου:
chmod <permission> <filename>
chown
Αλλάζει τον ιδιοκτήτη ή/και την ομάδα ενός αρχείου:
chown <owner>:<group> <filename>
Εμφάνιση αρχείων
Οι εντολές αυτές διαχειρίζονται τα περιεχόμενα αρχείων.
cat
Εμφανίζει τα περιεχόμενα ενός αρχείου στην κονσόλα. Η σύνταξή της είναι:
cat <file>
Μπορεί επίσης να εμφανίσει τα περιεχόμενα περισσότερων αρχείων, το ένα μετά το άλλο, πχ:
cat <file1> <file2> <file3> <file4>
less
Εμφανίζει τα περιεχόμενα ενός αρχείου κειμένου στην κονσόλα, περιμένοντας εντολή του χρήστη για να μετακινηθεί σε επόμενη ή προηγούμενη σελίδα.
Η σύνταξη της εντολής είναι:
less <filename>
Η μετακίνηση μπορεί να γίνει ως εξής:
- Space ή Page Down: Επόμενη σελίδα
- Page Up: Προηγούμενη σελίδα
- Κάτω βέλος: Επόμενη γραμμή
- Άνω βέλος: Προηγούμενη γραμμή
Η less μπορεί να είναι πολύ χρήσιμη αν κατευθύνουμε σε αυτή το αποτέλεσμα άλλων εντολών. Για παράδειγμα αν ένας φάκελος περιέχει πολλά αρχεία, μπορούμε να τα δούμε αναλυτικά με την εξής εντολή:
ls -l | less
Το όνομα της εντολής less ('λιγότερα') προήλθε ως αστείο από το όνομα μιας προγενέστερης εντολής, της more ('περισσότερα'), η οποία δείχνει ένα αρχείο κειμένου ανά σελίδα, αλλά χωρίς τη δυνατότητα μετακίνησης τόσο προς την αρχή όσο και προς το τέλος του αρχείου.
head
Εμφανίζει τις πρώτες γραμμές ενός αρχείου κειμένου:
head <filename>
Αν θέλουμε μόνο πχ τις πρώτες 3 γραμμές:
head -n 3 <filename>
tail
Εμφανίζει τις τελευταίες γραμμές ενός αρχείου κειμένου:
tail <filename>
Αν θέλουμε μόνο πχ τις τελευταίες 3 γραμμές:
tail -n 3 <filename>
sort
Ταξινομεί τα περιεχόμενα ενός αρχείου κειμένου.
Για αλφαβητική ταξινόμηση:
sort <filename> -o <target>
Για αντίστροφη ταξινόμηση:
sort -r <filename>
Σύστημα
Πρόκειται για εντολές που εμφανίζουν πληροφορίες για το σύστημα και τις διεργασίες που εκτελεί.
top
Εμφανίζει μια λίστα με τις διεργασίες (processes) που εκτελεί ο υπολογιστής:
top
Η οθόνη της εφαμογής ανανεώνεται συνεχώς και για να την τερματίσουμε πατάμε το πλήκτρο 'q'.
Υπάρχει μια πιο "εμφανίσιμη" εντολή που κάνει το ίδιο πράγμα, η htop, που όμως δεν είναι εξ ορισμού εγκατεστημένη.
uname
Εμφανίζει πληροφορίες για το σύστημα, όπως αρχιτεκτονική και έκδοση πυρήνα (kernel):
uname -a
hostname
Εμφανίζει το όνομα του υπολογιστή (host):
hostname
Στο κέλυφος bash (και όχι μόνο) το όνομα του υπολογιστή εμφανίζεται εξ ορισμού στο prompt.
df
Εμφανίζει πληροφορίες για τη χρήση των συστημάτων αρχείων (file system usage):
df
du
Εμφανίζει το χώρο που καταλαμβάνουν τα περιεχόμενα του τρέχοντος φακέλου και όλων των υποφακέλων του:
du