Δημοσιεύτηκε: 31 Αύγ 2011, 13:05
από lucinos
Εκτελούνται έργα ...
Μην σάς πτοεί το "εκτελούνται έργα" :) (απαντάτε στο παρόν ποστ ελεύθερα)

Μην ξεκινήσετε από εδώ. Διαβάστε πρώτα την σειρά μαθημάτων για το τερματικό:
Μέρος πρώτο
Μέρος δεύτερο
Μέρος τρίτο

Η σύνοψη αυτή έχει τελείως διαφορετικό σκοπό από την παραπάνω παρουσίαση.
Η σύνοψη χρησιμοποιεί κάποιες συμβάσεις. πχ: οπουδήποτε βλέπετε υπογραμμισμένο κείμενο σημαίνει ότι πρέπει να γίνει σχετική αντικατάσταση.

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ
bash
O κυρίαρχος φλοιός για γραμμή εντολών στο λίνουξ. Χρησιμοποιείται όμως και σε άλλα συστήματα (ακόμα και σε windows). Υπάρχουν και άλλοι φλοιοί όπως: dash, csh, zsh. Η DOS είχε το COMMAND.COM

Εικονικό τερματικό/Εικονική κονσόλα/Virtual termilal/Virtual console
Οι συσκευές tty. Αλλάζετε tty με <Ctrl>+<Alt>+<Fn>, όπου n o αριθμός τού tty.
Πχ για να μπείτε στο tty1 πατήστε <Ctrl>+<Alt>+<F1>.
Συνήθως τα πρώτα έξι είναι τερματικά απλού κειμένου και από το 7ο και μετά είναι γραφικό περιβάλλον. Αν είστε σε τερματικό απλού κειμένου το <Ctrl> δεν χρειάζεται.

Εξομοιωτής τερματικού/Εξομοιωτής κονσόλας/Termilal emulator/Console emulator
Πρόγραμμα τού γραφικού περιβάλλοντος που προσφέρει χρήση τής γραμμής εντολών μέσα στο γραφικό περιβάλλον. Συνήθως λέγεται απλώς τερματικό
Υπάρχουν αρκετά προγράμματα για αυτήν την δουλειά, ενδεικτικά:
Στο Gnome : gnome-terminal
Στο KDE : konsole
Στο Xfce : xfce-terminal
Παντού ως το βασικό τού παραθυρικού συστήματος X: xterm

προτροπέας/prompt
Το σύμβολο ή σειρά συμβόλων που προηγείται τού δρομέα και δείχνει ότι περιμένει νέα εντολή μας. Συνήθως το τελευταίο είναι κάποιο από τα παρακάτω:
    $ ο συνηθέστερος προτροπέας στο λίνουξ
    # δείχνει ότι οι εντολές εκτελούνται με δικαιώματα υπερχρήστη
    > εναλλακτικός προτροπέας (γνωστός και από την DOS)
    % χρησιμοποιείται όπως το $ σε άλλες διανομές
    : εναλλακτικός προτροπέας, ίσως τον προσέξατε στο λογκίν.

ΣΥΝΔΥΑΣΜΟΙ ΠΛΗΚΤΡΩΝ
<Ctrl>+<Alt>+<F1> Είσοδος στο tty1
<Ctrl>+<Alt>+<Fn> Είσοδος στο ttyn, από τερματικό απλού κειμένου (n=1 ως 6) το <Ctrl> δεν είναι αναγκαίο
<Alt>+<F7> Επιστροφή στο γραφικό περιβάλλον (συνήθως είναι το tty7)
<Ctrl>+<Alt>+<Τ> Άνοιγμα τερματικού στο ubuntu 11.04 και 11.10
<Ctrl>+<Alt>+<Delete> Επανεκκίνηση τού υπολογιστή σε εικονικό τερματικό απλού κειμένου.
<Ctrl>+<Alt>+<Backspace> Τερματισμός τού εξυπηρετητή X (πρακτικά βίαιη επανεκκίνηση τού γραφικού περιβάλλοντος). Στο Gnome μην αμελήσετε να το ενεργοποιήσετε από τις επιλογές διάταξης πληκτρολογίου· μπορεί να σάς χρειαστεί.

<Enter> Εκτέλεση εντολής στον προτροπέα
<Tab> Αυτοσυμπλήρωση
<ΠάνωΒελάκι> και <ΚάτωΒελάκι> Σκρολλάρισμα στο ιστορικό τών εκτελεσμένων εντολών.
<Ctrl>+<R> Αναζήτηση στο ιστορικό τών εντολών.

<Ctrl>+<C> Σήμα τερματισμού εργασίας τού προσκήνιου (MHN το χρησιμοποιείτε για αντιγραφή κειμένων)
<Ctrl>+<D> Σήμα τέλους αρχείου. Στον προτροπέα μπορεί να κάνει έξοδο συνεδρίας (ισοδύναμο με την exit)
<Ctrl>+<Ζ> Διακοπή εργασίας τού προσκήνιου

<ΜεσαίοΠλήκτροΠοντικιού> Αντιγραφή και επικόλληση στο λίνουξ. Θυμηθείτε μην χρησιμοποιείτε το <Ctrl>+<C> για αυτήν την δουλειά.

<Ctrl>+<L> Καθαρισμός οθόνης (ισοδύναμο με την clear)
<Shift>+<PgUp> και <Shift>+<PgDown> Σκρολλάρισμα τής εξόδου τού τερματικού.
<Ctrl>+<W> Διαγραφή λέξης.
<Ctrl>+<U> Διαγραφή γραμμής.
<Ctrl>+<Τ> Αντιμετάθεση τελευταίων δύο γραμμάτων

ΠΛΟΗΓΗΣΗ ΣΤΟΥΣ ΦΑΚΕΛΟΥΣ
    / (σλας ή πλαγία) Διαχωριστικό φακέλων. Μόνο του σημαίνει τον ριζικό φάκελο. Στην αρχή δείχνει ότι πρόκειται για την απόλυτη διαδρομή.
    . (τελεία) Ο παρών φάκελος
    .. (δύο τελείες) Ο γονικός τού παρόντος φάκελος
    ~ (περισπωμένη) Σύντμηση για τον προσωπικό φάκελο τού χρήστη
pwd Λέει τον φάκελο που είμαστε
cd φάκελος Αλλαγή τρέχοντος φακέλου. Χωρίς όρισμα πηγαίνει στον προσωπικό φάκελο
cd .. Άνοδος κατά έναν φάκελο στην ιεραρχία
cd ../.. Άνοδος κατά δύο φακέλους στην ιεραρχία
cd - (παύλα) Επιστροφή στον προηγούμενο φάκελο που ήμασταν.
ls αρχεία ή φάκελοι Χωρίς όρισμα δείχνει τα περιεχόμενα τού τρέχοντος φακέλου. Αν τα ορίσματα είναι αρχεία τα δείχνει. Αν είναι φάκελοι δείχνει τα περιεχόμενα τών φακέλων.
ls -l αρχεία ή φάκελοι Δείχνει πληρέστερα τα στοιχεία τών αρχείων και φακέλων
ls -a αρχεία ή φάκελοι Δείχνει και τα κρυφά αρχεία ή φακέλους
ls -d αρχεία ή φάκελοι Δείχνει τούς ίδιους τούς φακέλους και όχι τα περιεχόμενά τους.
mkdir ονόματα Δημιουργία φακέλων
rmdir φάκελοι Διαγραφή (άδειων) φακέλων

Όταν γράφουμε μια εντολή χωρίς να δίνουμε τον φάκελο που βρίσκεται ο υπολογιστής ψάχνει να την βρει σε συγκεκριμένους φακέλους ($PATH). Για να τρέξουμε ένα πρόγραμμα που δεν βρίσκεται σε αυτούς ή να είμαστε σίγουροι ότι εκτελείται αυτό και όχι κάποιο συνώνυμό του με υψηλότερη προτεραιότητα πρέπει να δώσουμε και τον φάκελό του. πχ:
/bin/ls Τρέχει το ίδιο το πρόγραμμα και όχι το alias
./πρόγραμμα Τρέχει ένα πρόγραμμα που βρίσκεται στον τρέχοντα φάκελο.

ΕΓΧΕΙΡΙΔΙΑ
man πρόγραμμα προβολή τού εγχειριδίου ενός προγράμματος.
    Με τα βελάκια και το <PageUp> και <PageDown> σκρολλάρουμε στο εγχειρίδιο.
    Με <Q> βγαίνουμε από το εγχειρίδιο.
    Με <H> βλέπουμε την βοήθεια τού εγχειριδίου.
    Με /λέξη βρίσκουμε μια λέξη. Με <N> πάμε στην επόμενη εμφάνισή της
apropos λέξη Ψάχνει εντολές με την λέξη να περιέχεται στην πρώτη γραμμή τού εγχειριδίου.
type εντολή Μάς λέει τον τύπο μια εντολής
help εντολή βοήθεια για μια εντολή τού bash
info Εξελιγμένο εγχειρίδιο τού GNU
whatis πρόγραμμα Δείχνει μόνο την πρώτη γραμμή τού εγχειριδίου
whereis πρόγραμμα Πληροφορίες εντοπισμού ενός προγράμματος
which πρόγραμμα δείχνει το πρόγραμμα που εκτελείται

ΑΝΤΙΓΡΑΦΗ ΜΕΤΟΝΟΜΑΣΙΑ ΔΙΑΓΡΑΦΗ ΑΡΧΕΙΩΝ
mv αρχείο φάκελος ή όνομα Μετακίνηση η μετονομασία αρχείου.
cp αρχείο φάκελος/όνομα Αντιγραφή τού αρχείου στον φάκελο και ενδεχόμενη μετονομασία του.
rm αρχεία Διαγραφή αρχείων (ιδιαίτερα αν χρησιμοποιείτε μεταχαρακτήρες είναι ασφαλέστερο να γράψετε πρώτα την εντολή με ls).
rm -r αρχεία ή φάκελοι Διαγραφή αρχείων και φακέλων και τών περιεχόντων τών φακέλων (είναι ασφαλέστερο να προσθέτετε το -r αφού γράψετε τα ορίσματα).

ΜΠΑΛΑΝΤΕΡ
    ? (αγγλικό ερωτηματικό) Παίρνει την θέση ενός ακριβώς οποιουδήποτε χαρακτήρα.
    * (αστεράκι) Παίρνει την θέση οποιασδήποτε σειράς χαρακτήρων οποιουδήποτε αριθμού ακόμα και μηδενικού.
    [έκφραση] Παίρνει την θέση οποιουδήποτε χαρακτήρα αντιστοιχεί στην έκφραση, μερικές εκφράσεις:
      λίστα συμβόλων: οποιοδήποτε από αυτά τα σύμβολα
      - (παύλα): συνεχόμενη σειρά συμβόλων, πχ 5-8 σημαίνει 5678, για να εννοεί απλώς παύλα μπορεί να μπει στην αρχή τής λίστας
      ! (θαυμαστικό): άρνηση τού συμβόλου που ακολουθεί, πχ [!a] σημαίνει οποιοδήποτε σύμβολο εκτός από a
      [:lower:] Πεζό αγγλικό γράμμα (ίσως και ελληνικό γράμμα)
      [:upper:] Κεφαλαίο αγγλικό γράμμα (ίσως και ελληνικό γράμμα)
      [:alpha:] Γράμμα τής αγγλικής (ίσως και τής ελληνικής) αλφαβήτου (κεφαλαίο ή πεζό)
      [:alnum:] Αλφαριθμητικό: οποιοδήποτε πεζό ή κεφαλαίο αγγλικό (ίσως και ελληνικό) γράμμα ή αριθμός
      [:word:] Αλφαριθμητικό μαζί με την _ (κάτω παύλα)
    {λέξεις χωρισμένες με κόμματα} Αναπτύσσει τις λέξεις για παράχδειγμα {a,b}c αναπτύσσεται σε ac bc
    {α..β} Αναπτύσσει όλα τα σύμβολα από α ως β.
Για παράδειγμα:
ls -d *.txt Προβολή τών αρχείων ή φακέλων που τελειώνουν σε .txt
ls -d [[:upper:]]* Προβολή όλων τών αρχείων ή φακέλων που αρχίζουν από κεφαλαίο.
Οι μπαλαντέρ σέβονται τα κρυφά αρχεία με το να μην περιλαμβάνουν την τελεία σαν πρώτο χαρακτήρα όταν βρίσκονται στην αρχή. Σε κάθε άλλη περίπτωση όμως δεν έχουν πρόβλημα. Έτσι:
ls -d .* Προβολή όλων τών κρυφών αρχείων ή φακέλων

ΑΝΑΓΝΩΣΗ ΑΡΧΕΙΩΝ ΑΠΛΟΥ ΚΕΙΜΕΝΟΥ
Τα προγράμματα αυτά συνδυάζονται συχνά με σωλήνα.
less αρχείο Το βασικό πρόγραμμα ανάγνωσης κειμένου. Με την man και έχει αντίστοιχες δυνατότητες:
    Με τα βελάκια και το <PageUp> και <PageDown> σκρολλάρουμε το κείμενο.
    Με <Q> βγαίνουμε από την προβολή.
    Με <H> βλέπουμε σελίδα βοήθειας.
    Με /λέξη βρίσκουμε μια λέξη. Με <N> πάμε στην επόμενη εμφάνισή της
more αρχείο Άχρηστο πρόγραμμα ανάγνωσης κειμένου. Χρησιμοποιήστε κάποιο άλλο.
cat αρχεία Συνενώνει αρχεία και βγάζει το περιεχόμενο τους στην έξοδο. Χρήσιμη και για απλή ανάγνωση.
tac αρχείο Διαβάζει αντίστροφα.
head αρχείο Δείχνει τις πρώτες γραμμές μόνο.
tail αρχείο Δείχνει τις τελευταίες γραμμές μόνο.
wc επιλογές αρχείο Μέτρηση μεγέθους αρχείου (πχ σε γραμμές, λέξεις, χαρακτήρες). Παράδειγμα:
wc -l αρχείο Μέτρηση αριθμού γραμμών αρχείου.

ΔΟΛΛΑΡΙΟ
    $λέξη Μεταβλητή
    $(εντολή) Έξοδος εντολής
    $((Αριθμητική πράξη)) Αποτέλεσμα αριθμητικής πράξης. Οι πράξεις είναι οι + - * / %

ΔΙΑΦΥΓΗ
    \ (αντιπλαγία) Ο επόμενος χαρακτήρας δεν έχει την συνήθη αντιμετώπιση
    ' (απλό εισαγωγικό) Το κείμενο ανάμεσα σε απλά εισαγωγικά διαβάζεται ως έχει
    " (διπλό εισαγωγικό) Ιδιο με τα απλά εισαγωγικά αλλά με τις εξαιρέσεις $ \ `. Έτσι μπορούν να χρησιμοποιηθούν μεταβλητές, εντολές και πράξεις.

ΗΧΩ
echo κείμενο Επιστρέφει το κείμενο όπως το βλέπει ο φλοιός
Η ηχώ είναι κυρίως χρήσιμη για να διαβάσουμε μεταβλητές, σε σκριπτάκια και στην κατανόηση τού φλοιού.
Η επιλογή -e ενεργοποιεί διαφόρους ειδικούς χαρακτήρες όπως ο χαρακτήρας νέας γραμμής \n αλλά θυμηθείτε ότι η αντιπλαγία δεν μπορεί να είναι μόνη της γιατί θα φύγει πριν χρησιμοποιηθεί. Πρέπει να είναι ή διπλή ή να γίνεται χρήση εισαγωγικών.

ΑΛΛΑΓΗ ΧΡΗΣΤΗ ΚΑΙ sudo
su χρήστης Αλλαγή χρήστη
sudo εντολή Εκτέλεση εντολής με δικαιώματα υπερχρήστη. ΜΗΝ την χρησιμοποιείτε με προγράμματα γραφικού περιβάλλοντος.
gksudo πρόγραμμα Εκτέλεση προγράμματος γραφικού περιβάλλοντος με δικαιώματα υπερχρήστη.
sudo -s Απόκτηση δικαιωμάτων υπερχρήστη (ο προτροπέας θα αλλάξει σε #)
gksu Πρακτικά ταυτίζεται με την gksudo γιατί αν και τυπικά διαφέρουν αναγνωρίζεται αυτομάτως ποια από τις δύο πρέπει να τρέξει.

Η sudo με προγράμματα γραφικού περιβάλλοντος μπορεί να προκαλέσει ζημιά στις άδειες. Χρησιμοποιείτε την gksudo για αυτόν τον σκοπό




ΠΛΗΡΟΦΟΡΙΕΣ ΣΥΣΤΗΜΑΤΟΣ
date Ώρα και ημέρα συστήματος.
cal Ημερολόγιο
history Ιστορικό
printenv Μεταβλητές
alias Ψευδώνυμα
uptime Χρόνος λειτουργίας τού μηχανήματος.
tty Το εικονικό τερματικό ή το ψευδοτερματικό που χρησιμοποιείται.
w Συνδεδεμένοι χρήστες
who Το ίδιο με το w αλλά πιο σύντομο
whoami Όνομα τού χρήστη σας (username).
finger χρήστης Πληροφορίες χρήστη.
uname -a Έκδοση πυρήνα.
df -h Χωρητικότητα δίσκων.
free Χρήση μνήμης και swap

ΣΩΛΗΝΩΣΕΙΣ ΚΑΙ ΑΝΑΚΑΤΕΥΘΥΝΣΕΙΣ
    | (pipe) Η έξοδος τής εντολής που βρίσκεται αριστερά τού σωλήνα δίνεται σαν είσοδο στην εντολή που βρίσκεται δεξιά του.
    < Η εντολή που βρίσκεται αριστερά λαμβάνει ως είσοδο το αρχείο που βρίσκεται δεξιά.
    > Η κανονική έξοδος τής εντολής που βρίσκεται αριστερά γίνεται γράφεται στο αρχείο δεξιά.
    2> Ανακατευθύνει την έξοδο σφάλματος αντί για την κανονική.
    &> Ανακατευθύνει και την κανονική έξοδο και την έξοδο σφάλματος.
    >> Πρόσθεση τής εξόδου στο αρχείο (δεν σβήνονται όσα ήδη υπάρχουν)
Το < συνήθως δεν χρειάζεται γιατί η δουλειά μπορεί να γίνει μέσω τών κανονικών ορισμάτων.
Παραδείγματα:
who|wc -l Μέτρηση συνδεδεμένων χρηστών.
> νέο αρχείο Δημιουργία κενού αρχείου.

ΑΔΕΙΕΣ
chmod ugo+rwx,ugo-rwx αρχείο πρόσθεση/αφαίρεση αδειών αρχείου:
    u (user) ο χρήστης
    g (group) η ομάδα
    o (others) οι άλλοι
    a (all) ή τίποτα από τα παραπάνω σημαίνει όλοι
    + (συν) πρόσθεση αδειών
    - (πλην) αφαίρεση αδειών
    r (read) άδεια ανάγνωσης
    w (write) άδεια εγγραφής
    x (execute) άδεια εκτέλεσης
chmod οκταδικός αρχείο Καθορισμός αδειών με τριψήφιο οκταδικό αριθμό ugo, κάθε ψηφίο είναι άθροισμα τών:
    r = 4
    w = 2
    x = 1
    - = 0
πχ 750 = rwxr-x---
chown χρήστης αρχείο Αλλαγή ιδιοκτησίας αρχείου (στον χρήστη).
chown χρήστης:ομάδα αρχείο Αλλαγή ιδιοκτησίας αρχείου, χρήστη και ομάδας.
chgrp ομάδα αρχείο Αλλαγή ιδιοκτησίας αρχείου (στην ομάδα).

ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΑΣΙΩΝ
jobs Κατάσταση εργασιών
ps Εργασίες με το PID τους
ps -A Όλες οι εργασίες (όχι μόνο τού συγκεκριμένου τερματικού)
kill PID Στέλνει σήμα στην εργασία με αριθμό PID. Η προεπιλογή είναι σήμα τερματισμού.
kill -9 PID Το σήμα τερματισμού στέλνεται στον πυρήνα και όχι στην εργασία.
killall εργασία Σκότωμα εργασίας με όνομα.
bg Τρέξιμο εργασίας στο παρασκήνιο (background).
fg Τρέξιμο εργασίας στο προσκήνιο (foreground).
top Εμφάνιση τρεχουσών διεργασιών.
htop Πολύ ωραιότερη από την top

ΔΙΑΦΟΡΟΙ ΕΙΔΙΚΟΙ ΧΑΡΑΚΤΗΡΕΣ
    ; (αγγλική ημιπερίοδος) Διαχωριστικό εντολών
    && Επίσης διαχωριστικό εντολών, η δεύτερη εκτελείται όμως μόνο αν εκτελεστεί χωρίς σφάλμα η πρώτη
    & Τοποθετείται στο τέλος εντολής. Την στέλνει να τρέχει στο παρασκήνιο (background)
    : Εντολή χωρίς καμμία εργασία.
    `εντολή` Ισοδύναμο με το $(εντολή).
    $? Τιμή τελευταίας επιστροφής.
    !λέξη Η τελευταία εντολή που ξεκινούσε από την λέξη
    !! Η τελευταία εντολή
Το $? Έχει τιμή μηδέν αν η τελευταία εντολή εκτελέστηκε χωρίς σφάλμα και διαφορετική τιμή σε κάθε άλλη περίπτωση. Αν απλώς πατήσετε <Enter> στον προτροπέα η τιμή αυτή δεν αλλάζει, δεν θεωρείται ότι έτρεξε κάτι. Ούτε τα κενά θα βοηθήσουν. Η ελάχιστη εντολή είναι η : και μετά από αυτήν έχει ανανεωθεί η τιμή τής $?.

ΑΛΥΣΙΔΩΤΗ ΑΝΤΙΔΡΑΣΗ
Μην τρέξετε το παρακάτω είναι fork bomb. Ανοίγει διαρκώς νέες εργασίες μέχρι να δεσμευτεί όλη η διαθέσιμη μνήμη.
Κώδικας: Επιλογή όλων
:(){ :|:& };: