Τι είναι το Bash History στο Linux;

Το Bash είναι ένα κέλυφος γραμμής εντολών και μια γλώσσα σεναρίου που χρησιμοποιείται σε συστήματα Linux.Το ιστορικό Bash καταγράφει τις εντολές που πληκτρολογείτε και τα αποτελέσματα αυτών των εντολών.Μπορείτε να αποκτήσετε πρόσβαση στο ιστορικό bash πατώντας το "h" στο μήνυμα.Για να προβάλετε το τρέχον ιστορικό bash σας, πληκτρολογήστε "history". Για να διαγράψετε μια εντολή από το ιστορικό bash σας, πληκτρολογήστε "delete".Για να παραθέσετε όλες τις εντολές στο ιστορικό bash σας, πληκτρολογήστε "history -a". Για έξοδο από το bash, πληκτρολογήστε "exit".

Πώς μπορώ να δω το ιστορικό μου Bash στο Linux;

Για να προβάλετε το ιστορικό του Bash στο Linux, ανοίξτε ένα τερματικό και πληκτρολογήστε την ακόλουθη εντολή:

ιστορία -α

Αυτό θα εμφανίσει μια λίστα με όλες τις εντολές που έχετε εκτελέσει στο τερματικό σας.Για να δείτε το ιστορικό για μια συγκεκριμένη εντολή, χρησιμοποιήστε το πλήκτρο επάνω βέλους για να μετακινηθείτε στη λίστα και πατήστε Enter όταν φτάσετε στην επιθυμητή εντολή.Για έξοδο από αυτή τη λειτουργία, πατήστε Ctrl-D (ή απλώς πληκτρολογήστε quit).

Πώς μπορώ να διαγράψω το ιστορικό μου Bash στο Linux;

Στο Linux, το Bash είναι το προεπιλεγμένο κέλυφος.Όταν ανοίγετε ένα νέο παράθυρο τερματικού, το Bash καλείται και το ιστορικό σας αποθηκεύεται.Για να διαγράψετε το ιστορικό σας:

  1. Πληκτρολογήστε "history -c" για να διαγράψετε την τρέχουσα προσωρινή μνήμη ιστορικού.
  2. Πληκτρολογήστε "history -d" για να διαγράψετε όλες τις εγγραφές στην προσωρινή μνήμη ιστορικού, συμπεριλαμβανομένων εκείνων από προηγούμενες περιόδους σύνδεσης.
  3. Πληκτρολογήστε "history -p" για να εκτυπώσετε τα περιεχόμενα του buffer ιστορικού σε μία γραμμή.

Ποιες εντολές αποθηκεύονται συνήθως στο Ιστορικό του Bash;

Τι είναι το Bash History στο Linux;

Το ιστορικό Bash είναι μια λίστα εντολών που έχετε εκτελέσει στο τερματικό σας.Μπορείτε να αποκτήσετε πρόσβαση σε αυτήν τη λίστα πατώντας το πλήκτρο επάνω βέλους στο πληκτρολόγιό σας.Μπορείτε επίσης να πληκτρολογήσετε "ιστορικό" στο τερματικό για να προβάλετε αυτήν τη λίστα.Οι εντολές που αποθηκεύονται στο ιστορικό του Bash αποθηκεύονται για 30 λεπτά και στη συνέχεια διαγράφονται αυτόματα.

Γιατί είναι σημαντικό να εκκαθαρίζετε τακτικά το Ιστορικό του Bash;

Το ιστορικό Bash είναι μια λίστα εντολών που έχετε εκτελέσει στο τερματικό σας.Διαγράφοντας τακτικά το ιστορικό του Bash, μπορείτε να αποφύγετε την κατά λάθος εκτέλεση παλιών εντολών που μπορεί να μην είναι πλέον σχετικές ή ακόμη και να προκαλέσουν ζημιά εάν εκτελεστούν εσφαλμένα.Επιπλέον, η εκκαθάριση του ιστορικού του Bash μπορεί να διευκολύνει την απομνημόνευση και την επανάληψη πρόσφατων εντολών.

Για να διαγράψετε το ιστορικό Bash:

  1. Ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε την ακόλουθη εντολή: bash ClearHistory Εάν χρησιμοποιείτε Ubuntu ή άλλη διανομή που βασίζεται στο Debian, αυτή η εντολή μπορεί να βρίσκεται σε διαφορετική τοποθεσία με διαφορετικά ονόματα (όπως "history -c").
  2. Όταν σας ζητηθεί, εισαγάγετε τον αριθμό των γραμμών που θέλετε να διαγράψετε από τη λίστα ιστορικού (η προεπιλογή είναι 2. Πατήστε Enter για να συνεχίσετε.
  3. Για να προβάλετε το εκκαθαρισμένο ιστορικό Bash, πληκτρολογήστε την ακόλουθη εντολή: bash History Εάν χρησιμοποιείτε Ubuntu ή άλλη διανομή που βασίζεται στο Debian, αυτή η εντολή μπορεί να βρίσκεται σε διαφορετική τοποθεσία με διαφορετικά ονόματα (όπως "ιστορικό -C").

Πώς μπορώ να αποτρέψω την αποθήκευση ορισμένων εντολών στο ιστορικό μου Bash;

Τι είναι το Bash History στο Linux;

Το ιστορικό Bash είναι μια λίστα εντολών που έχετε εκτελέσει στο τερματικό σας.Αυτή η λίστα μπορεί να είναι χρήσιμη εάν θέλετε να επαναλάβετε μια συγκεκριμένη εντολή ή εάν πρέπει να θυμάστε μια συγκεκριμένη σειρά εντολών.Μπορείτε να αποτρέψετε την αποθήκευση ορισμένων εντολών στο ιστορικό σας στο Bash χρησιμοποιώντας την εντολή histappend.

Ποια είναι τα οφέλη από τη χρήση ενός αρχείου ιστορικού Bash;

Πώς να χρησιμοποιήσετε το αρχείο ιστορικού Bash;Ποια είναι η διαφορά μεταξύ ενός ιστορικού bash και του ιστορικού εντολών;Πώς να διαγράψετε το ιστορικό bash;

Οφέλη από τη χρήση ενός αρχείου ιστορικού Bash:

Πώς να χρησιμοποιήσετε το αρχείο ιστορικού Bash:

Διαφορά μεταξύ Command και Bash History:

Το ιστορικό εντολών είναι ακριβώς όπως η κανονική εισαγωγή παλιού κειμένου όπου κάθε πάτημα πλήκτρων αποθηκεύεται χωριστά. Ωστόσο, σε αντίθεση με την κανονική εισαγωγή κειμένου όπου η διαγραφή κειμένου το αφαιρεί αμέσως από τη μνήμη, οι διαγραμμένες εγγραφές ιστορικού εντολών αφαιρούνται μόνο αφού εκτελεστούν ξανά (δηλαδή, τα περιεχόμενά τους επαναφορτωθούν στη μνήμη). Αυτό σημαίνει ότι εάν χρειάζεται να αναφέρετε μια παλαιότερη έκδοση μιας εντολής - για παράδειγμα, επειδή έχετε αλλάξει τις παραμέτρους της αλλά δεν θέλετε να δει κάποιος άλλος αυτές τις αλλαγές - τότε θα χρειαστεί είτε να αποθηκεύσετε την παλιά έκδοση της εντολής κάπου μόνοι σας ή χρησιμοποιήστε το 'histedit' σε συστήματα Linux που επιτρέπει σε πολλούς χρήστες να επεξεργάζονται κοινά ιστορικά ταυτόχρονα χωρίς διένεξη [ref].bash_history αποθηκεύει εντολές φλοιού που έχουν εισαχθεί μόνο κατά τη διάρκεια ενεργών περιόδων σύνδεσης. Εγώ . ε . , όταν αποσυνδεθείτε ή κάνετε επανεκκίνηση του υπολογιστή σας, οι μεταβλητές του κελύφους και το ιστορικό συνεδριάσεων διαγράφονται (δείτε ΙΣΤΟΡΙΚΟ παρακάτω).On most UNIX systemsrunning BASH 4 or later there is no limit on how manycommand lines may be storedinbash_historyalthoughon some older systemsmemory may run outafterseveral thousandlineshavebeenentered .OnLinux systems running bash 3+ thereis agroupadditionto bash'sbuiltin historictool called 'Bash Interactive Shell',whichallowsscriptsrunningwithinaBASHinteractiveshellsession topassmultiplecommandsintoash_historywithoutclearingthenormalcommandlinebuffer .This feature issuppliedbydefaulton recent distributionsof UbuntuandDebianbutmaynotbeinstalledonothersystems .The disadvantageofusingbash'sinteractiveshellfeatureinsteadofkeepingash_historyas apublicfileisthatitmakesit difficult toreproduceanacronymicnameforacharacterinahistorylistingsuchasthe'cd'commandwouldbecalled'tochdir'.Forinstanceifyouhadnamedyouruser 'jerry',then'dotchdir'wouldappearinthedocumentsassociatedwith'tochdir'ratherthan'myuserjerry'.Notethatthisproblemdoesnotaffectscriptshavingbeenwrittenusingthestandardinput()oroutpu t()methodsintheshellsincethesecommands θα χρησιμοποιεί πάντα την τρέχουσα τιμή της μεταβλητής$_.

Για να δείτε ποιες συγκεκριμένες εντολές εκτελούνται αυτήν τη στιγμή από το bash ενώ εργάζεστε σε μια διαδραστική περίοδο λειτουργίας φλοιού (π.χ.

  1. Μπορεί να σας βοηθήσει να εντοπίσετε εντολές που έχετε χρησιμοποιήσει στο παρελθόν.
  2. Μπορεί επίσης να είναι χρήσιμο όταν προσπαθείτε να θυμηθείτε συγκεκριμένα ορίσματα που μεταβιβάστηκαν σε μια εντολή.
  3. Τέλος, μπορεί να είναι χρήσιμο κατά τη δημιουργία σεναρίων ή τον προγραμματισμό, καθώς μπορεί να σας εξοικονομήσει χρόνο επιτρέποντάς σας να ανακαλείτε εύκολα προηγούμενες εντολές.
  4. Για να αποκτήσετε πρόσβαση στο αρχείο ιστορικού Bash, ανοίξτε ένα παράθυρο τερματικού και πληκτρολογήστε "ιστορικό".Αυτό θα εμφανίσει μια λίστα με όλες τις εντολές που έχουν εκτελεστεί σε αυτήν τη συνεδρία μέχρι στιγμής (ή οποιαδήποτε άλλη συνεδρία για αυτό το θέμα).
  5. Για να εκτελέσετε μια εντολή που χρησιμοποιήθηκε στο παρελθόν, απλώς επισημάνετε τη στη λίστα ιστορικού και πατήστε "enter".Σημειώστε ότι εάν η εντολή έχει ήδη εκτελεστεί, πατώντας "enter" θα επιστρέψετε απλώς στην τρέχουσα γραμμή εντολών αντί να την εκτελέσετε ξανά.
  6. Εάν θέλετε να διαγράψετε μία ή περισσότερες καταχωρήσεις από το αρχείο ιστορικού Bash, απλώς επιλέξτε τις με τον κέρσορα σας και πατήστε "διαγραφή".Προσέξτε να μην διαγράψετε κατά λάθος κάτι σημαντικό!:)
  7. Για να διαγράψετε όλα τα τρέχοντα αρχεία σας Command και/ή Ιστορικού Bash ταυτόχρονα (συμπεριλαμβανομένων τυχόν μη αποθηκευμένων αλλαγών), πληκτρολογήστε "clearHistory" στη γραμμή εντολών (χωρίς επιπλέον χαρακτήρες). Αυτό θα αφαιρέσει μόνιμα τα πάντα και από τα δύο αρχεία - βεβαιωθείτε ότι θέλετε να το κάνετε αυτό πριν συνεχίσετε!:)

Υπάρχουν μειονεκτήματα στη χρήση ενός αρχείου ιστορικού Bash;

Υπάρχουν μερικά μειονεκτήματα στη χρήση ενός αρχείου ιστορικού Bash.Το πιο προφανές μειονέκτημα είναι ότι μπορεί να είναι δύσκολο να παρακολουθείτε ποιες εντολές έχετε ήδη εκτελέσει.Ένα άλλο μειονέκτημα είναι ότι εάν πληκτρολογήσετε κατά λάθος την ίδια εντολή πολλές φορές, το ιστορικό θα θυμάται μόνο την τελευταία φορά που εκτελέσατε αυτήν την εντολή.Τέλος, εάν θέλετε να χρησιμοποιήσετε μια σύνθετη σύνταξη ορίσματος γραμμής εντολών, το ιστορικό σας ενδέχεται να μην περιλαμβάνει όλες τις απαιτούμενες πληροφορίες.

Πώς μπορώ να προσαρμόσω τις ρυθμίσεις μου στο Ιστορικό του Bash;

Το ιστορικό Bash είναι μια λίστα εντολών που έχετε εκτελέσει στο τερματικό σας.Από προεπιλογή, το Bash αποθηκεύει τις τελευταίες 50 εντολές που έχετε εκτελέσει.Μπορείτε να αλλάξετε αυτήν τη ρύθμιση χρησιμοποιώντας την εντολή bash history.Υπάρχουν επίσης άλλοι τρόποι πρόσβασης και διαχείρισης του ιστορικού σας στο Bash.Για παράδειγμα, μπορείτε να χρησιμοποιήσετε το πλήκτρο πάνω βέλους για να μετακινηθείτε προς τα πίσω στο ιστορικό σας και το πλήκτρο κάτω βέλους για να προχωρήσετε στο ιστορικό σας.Μπορείτε επίσης να χρησιμοποιήσετε τη συντόμευση πληκτρολογίου Ctrl+R (ή Cmd+R) για να αναζητήσετε μια συγκεκριμένη εντολή στο ιστορικό σας στο Bash.

Αυτό το άρθρο παρέχει μια επισκόπηση του τρόπου με τον οποίο μπορείτε να προσαρμόσετε τις ρυθμίσεις του Ιστορικού Bash, καθώς και μερικές συμβουλές για τον πιο αποτελεσματικό τρόπο χρήσης των δυνατοτήτων του Ιστορικού του Bash.

Προσαρμογή των ρυθμίσεων του ιστορικού Bash

Υπάρχουν δύο τρόποι με τους οποίους μπορείτε να προσαρμόσετε τις ρυθμίσεις του Bash History: χρησιμοποιώντας την εντολή ιστορικού bash ή χρησιμοποιώντας το αρχείο διαμόρφωσης του κελύφους bash (/.bashrc).

Η εντολή ιστορικού bash σάς επιτρέπει να καθορίσετε έναν αριθμό διαφορετικών επιλογών σχετικά με τον τρόπο εμφάνισης και διαχείρισης του ιστορικού Bash.Για παράδειγμα, μπορείτε να ελέγξετε ποιες εντολές εμφανίζονται με χρονολογική σειρά, εάν εμφανίζονται ή όχι μεμονωμένες γραμμές και εάν περιλαμβάνονται ή όχι χρονικές σημάνσεις σε κάθε καταχώρηση.

Μπορείτε επίσης να χρησιμοποιήσετε την εντολή ιστορικού bash για να διαγράψετε μόνιμα καταχωρίσεις από το χρονοδιάγραμμα του ιστορικού Bash (χρησιμοποιώντας την επιλογή --delete) ή μόνο προσωρινά (χρησιμοποιώντας την επιλογή --history-limit). Ο παρακάτω πίνακας παρέχει μια επισκόπηση ορισμένων από αυτές τις επιλογές:

Πίνακας 1: Διαθέσιμες επιλογές κατά την επίκληση του ιστορικού bash Επιλογή εντολής Περιγραφή -a Εμφάνιση όλων των καταχωρήσεων -β Εμφάνιση μόνο πρόσφατων καταχωρήσεων -C Ενεργοποίηση χρωματισμού της εξόδου -D Απενεργοποίηση εμφάνισης διπλότυπων -e Εκτέλεση κάθε καταχώρησης ακόμα κι αν έχει ήδη εκτελεστεί -F Φιλτράρετε κενές γραμμές από την έξοδο -h Απόκρυψη μη βασικών πληροφοριών από την έξοδο -n Αριθμός γραμμών που εμφανίζονται ανά σελίδα -r Εγγραφή αντί για προσθήκη νέων γραμμών στη ροή εισόδου. διατήρηση χρονικών σημάνσεων Σημείωση: Η επιλογή --history-limit σας επιτρέπει να καθορίσετε έναν μέγιστο αριθμό γραμμών που θα καταγράφονται σε κάθε περίοδο λειτουργίας.Αυτή η τιμή δεν μπορεί να ξεπεραστεί. εάν επιχειρηθεί, τότε θα δημιουργηθεί ένα μήνυμα σφάλματος και η εκτέλεση θα σταματήσει αμέσως.

Ο δεύτερος τρόπος με τον οποίο μπορείτε να προσαρμόσετε τις ρυθμίσεις του Bash History είναι η επεξεργασία του αρχείου ~/.bashrc . Αυτό το αρχείο περιέχει παραμέτρους καθολικής διαμόρφωσης για το περιβάλλον του κελύφους bash και επομένως επηρεάζει όλους τους χρήστες που συνδέονται μέσω SSH ή su. Από προεπιλογή, το ~/.bashrc περιέχει αρκετές σημαντικές ρυθμίσεις που σχετίζονται με τη διαχείριση του ιστορικού Bash . Αυτά περιλαμβάνουν τον καθορισμό ποιες εντολές αποθηκεύονται στη μνήμη και ποιες εγγράφονται στο δίσκο, καθώς και τον έλεγχο πριν από πόσο καιρό εκτελέστηκε κάθε εντολή. Ορισμένες πρόσθετες χρήσιμες ρυθμίσεις που μπορεί να αξίζει να προστεθούν στο ~/.bashrc περιλαμβάνουν τον καθορισμό των πλήκτρων που καλούν διάφορες πτυχές της διαδραστικής συμπεριφοράς του κελύφους μας (όπως η πηγή), την απενεργοποίηση της αυτόματης συμπλήρωσης και την απενεργοποίηση της ανακατεύθυνσης προτροπής. Ακολουθεί ένα παράδειγμα απόσπασμα από το δικό μου αρχείο ~/.bashrc : # Ορίστε ορισμένες καθολικές προεπιλογές για το bash SHELL=/bin/sh HISTFILE=$HOME/.bash_history HISTSIZE=1000 # Αποθηκεύστε τις πιο πρόσφατες 100 εντολές στη μνήμη για γρήγορη ανάκληση CMDLINE= "source $SHELL" # Ενεργοποίηση προτροπής πριν από την εκτέλεση του κελύφους PROMPT_COMMAND="προτροπή "Εισαγωγή καταλόγου;" " PS1='[[email protected] W]$ ' # Απενεργοποιήστε την αυτόματη συμπλήρωση, επομένως πρέπει να πληκτρολογούμε τα πάντα χειροκίνητα όποτε θέλουμε βοήθεια COMPREPLY=( "type `basename $0`" ) Σημείωση: Η ρύθμιση HISTSIZE καθορίζει πόσα αρχεία θα πρέπει να διατηρείται στη μνήμη ανά πάσα στιγμή· αυτή η τιμή δεν μπορεί να υπερβαίνει τα 1000 αρχεία. Εάν είναι επιθυμητό, ​​οι μεμονωμένες περίοδοι λειτουργίας θα μπορούσαν να αποθηκεύσουν ολόκληρο το αντίστοιχο ιστορικό τους στη μνήμη RAM. Ωστόσο, ενδέχεται να υπάρχουν επιπτώσεις στην απόδοση που σχετίζονται με αυτό σε μεγαλύτερα συστήματα. Διαχείριση της διαδραστικής συμπεριφοράς του Shell σας με χρήση πληκτρολογίων Ένας επιπλέον τρόπος για να διαχειριστείτε τη διαδραστική συμπεριφορά του Shell σας είναι η χρήση κλειδιών .

Με ποιους άλλους τρόπους μπορώ να έχω πρόσβαση στο ιστορικό μου εκτός από την εντολή ιστορικού;

Υπάρχουν άλλοι τρόποι πρόσβασης στο ιστορικό bash στο Linux.Για παράδειγμα, μπορείτε να χρησιμοποιήσετε τα πλήκτρα πάνω και κάτω βέλους στο πληκτρολόγιό σας για να περιηγηθείτε στο ιστορικό σας.Μπορείτε επίσης να χρησιμοποιήσετε τα πλήκτρα f7 και f8 για να ανοίξετε μια λίστα εντολών που εκτελέστηκαν πρόσφατα ή τη γραμμή εντολών ( Ctrl+P ) για να εισαγάγετε το ιστορικό εντολών.

Ακολουθεί μια λίστα με πρόσθετες λειτουργίες ιστορικού bash:

Μπορείτε να ενεργοποιήσετε ή να απενεργοποιήσετε τη δυνατότητα ιστορικού του Bash χρησιμοποιώντας τις εντολές histappend και histprepend, αντίστοιχα.

Μπορείτε επίσης να διαγράψετε όλο το ιστορικό του Bash χρησιμοποιώντας την εντολή clearhist.

Μπορώ να μοιραστώ το ιστορικό μου με άλλους;Αν ναι, πώς;

Το ιστορικό bash είναι μια λίστα εντολών που έχετε εκτελέσει στο bash.Μπορείτε να μοιραστείτε το ιστορικό σας με άλλους χρησιμοποιώντας την εντολή ιστορικού εντολών.

Υπάρχει κάτι άλλο που πρέπει να γνωρίζω για το ιστορικό bash στο Linux;

Το ιστορικό Bash στο Linux είναι ένα πολύτιμο εργαλείο για τους χρήστες.Σας επιτρέπει να επιστρέψετε και να επανεξετάσετε τις προηγούμενες εντολές, καθώς και να δείτε τις εντολές που εκτελέστηκαν πριν ή μετά την τρέχουσα.Επιπλέον, το ιστορικό bash μπορεί να χρησιμοποιηθεί για να διδαχθούμε από λάθη του παρελθόντος.

Μερικά πράγματα που πρέπει να έχετε υπόψη σας σχετικά με το ιστορικό bash στο Linux:

-Μπορείτε να αποκτήσετε πρόσβαση στο ιστορικό bash σας πατώντας "Ctrl+H" στα Windows ή "Alt+H" στο MacOS X.

-Η εντολή "history -c" θα σας δείξει τις τελευταίες 10 εντολές που εκτελέστηκαν.

-Η εντολή "history -p" θα σας δείξει τις τελευταίες 100 εντολές που εκτελέστηκαν.

Πού μπορώ να βρω περισσότερες πληροφορίες για το ιστορικό bash στο Linux, εάν χρειάζεται;

Υπάρχουν μερικά μέρη όπου μπορείτε να βρείτε περισσότερες πληροφορίες σχετικά με το ιστορικό bash στο Linux.Το πρώτο μέρος που πρέπει να αναζητήσετε είναι η σελίδα man για το bash, η οποία έχει λεπτομέρειες σχετικά με τον τρόπο πρόσβασης και χρήσης της λειτουργίας ιστορικού bash.Επιπλέον, μπορείτε να χρησιμοποιήσετε την εντολή ιστορικού για να προβάλετε τις τρέχουσες και τις προηγούμενες εντολές σας.Τέλος, μπορείτε επίσης να χρησιμοποιήσετε την επιλογή -h της εντολής ιστορικού για να εμφανίσετε σύντομο κείμενο βοήθειας για κάθε εντολή.