Συνεχίζουμε με τις ενδιαφέρουσες και χρήσιμες εντολές που μερικές φορές ξεχνάμε να τις χρησιμοποιούμε, τις οποίες εμπεριέχονται στο σύστημά μας. Σε αυτήν την περίπτωση θα χρησιμοποιήσουμε αυτό που μας επιτρέπει να παίξουμε λίγο με την ιστορία μας.
Ας πάρουμε ένα απλό παράδειγμα, ανοίξτε ένα τερματικό και βάλτε:
$ nano /etc/sudoers
Θα μπορούν να συνειδητοποιήσουν ότι δεν μπορούμε να επεξεργαστούμε το αρχείο εάν δεν είμαστε διαχειριστές. Ας χρησιμοποιήσουμε λοιπόν το sudo, αλλά για να μην επαναλάβουμε την εντολή που θέσαμε:
$ sudo !!
Και αυτό θα επαναλάβει:
$ sudo nano /etc/sudoers
Δηλαδή, η εντολή !! θα επαναλάβει την εντολή που εκτελέσαμε νωρίτερα στο τερματικό. Μπορούμε επίσης να εκτελέσουμε μια άλλη εντολή που δεν γνωρίζει προηγουμένως τον αριθμό της στο ιστορικό.
Ανοίξτε ένα τερματικό και βάλτε:
$ history
Στην περίπτωσή μου βγαίνει κάτι τέτοιο:
[κωδικός] 495 cd Desktop /496 ls
497 wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
498 cd
499 cvlc Μουσική / Jamendo / The \ Patinettes \ - \ Bliss \ - \ 2011.06.03 /
500 cvlc Μουσική / Ροκ /
[/ Code]
Αν εκτελέσω την εντολή !! εκτελείται η προηγούμενη εντολή, η οποία σε αυτήν την περίπτωση θα ήταν:
$ cvlc Música/Rock/
Αλλά αν θέλετε να εκτελέσετε για παράδειγμα την εντολή:
$ wget -c http://cinnamon.linuxmint.com/tmp/blog/119/classic.png
Θα έπρεπε απλώς να βάλω:
$ !497
497 είναι ο αριθμός μπροστά από την εντολή. Απλό, σωστά;
Ουάου, δεν το ήξερα, πολύ καλές πληροφορίες, ευχαριστώ.
Αυτό με σώζει από το πάτημα του πάνω βέλους | έναρξη. Ευχαριστώ για τις πληροφορίες.
Το βρίσκω πολύ χρήσιμο, αυτό σε συνδυασμό με το Ctrl + R για αναζήτηση εντολών κάνει την εμπειρία στα ttys ακόμα πιο ευχάριστη.
Συνήθως χρησιμοποιώ ένα ψευδώνυμο για φιλτράρισμα:
alias h='history | egrep -i'
Στην πραγματικότητα τώρα που το σκέφτομαι, ίσως είναι καλύτερο να προσθέσετε μια τέτοια λειτουργία στο .bashrc:
h () {
# Función para listar comandos del historial
HISTERROR="Se puede utilizar como máximo un parámetro."
if [ $# -eq 0 ] ; then
history | less
elsif [ $# -eq 1 ] ; then
history | egrep -i $1 | less
else
echo $HISTERROR
fi
}
Με αυτόν τον τρόπο, απλώς χρησιμοποιήστε h για να εμφανίσετε όλες τις εντολές στο ιστορικό ή παράμετρος h για να παραθέσετε τις εντολές που ταιριάζουν με την παράμετρο (η οποία παρεμπιπτόντως, επιτρέπει κανονικές εκφράσεις).
Χρησιμοποιώ τις κατευθύνσεις. Τότε το δοκιμάζω.