Το ιστορικό εντολών σάς βοηθά να προβάλετε εντολές που έχετε εκτελέσει προηγουμένως μέσα στο τερματικό. Δείτε πώς μπορείτε να διαχειριστείτε το ιστορικό εντολών στο Linux.
Στο Linux, κάθε εντολή που πληκτρολογείτε αποθηκεύεται στο αρχείο ιστορικού. Η εντολή ιστορικού σάς επιτρέπει να προβάλετε και να επαναχρησιμοποιήσετε αυτές τις εντολές χωρίς να χρειάζεται να τις πληκτρολογήσετε ξανά. Μπορείτε να πλοηγηθείτε στη λίστα ιστορικού χρησιμοποιώντας το Πάνω και Κάτω κλειδιά. Ωστόσο, μπορεί να υπάρχουν φορές που θέλετε να διαγράψετε ορισμένες εντολές από το ιστορικό ή να απενεργοποιήσετε οριστικά τη δυνατότητα αποθήκευσης ιστορικού.
Ευτυχώς, το Linux σάς επιτρέπει να ελέγχετε τις λειτουργίες καταγραφής εντολών, όπως η προσωρινή απενεργοποίησή του ή μόνιμα, διαγράφοντας ολόκληρο το ιστορικό ή αποτρέποντας την αποθήκευση ορισμένων εντολών στο ιστορικό λίστα. Ας δούμε πώς.
Διαγράψτε ολόκληρο το ιστορικό εντολών στο Linux
Για να διαγραφεί ολόκληρο ιστορικό εντολών στο Linux από την αρχή, χρησιμοποιήστε την εντολή ιστορικού με το -ντο επιλογή:
ιστορία -γ
Αυτό θα διαγράψει ολόκληρο το ιστορικό των εντολών που έχετε εκτελέσει προηγουμένως.
Διαγράψτε συγκεκριμένες εντολές από το ιστορικό
Μερικές φορές, αντί να διαγράψετε ολόκληρο το ιστορικό, μπορεί να θέλετε να αφαιρέσετε συγκεκριμένες εντολές. Σε αυτήν την περίπτωση, πρέπει να προσδιορίσετε τον αριθμό που σχετίζεται με τη συγκεκριμένη εντολή στη λίστα ιστορικού. Μπορείτε να το κάνετε αυτό απλά πληκτρολογώντας:
ιστορία
Ή μπορείτε επίσης να διοχετεύσετε την έξοδο του ιστορικού στο grep για να βρείτε ευκολότερα τις επιθυμητές πληροφορίες:
ιστορία | grep ifconfig
Αφού βρείτε τον αριθμό εντολής, μπορείτε να τον διαγράψετε χρησιμοποιώντας την εντολή ιστορικού με το -ρε επιλογή ακολουθούμενη από τον αριθμό εντολής:
ιστορία -δ
Εκτελέστε μια εντολή χωρίς να τη συμπεριλάβετε στο ιστορικό
Για να εκτελέσετε μια εντολή χωρίς να έχει καταγραφεί στο ιστορικό, απλώς προσθέστε ένα Χώρος πριν από την εντολή. Ωστόσο, για να λειτουργήσει αυτή η δυνατότητα, θα πρέπει να ρυθμίσετε το HISTCONTROL μεταβλητή περιβάλλοντος σε αγνοεί χώρο χρησιμοποιώντας την ακόλουθη εντολή:
εξαγωγή HISTCONTROL=αγνοήστε το διάστημα
Αυτή η αλλαγή δεν παραμένει μετά από επανεκκίνηση. Για να το κάνετε μόνιμο, προσθέστε το στο δικό σας .bashrc αρχείο χρησιμοποιώντας την ακόλουθη εντολή:
echo 'HISTCONTROL=αγνοεί χώρο' >> ~/.bashrc
Με την ενεργοποίηση αυτής της δυνατότητας, το Bash δεν θα καταγράφει εντολές που ξεκινούν με χαρακτήρα διαστήματος στο αρχείο ιστορικού.
Για παράδειγμα, η ακόλουθη εντολή δεν θα καταγραφεί από το κέλυφος:
[space] echo "γεια, αυτή είναι η πρώτη γραμμή"
Εάν εκτελέσετε την ίδια εντολή χωρίς διάστημα, το Bash θα την καταγράψει στο ιστορικό:
echo "γεια, αυτή είναι η πρώτη γραμμή"
Ομοίως, μπορείτε επίσης να επιτρέψετε στο Bash να αφαιρέσει διαδοχικές διπλότυπες εντολές από το ιστορικό με:
echo 'HISTCONTROL=ignoredups' >> ~/.bashrc
Αυτή η δυνατότητα θα αποθηκεύσει τα διαδοχικά αντίγραφα μόνο μία φορά στη λίστα ιστορικού.
Πώς να ενεργοποιήσετε/απενεργοποιήσετε το ιστορικό εντολών στο Linux
Ενώ η προηγούμενη μέθοδος μπορεί να εμποδίσει το κέλυφος να καταγράφει εντολές στο ιστορικό, μπορεί να μην είναι πρακτική όταν αντιμετωπίζετε μεγάλο αριθμό εντολών.
Η εισαγωγή ενός διαστήματος πριν από κάθε εντολή μπορεί να γίνει μονότονη και επαχθής. Σε ένα τέτοιο σενάριο, μπορείτε να απενεργοποιήσετε προσωρινά το ιστορικό φλοιού εκτελώντας την ακόλουθη εντολή:
ορίστε +o ιστορικό
Για να το ενεργοποιήσετε ξανά, χρησιμοποιήστε την ακόλουθη εντολή:
σύνολο -ο ιστορία
Για να απενεργοποιήσετε οριστικά το ιστορικό εντολών Linux, χρησιμοποιήστε:
echo 'set +o history' >> ~/.bashrc
Αγνοήστε ορισμένες εντολές που έχουν καταγραφεί στην ιστορία
Μπορεί να υπάρχουν ορισμένες εντολές που θέλετε να εξαιρέσετε, καθώς μπορεί να γεμίσουν τη λίστα ιστορικού και να κάνουν δύσκολη την πλοήγηση. Μερικά από τα κοινά παραδείγματα είναι τα pwd, ls, man, cat και την εντολή cd καθώς μπορεί να είναι επαναλαμβανόμενο και περιττό.
Χρησιμοποιώντας την HISTIGNORE μεταβλητή περιβάλλοντος, μπορείτε να ελέγξετε ποιες εντολές δεν πρέπει να προστεθούν στη λίστα ιστορικού. Για παράδειγμα, για να εξαιρέσετε ορισμένες εντολές όπως το history, το pwd και το cat από την αποθήκευση στη λίστα ιστορικού, διαχωρίστε τις χρησιμοποιώντας άνω και κάτω τελεία και περικλείστε τις σε διπλά εισαγωγικά ως εξής:
εξαγωγή HISTIGNORE="history: pwd: γάτα"
Για να κάνετε την αλλαγή μόνιμη, προσθέστε την εντολή στο .bashrc αρχείο χρησιμοποιώντας:
echo 'HISTIGNORE="history: pwd: cat"' >> .bashrc
Ελέγξτε το ιστορικό εντολών Bash στο Linux
Το Linux προσφέρει εκτεταμένο έλεγχο στη διαχείριση του ιστορικού της γραμμής εντολών, επιτρέποντας στους χρήστες να καθορίσουν ποιες εντολές θα αποθηκεύσουν στο ιστορικό, διαγράψτε συγκεκριμένες εντολές από το ιστορικό, ενεργοποιήστε ή απενεργοποιήστε προσωρινά το ιστορικό ή ακόμη και διαγράψτε ολόκληρο ιστορία.
Αυτό όχι μόνο βοηθά στην προστασία του απορρήτου του χρήστη, αλλά επίσης αποτρέπει άσχετες ή επαναλαμβανόμενες εντολές από το να συσσωρεύουν το ιστορικό του Bash.
Ένας ακόμα καλύτερος τρόπος πρόσβασης στο ιστορικό της γραμμής εντολών είναι η χρήση του McFly, μιας αντικατάστασης που τροφοδοτείται από νευρωνικά δίκτυα στην προεπιλεγμένη αναζήτηση αντίστροφης i-i στο Linux.