Εύρεση εντολής: άφθονες δυνατότητες εύρεσης αρχείων στο Linux

Λένε ότι όσοι δεν θυμούνται την ιστορία είναι καταδικασμένοι να επαναλάβουν το ίδιο πράγμα ξανά και ξανά. Και αν δεν ξέρετε πώς να χρησιμοποιήσετε το ιστορικό μέσα Bashτότε δεν μπορείτε να χρησιμοποιήσετε πλήρως τη δύναμη του συστήματός σας. Ωστόσο, δεν είναι ποτέ αργά για να ξεκινήσετε και διαβάζοντας αυτό το σημείωμα, θα ανακαλύψετε κάποιες χρήσιμες και απαραίτητες δεξιότητες για την εργασία με το GNU Bash στην καθημερινή σας εργασία.

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

Πολλοί χρήστες γνωρίζουν ότι η πρόσβαση στο ιστορικό εντολών μπορεί να επιτευχθεί χρησιμοποιώντας την εντολή   ή χρησιμοποιώντας συντομεύσεις πληκτρολογίου Ctrl + p   (προηγούμενη εντολή) και Ctrl + n   (επόμενη ομάδα). Αυτές είναι πολύ χρήσιμες και συχνά χρησιμοποιούμενες μέθοδοι εργασίας με την ιστορία, αλλά με τη βοήθεια αυτών δεν χρησιμοποιείτε όλα τα χαρακτηριστικά του Bash για να εργαστείτε με την ιστορία. Ας ρίξουμε μια ματιά σε μερικά κόλπα για να εργαστούμε με την ιστορία του bash χρησιμοποιώντας την εντολή   ή με άλλους τρόπους.

Χρήση αριθμών

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

εάν πρέπει να εκτελέσετε n   με την καταμέτρηση της εντολής, ξεκινώντας από το τέλος της λίστας. Για παράδειγμα, το συμπέρασμά σας   μοιάζει με αυτό:

1 sudo su 2 εξόδου 3 sudo apt-get ενημέρωση

1 sudo su

2 έξοδο

3 sudo apt - λάβετε ενημέρωση

τότε η οδηγία

Αυτό θα ξεκινήσει την τελευταία εντολή ( !! με τη βοήθεια του sudo. Δεν είναι κακό

Πιθανότατα γνωρίζετε το σχέδιο ! εντολήπου θα ξεκινήσει την τελευταία εντολή από μια ιστορία που ξεκινάει με εντολή. Έτσι, αν ξεκινήσατε πρόσφατα μια πολύ μεγάλη εντολή και θυμηθείτε πώς ξεκίνησε, αυτός ο τρόπος εκτόξευσης από την ιστορία μπορεί να σας φανεί χρήσιμος. Γνωρίζατε ότι σε αυτή την περίπτωση ο Bash δεν ψάχνει για ομάδα, αλλά ψάχνει υποστέλεχος; Δηλαδή, δεν χρειάζεται να εισάγετε ολόκληρη την εντολή μετά το θαυμαστικό, αρκούν μόνο οι πρώτοι χαρακτήρες. Ας υποθέσουμε ότι τρέχετε κάτι σαν:

$ git commit -a -m "Διάφορες και διάφορες σημειώσεις"

για να επαναλάβετε την εντολή, είναι αρκετά αρκετό να συλλάβετε

Καλέστε την τελευταία παράμετρο εντολής

Χρησιμοποιώντας ένα συνδυασμό "Esc +". (Αποδράστε   με τελεία), μπορείτε να καλέσετε το τελευταίο από την ιστορία τη λέξημεταβιβάστηκε στην εντολή ως επιχείρημα. Για παράδειγμα, εκτελέσατε:

$ cp όνομα_αρχείου1 όνομα_αρχείου2

και έπρεπε να τραβήξετε δύο λέξεις από τη μέση; Εύκολα!

$ ls! : *

Αναζήτηση

Ένα άλλο χρήσιμο χαρακτηριστικό είναι η αναζήτηση χρησιμοποιώντας "Ctrl + r". Πατήστε "Ctrl + r"   και στην πρόσκληση που εμφανίζεται, ξεκινήστε να εισάγετε ένα τμήμα μιας εντολής που έχετε εισάγει προηγουμένως. Καθώς πληκτρολογείτε χαρακτήρες, ο Bash θα προσπαθήσει να βρει την τελευταία εντολή στο ιστορικό που περιέχει τους χαρακτήρες που έχετε ορίσει. Μόλις βρεθεί, μπορείτε να ξεκινήσετε "Ctrl + r"   πάλι, ο Bash θα εξάγει μια προηγούμενη εντολή, εάν υπάρχει μία. Αφού εντοπίσετε την εντολή που χρειάζεστε, απλά κάντε κλικ "Εισαγωγή"   και θα εμφανιστεί στη γραμμή εντολών σας.

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

Ασφάλεια

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

Ας δούμε πώς μπορείτε να διαχειριστείτε την αποθήκευση των εντολών στο ιστορικό.

Ο πρώτος τρόπος είναι να προσδιοριστεί το .bashrc

Ναι, για την "ειρήνη". Στα κοινά συστήματα, ορισμένοι χρήστες ενδέχεται να δουν εντολές που εκτελείτε με βοηθητικά προγράμματα. πάνω   και ps. Επομένως, εάν δεν είστε 100% σίγουροι για την αξιοπιστία του συστήματος με το οποίο συνεργάζεστε, δεν πρέπει να εκτελέσετε εντολές που να περιέχουν κρυφά δεδομένα εκεί.

Συμπέρασμα

Ελπίζω πραγματικά ότι οι τεχνικές που συζητούνται εδώ θα είναι χρήσιμες σε εσάς στην καθημερινή σας εργασία και θα σας κάνουν λίγο πιο ευχάριστη την εκτέλεση. Ωστόσο, αυτό δεν είναι όλα. Βεβαιωθείτε ότι έχετε ελέγξει τη σελίδα του ιστορικού χρήστη στο σύστημά σας. Είμαι βέβαιος ότι θα μπορέσετε να βρείτε για τον εαυτό σας πολύ πιο χρήσιμο!

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

Διαθεσιμότητα στο Εντολές Linux βρείτεβοηθά πολύ να αντιμετωπίσει αναζήτηση αρχείων   με διάφορα κριτήρια.

Σήμερα θα αναλύσουμε αναζήτηση αρχείων στο linux   και να δώσετε τις βασικές επιλογές εντολών βρείτεπου μπορείτε να εφαρμόσετε στην εργασία σας.


Μορφή εντολών βρείτε:

βρείτετο δρόμο-επιλογές

όπου το δρόμο   - αυτός είναι ο κατάλογος στον οποίο πρέπει να ψάξετε. Οι ακόλουθες τιμές μπορούν να οριστούν ως διαδρομή:

.   - αναζήτηση στον τρέχοντα κατάλογο,

/   - αναζήτηση από τον ριζικό κατάλογο.

~   - αναζήτηση στον οικείο κατάλογο.

Όσον αφορά τις επιλογές, υπάρχει ένας πολύ μεγαλύτερος κατάλογος με τον οποίο είναι επιτακτική η προσεκτική ανάγνωση (αυτό θα βοηθήσει πολύ στο μέλλον!). Έτσι εντοπίστε βασικές επιλογές εντολών:

-name   - αναζήτηση αρχείων με όνομα χρησιμοποιώντας το συγκεκριμένο πρότυπο,

-user   - Αναζήτηση αρχείων που ανήκουν στον συγκεκριμένο χρήστη.

-group   - αναζήτηση αρχείων που ανήκουν στην καθορισμένη ομάδα,

-περί   - αναζήτηση αρχείων με τον καθορισμένο τρόπο πρόσβασης,

-τύπου   - αναζήτηση αρχείων συγκεκριμένου τύπου. Υπάρχουν επίσης αρκετοί τύποι:

  • b - ειδικό αρχείο μπλοκ?
  • d - κατάλογος.
  • c - αρχείο ειδικού χαρακτήρα,
  • f είναι ένα κανονικό αρχείο.
  • l - συμβολική σύνδεση.
  • p είναι ο ονομασμένος σωλήνας.
  • s - υποδοχή.
-size n   - αναζήτηση αρχείων μεγέθους n μονάδων,

-mtime -n + n   - αναζήτηση αρχείων των οποίων το περιεχόμενο άλλαξε λιγότερο από (-) ή περισσότερο από (+) ημέρες πριν.

Εξετάστε μερικούς παραδείγματα χρήσης εντολών βρείτε :

Η πιο συνηθισμένη επιλογή είναι η επιλογή -nameτο οποίο αναζητά αρχεία με το όνομα.

Παραδείγματα με την επιλογή -name :

$ βρείτε / mnt / usb -name "* .mp3" -print

θα αναζητήσει όλα τα αρχεία (υποδεικνυόμενα με *) με την επέκταση .mp3 στη συσκευή USB που είναι τοποθετημένη στον κατάλογο / mnt / usb.

$ βρείτε ~ -name "test *" -print

θα εμφανίσει μια λίστα αρχείων καταλόγου αρχής που αρχίζει με τη δοκιμή.

Αν χρειαστεί να βρείτε αρχεία που ξεκινούν με συγκεκριμένα γράμματα (για παράδειγμα, από το a έως το j), τότε θα είναι βολικό να χρησιμοποιείτε κανονικές εκφράσεις που είναι εξαιρετικά βολικές στην εργασία:

$ βρείτε / -name "*" -print

Η παραπάνω εντολή θα σας επιτρέψει να βρείτε όλα τα αρχεία στο σύστημα, ξεκινώντας με τα γράμματα από το α έως το j.

Αναζήτηση αρχείων με συγκεκριμένες λειτουργίες πρόσβασης

Εάν πρέπει να βρείτε αρχεία που έχουν συγκεκριμένες λειτουργίες πρόσβασης, η επιλογή θα σας βοηθήσει. -περίπου είναι εύκολο να βοηθήσει.

Για παράδειγμα, ας αναζητήσουμε αρχεία με λειτουργία πρόσβασης 775 (ο ιδιοκτήτης και η ομάδα έχουν πλήρη δικαιώματα   και οι περιορισμοί των χρηστών έχουν την καταχώρηση περιορισμού) στον τρέχοντα κατάλογο:

$ βρείτε. -περίδα 775 - εκτύπωση

Με τη χρήση της αναζήτησης βρείτε με την επιλογή -perm, μπορείτε να χρησιμοποιήσετε μια άλλη μέθοδο - μπορείτε να βάλετε ένα παύλα πριν την τιμή της λειτουργίας και στη συνέχεια θα αναζητήσει αρχεία για τα οποία έχουν οριστεί όλα τα καθορισμένα bits permission. Επιπλέον, τα υπόλοιπα κομμάτια σε αυτήν την περίπτωση αγνοούνται.

Για παράδειγμα, βρείτε τα αρχεία στα οποία έχουν πλήρη πρόσβαση οι χρήστες της ομάδας:

$ βρείτε. -perm -070 -print

Αντί μιας παύλας, μπορείτε να ορίσετε ένα σύμβολο συν. Σε αυτήν την περίπτωση, θα αναζητηθούν αρχεία με τουλάχιστον ένα από τα καθορισμένα bits permission. Τα υπόλοιπα δυαδικά ψηφία αγνοούνται.

Αναζήτηση αρχείων συγκεκριμένου χρήστη ή ομάδας

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

$ βρείτε / -user admin -print

Η παραπάνω εντολή θα παράγει αναζήτηση αρχείων   στο σύστημα που ανήκει ο διαχειριστής χρήστη.

Για να βρείτε αρχεία που ανήκουν σε μια συγκεκριμένη ομάδα (για παράδειγμα, διαχειριστές), εκτελέστε την εντολή:

$ find / -group managers -print

Μπορείτε να χρησιμοποιήσετε τις επιλογές για να αναζητήσετε αρχεία μη υπαρχόντων χρηστών ή ομάδων. -νερό   και -μόνωμα:

$ find / -nouser -print

$ find / -nogroup -print

Αναζήτηση αρχείων συγκεκριμένου τύπου

Ένα από τα βολικά χαρακτηριστικά της ομάδας βρείτε, είναι η δυνατότητα αναζήτησης αρχείων συγκεκριμένου τύπου. Εξετάστε τις επιλογές για τη χρήση της επιλογής -τύπου:

Βρείτε συμβολικούς συνδέσμους στον κατάλογο / etc:

$ βρείτε / etc -type l -print

Εμφανίστε μια λίστα με τους καταλόγους που υπάρχουν στον κατάλογο / mnt / raid

$ find / mnt / d -print τύπου raid

Αναζήτηση αρχείων συγκεκριμένου μεγέθους

Επιλογή - μέγεθος   σας επιτρέπει να αναζητήσετε αρχεία συγκεκριμένου μεγέθους και έχει την ακόλουθη εμφάνιση κατά την εκτέλεση:

$ βρείτε. -size 2000k -print

Η παραπάνω εντολή θα εντοπίσει και θα εμφανίσει αρχεία των 2 megabyte στον τρέχοντα κατάλογο στην οθόνη. Εάν, για παράδειγμα, πρέπει να βρείτε αρχεία μικρότερα των 500 kilobyte, τότε ο τύπος εντολής θα είναι ως εξής:

$ βρείτε. -μέγεθος -500k-αποτύπωμα

Αν πρέπει να βρείτε αρχεία μεγαλύτερα από 600 megabyte, εφαρμόστε την εντολή:

$ εύρεση / μεγέθους + 600M -τύπου

Αναζήτηση αρχείων χρησιμοποιώντας την επιλογή -mtime

Επιλογή -μμ   θα σας επιτρέψει να βρείτε αρχεία που έχουν αλλάξει σε μια συγκεκριμένη χρονική περίοδο.

Για παράδειγμα, αντιμετωπίσαμε την εργασία αναζήτησης αρχείων που βρίσκονται στον κατάλογο / mnt / raid / upload και άλλαξαν τις τελευταίες 5 ημέρες. Η ομάδα θα μας βοηθήσει με αυτό:

$ βρείτε / mnt / raid / upload -mtime -5 -print

Εάν χρειαζόμαστε το αντίθετο, για παράδειγμα, για να βρείτε αρχεία που δεν έχουν αλλάξει για μια εβδομάδα, εφαρμόστε την εντολή:

$ βρείτε / mnt / raid / upload -7 -print

Ομάδα βρείτε   είναι ένα εξαιρετικά βολικό εργαλείο για αναζήτηση αρχείων και μπορεί επίσης να χρησιμοποιηθεί για αναζήτηση αρχείων   σε μονάδες NFS (δίκτυο συστήματα αρχείων), αλλά σε αυτήν την περίπτωση είναι απαραίτητο να λάβετε υπόψη ότι θα χρειαστεί πολύ περισσότερος χρόνος για να αναζητήσετε κάτι στο NFS παρά σε τοπικούς δίσκους.

Σε αυτό το άρθρο καλύψαμε μόνο τις βασικές επιλογές της εντολής εύρεσης που θα σας βοηθήσουν στην εργασία σας. Χρησιμοποιήστε ό, τι είναι βολικό και μην ανησυχείτε για μικροσκοπικά!

Σε ένα περιβάλλον διακομιστή, η εργασία με τη γραμμή εντολών παίρνει πολύ χρόνο. Το κέλυφος bash χρησιμοποιείται συχνά. κέλυφος εντολών   την προεπιλογή των περισσότερων διανομών.

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

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

Αυτός ο οδηγός δείχνει όλα τα χαρακτηριστικά του VPS με το Ubuntu 12.04, αλλά σχεδόν όλα τα μοντέρνα linux distros   θα λειτουργήσει με παρόμοιο τρόπο.

Ρυθμίσεις ιστορικού σε bash

Πριν χρησιμοποιήσετε την ιστορία, πρέπει να επεξεργαστείτε μερικές από τις ρυθμίσεις bash για να την καταστήσετε πιο εφαρμόσιμη.

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

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

Από προεπιλογή, το bash ορίζει πολύ μέτριες τιμές για αυτές τις παραμέτρους, γι 'αυτό πρέπει να επεκταθεί για να μπορέσει να χρησιμοποιήσει ένα πληρέστερο ιστορικό. Ορισμένες διανομές έχουν ήδη αυξήσει τις προεπιλεγμένες ρυθμίσεις ιστορικού.

Για να αλλάξετε αυτές τις επιλογές, ανοίξτε το αρχείο "~ / .bashrc" χρησιμοποιώντας τον επεξεργαστή:

Βρείτε τις επιλογές "HISTSIZE" και "HISTFILESIZE". Εάν έχουν οριστεί τιμές για αυτές, αλλάξτε τις. Εάν δεν υπάρχουν τέτοιες παράμετροι σε αυτό το αρχείο, καταχωρίστε τις. Αυτός ο οδηγός μπορεί να διαχειριστεί 10.000 γραμμές για ένα δίσκο και 5.000 γραμμές αποθηκευμένες στη μνήμη. Αυτές είναι πολύ μέτριες τιμές για τα περισσότερα συστήματα, αλλά ακόμη και θα πρέπει να μειωθούν εάν επηρεάζουν την απόδοση:

HISTSIZE = 5000
  HISTFILESIZE = 10.000

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

Αυτό μπορεί να παρακάμπτεται ρυθμίζοντας την παράμετρο "histappend", η οποία θα προσθέσει την ιστορία, αντί να την αντικαταστήσει. Μπορεί ήδη να εγκατασταθεί. διαφορετικά, μπορεί να ενεργοποιηθεί προσθέτοντας την ακόλουθη γραμμή:

-

Για να μπορέσετε να εισάγετε εντολές στο ιστορικό αμέσως, χωρίς να περιμένετε να τελειώσει η περίοδος σύνδεσης (έτσι ώστε οι εντολές από ένα τερματικό να είναι άμεσα διαθέσιμες σε άλλο), μπορείτε να ορίσετε ή να προσθέσετε την εντολή "history -a" για την επιλογή "PROMPT_COMMAND", η οποία περιέχει εντολές που εκτελούνται πριν από κάθε νέα γραμμή εντολών

Αλλά για τη σωστή λειτουργία μιας τέτοιας ομάδας χρειάζεται ένα τέχνασμα. Αμέσως προσθέστε το ιστορικό -a στο αρχείο ιστορικού και, στη συνέχεια, διαγράψτε το τρέχον ιστορικό αυτής της περιόδου χρησιμοποιώντας το ιστορικό -c, διαβάστε το επεξεργασμένο αρχείο ιστορικού και επιστρέψτε στο ιστορικό αυτής της περιόδου χρησιμοποιώντας το ιστορικό -r.

Μοιάζει με αυτό:

εξαγωγή PROMPT_COMMAND = "ιστορικό -α · ιστορικό -c; ιστορικό -r; $ PROMPT_COMMAND"

Αφού ολοκληρώσετε αυτήν τη λειτουργία, αποθηκεύστε τις αλλαγές και κλείστε το αρχείο.

Για να ενεργοποιήσετε τις αλλαγές, αποσυνδεθείτε και συνδεθείτε ξανά ή χρησιμοποιήστε την εντολή source αυτό το αρχείοπληκτρολογώντας:

πηγή ~ / .bashrc

Προβολή προηγούμενου ιστορικού στοBash

Για να δείτε το ιστορικό στο Bash, χρησιμοποιήστε την εντολή "history". Εμφανίζει τις προηγούμενες εντολές στη γραμμή εντολών. Στις περισσότερες περιπτώσεις, θα πρέπει να εξάγει τον αριθμό των γραμμών που ορίζονται από την τιμή "HISTSIZE". Δεν υπάρχουν τόσες πολλές ομάδες αυτήν τη στιγμή:

ιστορία
. . .
  43 άνθρωπος bash
  44 man fc
  45 άνθρωπος bash
  46 fc-1-10
  47 ιστορία
  48 ls -a
  49 vim .bash_history
  50 ιστορία
  51 ιστορία ανθρώπων
  52 ιστορία 10
  53 ιστορία

Εμφανίζει επίσης τον αύξοντα αριθμό της εντολής. Κάθε ομάδα συνδέεται με έναν αριθμό για ευκολία χρήσης.

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

ιστορία 5
  50 ιστορία
  51 ιστορία ανθρώπων
  52 ιστορία 10
  53 ιστορία
  54 ιστορία 5

Για να εντοπίσετε όλες τις εντολές ενός ιστορικού που περιέχουν μια συγκεκριμένη συμβολοσειρά, μπορείτε απλά να χρησιμοποιήσετε grep μετά το σύμβολο της κάθετης ράβδου. Για παράδειγμα, για να βρείτε συμβολοσειρές που περιέχουν "cd", πληκτρολογήστε:

ιστορία | grep cd
  33 cd Εικόνες /
  37 cd ..
  39 cd Desktop /
  61 cd / usr / bin /
  68 cd
  83 cd / κλπ /
  86 cd resolvconf /
  90 cd resolv.conf.d /

Εκτελεί εντολές από την ιστορία στο bash

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

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

Αυτό θα ενεργοποιήσει αμέσως και θα εκτελέσει την εντολή στο ιστορικό με τον αριθμό 51.

Μπορείτε επίσης να εκτελέσετε εντολές σχετικά με την τρέχουσα θέση. Αυτό γίνεται χρησιμοποιώντας τη σύνταξη "! -Ν", όπου το "n" πρέπει να αντικατασταθεί με τον αριθμό της εντολής που θα εκτελεστεί.

Για παράδειγμα, εάν θέλετε να εμφανίσετε και να εκτελέσετε την προτελευταία εντολή που καλείται, μπορείτε να πληκτρολογήσετε "! -2". Έτσι, αν εμφανιστούν τα περιεχόμενα της μακράς διαδρομής στον κατάλογο και στη συνέχεια εισήλθε η εντολή echo και τώρα πρέπει να εξάγετε ξανά τη διαδρομή, η περίοδος λειτουργίας μπορεί να φαίνεται ως εξής:

ls / usr / share / doc / manpages
  echo hello
  ! -2 # εμφανίζει ξανά το περιεχόμενο

Για να εκτελέσετε εκ νέου την τελευταία εντολή, αντί να χρησιμοποιήσετε το "! -1" στο bash, μπορείτε να χρησιμοποιήσετε την εντολή "!!" hot, η οποία εκτελεί:

Πολλοί άνθρωποι το χρησιμοποιούν αν έχουν πληκτρολογήσει μια εντολή που απαιτεί δικαιώματα sudo. Κατά την πληκτρολόγηση του "sudo !!", η εντολή θα υπερκεραστεί με δικαιώματα sudo. Αυτή η σύνοδος μοιάζει με αυτό:

αγγίξτε το / etc / hello
  αγγίξτε το: "cant touch" / etc / hello ": Η άδεια απορρίφθηκε
  sudo !!
  sudo επαφή / etc / hello
   κωδικός πρόσβασης για demoser:

Αυτό το παράδειγμα δείχνει ένα άλλο χαρακτηριστικό αυτής της χρήσιμης σύνταξης. Στην πραγματικότητα, αυτό είναι μια απλή αντικατάσταση, διότι αν είναι απαραίτητο μπορεί να συμπεριληφθεί σε άλλες εντολές.

Κύλιση ιστορικού στο Bash

Μπορείτε να μεταβείτε στο ιστορικό στο Bash, εμφανίζοντας κάθε επόμενη εντολή στη γραμμή εντολών για επεξεργασία, με διάφορους τρόπους.

Ο πιο συνηθισμένος τρόπος είναι να πατήσετε το πλήκτρο βέλους επάνω στη γραμμή εντολών.

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

Αντί τα πλήκτρα βέλους, μπορείτε να χρησιμοποιήσετε συντομεύσεις πληκτρολογίου: "CTRL-p" για να μετακινηθείτε στο ιστορικό προς τα πίσω και "CTRL-n" για κύλιση προς τα εμπρός.

Για να επιστρέψετε στην τρέχουσα γραμμή εντολών, μπορείτε να χρησιμοποιήσετε το "Meta-\u003e". Στις περισσότερες περιπτώσεις, το σύμβολο "meta" και "\u003e" αντικαθιστά το συνδυασμό "ALT-Shift-.". Αυτό είναι πολύ χρήσιμο αν το ρεύμα γραμμή εντολών   είναι αρκετά μακριά.

Για να μετακινηθείτε στην πρώτη γραμμή της ιστορίας, χρησιμοποιήστε το αντίστροφο ελιγμό, το "Meta-<». Обычно это сочетание замещает «ALT-Shift-,».

Ως περίληψη, παρακάτω είναι μια λίστα με τα πιο σημαντικά πλήκτρα πλοήγησης στο ιστορικό:

  • Πλήκτρο επάνω βέλους: Μετακινηθείτε στην ιστορία πίσω.
  • CTRLσ: μεταβείτε στο ιστορικό πίσω.
  • Κάτω βέλος: Μετακινηθείτε στην ιστορία προς τα εμπρός.
  • CTRLn: μεταβείτε στην ιστορία προς τα εμπρός.
  • AltΜετακίνηση-. : μετακίνηση στο τέλος της ιστορίας (στην τελευταία εντολή που καταχωρίσατε).
  • AltΜετακίνηση-, : μετακίνηση στην αρχή της ιστορίας (στην πρώτη εντολή που καταχωρίσατε).

Ιστορικό αναζήτησης στοBash

Αν και η χρήση του συνδυασμού "ιστορία" grep "είναι ο ευκολότερος τρόπος για να εκτελέσετε κάποιες διαδικασίες, η εργασία της σε πολλές καταστάσεις απέχει πολύ από την τέλεια.
  Το Bash έχει μια λειτουργία αναζήτησης ιστορικού. Για παράδειγμα, συχνά χρησιμοποιείται αναζήτηση ιστορικού προς την αντίθετη κατεύθυνση (πρώτα, εμφανίζονται τα πιο "πρόσφατα" αποτελέσματα) χρησιμοποιώντας το συνδυασμό πλήκτρων "Ctrl-r".

Για παράδειγμα, μπορείτε να πληκτρολογήσετε "Ctrl-r" και πληκτρολογήστε ένα μέρος της προηγούμενης εντολής. Είναι απαραίτητο να προσληφθεί μόνο ένα μέρος της ομάδας. Εάν η τιμή που καταχωρίσατε συνέπεσε με μια άχρηστη εντολή, μπορείτε να πατήσετε και πάλι το "Ctrl-r" για να εμφανιστεί το ακόλουθο αποτέλεσμα.

Εάν η απαιτούμενη εντολή παραλείφθηκε τυχαία, μπορείτε να αλλάξετε την κατεύθυνση αναζήτησης χρησιμοποιώντας το συνδυασμό "CTRL-s". Αυτό είναι επίσης χρήσιμο κατά την πλοήγηση στο ιστορικό που περιγράφεται στο προηγούμενο κεφάλαιο για αναζήτηση προς τα εμπρός.

Σημείωση: σε πολλούς τερματικούς σταθμούς, ο συνδυασμός "CTRL-s" αποκλείει τη συνεδρία τερματικού. Δηλαδή, αν προσπαθήσετε να το χρησιμοποιήσετε για αναζήτηση, θα "παγώσει" το τερματικό. Για να ξεκλειδώσετε μια συνεδρία, απλώς πληκτρολογήστε "Ctrl-q".

Αυτές οι λειτουργίες αναστολής και επανάληψης μιας περιόδου λειτουργίας στα περισσότερα σύγχρονα τερματικά δεν χρειάζονται, επειδή μπορούν να απενεργοποιηθούν πληκτρολογώντας:

Τώρα πρέπει να προσθέσετε αυτό στο αρχείο "~ / .bashrc" για να εξασφαλίσετε την συνεχή εκτέλεση της εντολής.

Τώρα ο συνδυασμός αναζήτησης θα λειτουργήσει σωστά.

Αναζήτηση κατά μέρος της εντολής που καταχωρίσατε

Ένας κοινός τρόπος αναζήτησης είναι να εισάγετε μέρος μιας εντολής, να μάθετε εάν έχει εκτελεστεί πριν και στη συνέχεια να την βρείτε στην ιστορία.

Πώς να πραγματοποιήσετε σωστή αναζήτηση χρησιμοποιώντας τα δεδομένα που έχουν ήδη εισαχθεί στη γραμμή εντολών; Μετακινήστε τον κέρσορα στην αρχή της γραμμής χρησιμοποιώντας το "CTRL-a", στη συνέχεια καλέστε την αντίστροφη προβολή του ιστορικού "CTRL-r", εισάγετε την τρέχουσα γραμμή στην αναζήτηση χρησιμοποιώντας το "CTRL-y" και χρησιμοποιήστε ξανά το CTRL-r για να αντιστρέψετε την αναζήτηση.

Για παράδειγμα, πρέπει να ενημερώσετε την προσωρινή μνήμη του πακέτου στο Ubuntu. Αυτή η εντολή έχει ήδη εκτελεστεί, αλλά για να ελέγξετε αν συμβαίνει αυτό, μπορείτε να πληκτρολογήσετε sudo:

Σε αυτό το στάδιο, είναι σαφές ότι αυτή η εντολή έχει οριστικά εκτελεστεί πρόσφατα. Τώρα κάντε κλικ στο:

Αυτό θα μετακινήσει τον κέρσορα στην αρχή της γραμμής.

Αυτό θα προκαλέσει αντίστροφη αναζήτηση διαδοχικών ιστορικών. Αυτή η ενέργεια έχει παρενέργεια - αντιγράφει όλο το περιεχόμενο της γραμμής εντολών, το οποίο είναι μετά την τρέχουσα θέση του δρομέα και το εισάγει στο πρόχειρο.

Αυτό εισάγει τα τμήματα της εντολής που μόλις αντιγράψατε από τη γραμμή εντολών στην αναζήτηση.

Τώρα πρέπει να εκτελέσετε ξανά την αντίστροφη αναζήτηση ιστορικού για να εντοπίσετε τις εντολές που περιέχουν το καθορισμένο τμήμα.

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

Επιπλέον, όλες αυτές οι ενέργειες μπορούν να συνδυαστούν σε μία:

Προηγμένη χρήση του ιστορικού σε bash

Έχοντας επανεξετάσει τις βασικές τεχνικές της χρήσης της ιστορίας που υπάρχουν στο bash. Μεταξύ αυτών είναι:

  • !! : εμφάνιση της τελευταίας εντολής.
  • ! n: μεταβείτε στην ομάδα με τον αριθμό σειράς "n".
  • !- n: μεταβείτε στην εντολή που αριθμήθηκε "n" πριν εκτελέσετε την τελευταία εντολή.

Αναγνωριστές συμβάντων

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

Για παράδειγμα, για να εκτελέσετε την τελευταία εντολή "ssh", μπορείτε να χρησιμοποιήσετε:

Αυτή η ενέργεια αναζητά γραμμές που αρχίζουν με "ssh". Για να βρείτε μια ακολουθία που δεν βρίσκεται στην αρχή μιας εντολής, μπορείτε να εισαγάγετε τον χαρακτήρα "?" Πριν και μετά την ακολουθία. Για παράδειγμα, για να επαναλάβετε την τελευταία εντολή αναζήτησης "apt-cache search", πρέπει να πληκτρολογήσετε:

Μπορείτε επίσης να χρησιμοποιήσετε παραλλαγές της εξόδου της τελευταίας εντολής ("!!"). Πραγματοποιήστε μια γρήγορη αναζήτηση και αντικαταστήστε πληκτρολογώντας:

^ αρχική ^ αντικατάσταση ^

Αυτό θα καλέσει την τελευταία εντολή (όπως "!!"), αναζητήστε έναν αγώνα με την τιμή του "original" και αντικαταστήστε την με την τιμή της "αντικατάστασης". Στη συνέχεια θα εκτελεστεί η εντολή.

Είναι πολύ βολικό να το χρησιμοποιήσετε εάν πρέπει να διορθώσετε λάθη ορθογραφίας. Για παράδειγμα:

γάτα / etc / hosst
  cat: / etc / hosst: Δεν υπάρχει τέτοιο αρχείο ή κατάλογος
  ^ hosst ^ hosts ^

Αναγνωριστικά λέξεων

Μετά τα αναγνωριστικά συμβάντων, μπορείτε να προσθέσετε ένα χαρακτήρα παχέος εντέρου (:) και στη συνέχεια να προσθέσετε αναγνωριστικό λέξηςγια να επιλέξετε ένα μέρος της αντιστοιχισμένης ομάδας.

Αυτό λειτουργεί διαιρώντας την εντολή σε "λέξεις" - περιοχές που χωρίζονται από κενά. Αυτό ανοίγει νέες δυνατότητες αλληλεπίδρασης με τις παραμέτρους εντολών.

Η ίδια η εντολή είναι αριθμημένη μηδέν, το πρώτο επιχείρημα είναι 1, και ούτω καθεξής.

Για παράδειγμα, μπορείτε να εμφανίσετε τα περιεχόμενα ενός καταλόγου και, στη συνέχεια, να το αλλάξετε με αυτόν τον τρόπο:

ls / usr / share / doc / manpages
  cd !!: 1

Εάν αυτή η λειτουργία εκτελείται με την τελευταία εκκίνητη εντολή, τότε αυτός ο συνδυασμός μπορεί να συμπιεστεί αφαιρώντας το δεύτερο "!" Και το παχύ έντερο:

Αυτό θα λειτουργήσει με τον ίδιο τρόπο.

Το πρώτο επιχείρημα μπορεί να αναφερθεί από το σύμβολο "^" και το τελευταίο επιχείρημα μπορεί να αναφέρεται ως "$". Αυτοί οι χαρακτήρες είναι πολύ πιο χρήσιμοι όταν χρησιμοποιείτε σειρές, όχι σειριακούς αριθμούς. Για παράδειγμα, μπορείτε να εξαγάγετε όλα τα επιχειρήματα από την προηγούμενη εντολή στη νέα με τρεις τρόπους:

!!:1*
!!:1-$
!!:*

Ο αστερίσκος "*" χρησιμοποιείται για να υποδείξει την έξοδο οποιωνδήποτε δεδομένων, εκτός από την αρχική εντολή. Ομοίως, μπορείτε να χρησιμοποιήσετε τον αριθμό λέξης, που ακολουθείται από *, για να υποδείξετε ότι όλα μετά από την καθορισμένη λέξη θα πρέπει επίσης να συμπεριληφθούν.

Τροποποιητές

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

Για παράδειγμα, μπορείτε να συντομεύσετε τη διαδρομή σε ένα αρχείο με τον τροποποιητή "h" (που σημαίνει "κεφάλι"), ο οποίος αφαιρεί τη διαδρομή από τον τελευταίο χαρακτήρα κάθετο (/). Θυμηθείτε: δεν θα λειτουργήσει σωστά αν χρειαστεί να συντομεύσετε τη διαδρομή σε έναν κατάλογο που τελειώνει με μια κάθετο.

Αυτό χρησιμοποιείται συχνά όταν τροποποιείται ένα αρχείο και είναι απαραίτητο να μεταβείτε στον κατάλογό του για να εκτελέσετε εργασίες στα σχετικά αρχεία του.

cat / usr / share / doc / manpages / copyright

Μετά από αυτό πρέπει να πάτε στον κατάλογο. Αυτό μπορεί να γίνει χρησιμοποιώντας την εντολή "cd" στη συμβολοσειρά παραμέτρων, "αποκοπή" του ονόματος αρχείου στο τέλος.

cd !!: $: h
  pwd
  / usr / share / doc / manpages

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

Μπορείτε επίσης να αφήσετε το πλήρες μονοπάτι και η ομάδα θα λειτουργήσει σωστά. Αλλά μερικές φορές δεν είναι. Για παράδειγμα, εάν κατά την εργασία με ένα αρχείο που έχει ενσωματωθεί σε διάφορους υποκαταλόγους του τρέχοντος καταλόγου, χρησιμοποιώντας μια σχετική διαδρομή και αλλάζοντας τον υποκατάλογο χρησιμοποιώντας τον τροποποιητή "h", τότε η χρήση της σχετικής διαδρομής σε αυτό το αρχείο δεν θα λειτουργεί πλέον.

Ένας άλλος πολύ χρήσιμος τροποποιητής είναι το "r", το οποίο αφαιρεί το τελικό επίθημα της φόρμας ".xxx". Αυτό είναι χρήσιμο όταν χρησιμοποιείτε την εντολή "tar" για να αποσυσκευάσετε ένα αρχείο και στη συνέχεια να μετακινηθείτε σε έναν κατάλογο. Υποθέτοντας ότι το όνομα καταλόγου ταιριάζει με το όνομα του αρχείου, μπορείτε να κάνετε κάτι σαν:

tar xzvf long-project-name.tgz
  cd !!: $: r

Αν το tarball χρησιμοποιεί την επέκταση tar.gz αντί για το tgz, απλά εισάγετε τον τροποποιητή δύο φορές:

tar xzvf long-project-name.tar.gz
  cd !!: $: r: r

Ένας παρόμοιος τροποποιητής, "e", αφαιρεί τα πάντα εκτός από την επέκταση της ουράς.

Αν η εντολή που καλείται απλά βρίσκεται, δεν εκτελέστηκε, μπορείτε να χρησιμοποιήσετε τον τροποποιητή "p" για να εμφανίσετε ξανά την εντολή για bash.

Αυτό είναι χρήσιμο εάν θέλετε να βεβαιωθείτε ότι το επιλεγμένο τμήμα της ιστορίας είναι σωστό. Επιπλέον, αυτός ο τροποποιητής θα τοποθετήσει την επιλεγμένη εντολή στο ιστορικό σε περίπτωση που χρειάζεται περαιτέρω επεξεργασία.

Για παράδειγμα, η εντολή "find" εκτελέστηκε στο αρχικό κατάλογο και τώρα πρέπει να εκτελείται από αυτόν τον κατάλογο (/). Είναι δυνατό να ελέγξετε αν η αντικατάσταση εκτελέστηκε σωστά ως εξής (με την προϋπόθεση ότι η εντολή αυτή έχει αριθμό 119):

βρείτε ~ ~ όνομα "file1" # αρχική εντολή
  119: 0: ρ / 119: 2 *: ρ
  find / -name "file1"

Εάν η εντολή εμφανίστηκε σωστά, μπορεί να εκτελείται χρησιμοποιώντας:

Υπάρχει επίσης ένας ευκολότερος τρόπος για να κάνετε υποκατάσταση σε εντολές: γι 'αυτό, μπορείτε να χρησιμοποιήσετε τη σύνταξη s / original / new /

Για παράδειγμα, η δράση που περιγράφεται παραπάνω μπορεί να γίνει ως εξής:

Αυτό θα αντικαταστήσει την πρώτη εμφάνιση του προτύπου αναζήτησης. Για να κάνετε μια αντικατάσταση σε κάθε αγώνα, χρησιμοποιήστε τους τροποποιητές "g" και "s". Για παράδειγμα, για να δημιουργήσετε ένα αρχείο με το όνομα »file1" ,«file2»και«file3»και καταλόγους«dir1»,«DIR2»,«DIR3», θα πρέπει να χρησιμοποιήσετε:

αγγίξτε το αρχείο1 αρχείο2 αρχείο3
  mkdir !!: *: gs / αρχείο / dir /

Αποτελέσματα

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

Γενικά, όλες οι περιγραφόμενες χρήσεις της ιστορίας μπορούν να επιταχύνουν σημαντικά την εργασία.

   Ετικέτες :,

Το Linux έχει μια πολύ ισχυρή και χρήσιμη εντολή για την εύρεση αρχείων - την εντολή find. Έχει μεγάλο αριθμό δυνατοτήτων αναζήτησης αρχείων, ωστόσο, μερικές φορές προκαλεί δυσκολίες για αρχάριους, κυρίως λόγω της σύνταξής του.

Ένα απλό παράδειγμα χρήσης της εντολής find

Για να ξεκινήσετε, εξετάστε ένα απλό παράδειγμα χρήσης της εντολής εύρεσης για να βρείτε αρχεία σε έναν υπολογιστή που ονομάζεται config. Θα αναζητήσουμε αρχεία ρυθμίσεων ξεκινώντας από τον ριζικό κατάλογο /. Για να γίνει αυτό, πρέπει να εκτελέσετε την εντολή ως χρήστη root για να έχετε επαρκή δικαιώματα πρόσβασης, διαφορετικά θα λάβετε μηνύματα "Permission denied". Έτσι, εκτελέστε την εντολή:

Εύρεση / -name config -print

Η εντολή σημαίνει τα εξής: αναζήτηση αρχείων με όνομα config (-name config), ξεκινώντας από τον / directory (την πρώτη παράμετρο της εντολής find) και εμφανίζοντας τα ονόματα των αρχείων στην οθόνη (argument -print). Σημειώνω ότι η αναζήτηση είναι αναδρομική, δηλαδή κατά την αναζήτηση, όλοι οι υποκαταλόγοι εμφανίζονται. Όπως μπορείτε να δείτε όλα είναι απλά. Τώρα εξετάστε τη σύνταξη της εντολής και προχωρήστε στην αναθεώρηση των κύριων επιχειρημάτων της.

Εύρεση σύνταξης εντολών

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

Βρείτε [διαδρομή] [επιλογές] [κριτήρια αναζήτησης] [ενέργειες αρχείου]

Ο δρόμος

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

Επιλογές

Οι επιλογές για την εντολή find καθορίζονται αρχίζοντας με ένα χαρακτήρα "-" ακολουθούμενο από το όνομα της επιλογής. Εξετάστε τις βασικές επιλογές.

Κριτήρια αναζήτησης

Η εντολή εύρεσης μπορεί να έχει αρκετά κριτήρια αναζήτησης (ονομάζονται επίσης δοκιμές). Κάθε κριτήριο είναι μια συγκεκριμένη δοκιμαστική συνθήκη που επιστρέφει είτε αληθινή είτε ψευδή. Αυτό μπορεί να συγκριθεί με τις συνθήκες μιας δήλωσης if στον προγραμματισμό. Κατά τη διάρκεια της επεξεργασίας του επόμενου αρχείου, η εντολή find εντοπίζει κάθε κριτήριο με τη σειρά και αν το επόμενο κριτήριο επιστρέψει ψευδές, τότε η εντολή εύρεσης μετακινείται στο επόμενο αρχείο. Η εντολή find έχει αρκετά κριτήρια, θα εξετάσουμε μόνο μερικά από αυτά.

-σταθμός ΝΤο τελευταίο αρχείο είχε πρόσβαση πριν από λίγες ημέρες.
-μήμα ΝΗ τελευταία αλλαγή αρχείου ήταν πριν από λίγες ημέρες.
-name πρότυποΌνομα αρχείου (μοτίβο ονομάτων) χωρίς διαδρομή. Συνιστάται πάντα να περνάτε το πρότυπο σε εισαγωγικά.
-newer other_fileΤο αρχείο άλλαξε αργότερα από το άλλο αρχείο.
- μεγέθους [±] NΤο μέγεθος του αρχείου είναι N μπλοκ, αν έχει καθοριστεί + N, τότε το μέγεθος του αρχείου είναι μεγαλύτερο από το Ν, το -N είναι μικρότερο. Ο χαρακτήρας μετά το Ν δείχνει το μέγεθος του μπλοκ. b - 512 byte, s - bytes, w - 2 byte, k - kilobyte, M - megabyte, G - gigabyte.
-τύπου CΑρχείο τύπου C. Οι πιο συχνά χρησιμοποιούμενες τιμές για το C είναι: d είναι ο κατάλογος, f είναι το αρχείο.
-user usernameΤο αρχείο ανήκει σε όνομα χρήστη που ονομάζεται όνομα χρήστη.

Παραδείγματα χρήσης της εντολής εύρεσης χρησιμοποιώντας κριτήρια

  βρείτε. -type f -name "~ *" -print

Βρείτε στο τρέχον κατάλογο τα κανονικά αρχεία (όχι τους καταλόγους), των οποίων το όνομα αρχίζει με το χαρακτήρα "~".

Βρείτε. -newer file.bak τύπου f -print

Βρείτε τα αρχεία στον τρέχοντα κατάλογο που τροποποιήθηκαν αργότερα από το αρχείο file.bak.

Χειριστές

Τα κριτήρια μπορούν να συνδυαστούν με τους χειριστές. Οι ακόλουθοι είναι οι χειριστές κατά φθίνουσα σειρά προτεραιότητας.

Γενικά, κατά τη χρήση των χειριστών, τα κριτήρια ελέγχονται κατά σειρά προτεραιότητας. Μπορείτε να αλλάξετε τη σειρά χρησιμοποιώντας παρενθέσεις. Τα στηρίγματα πρέπει να επιλέγονται με την αντίστροφη κάθετο.

Παραδείγματα χρήσης της εντολής εύρεσης χρησιμοποιώντας χειριστές

  βρείτε. \\ (- όνομα "~ *" -ή-όνομα "temp *" \\) -type f -print

Βρείτε στα τρέχοντα αρχεία καταλόγου που αρχίζουν με το σύμβολο "~" ή c "temp" και τα οποία είναι απλά κανονικά αρχεία (-type f) και όχι κατάλογοι.

Βρείτε. -maxdepth 1 \\ (\\ (- μέγεθος + 600M και μεγέθους -1G \\) -ή -name "* .mpeg" \\) -και-τύπος f

Βρείτε τον τρέχοντα κατάλογο (όχι επεξεργασία υποκαταλόγους - -maxdeph 1) κανονικά αρχεία (-Σύστημα στ) μεγαλύτερη από 600 megabytes και 1 gigabyte (-size) ή τα αρχεία των οποίων το όνομα zakanchivayuschietsya για «.mpeg» (-όνομα).

Ενέργειες σε αρχεία

Όταν εκτελείται η εντολή εύρεσης, μπορείτε να εκτελέσετε διάφορες ενέργειες στα αρχεία που βρέθηκαν. Εξετάστε τα κύρια.

Στις εκτελέσιμες εντολές μπορείτε να χρησιμοποιήσετε την παράμετρο () ως ένα όρισμα, το οποίο αντικαθίσταται από τη διαδρομή προς το τρέχον αρχείο.

Παραδείγματα χρήσης της εντολής εύρεσης χρησιμοποιώντας ενέργειες

  βρείτε. -size + 1000c -type f -ls

Βρείτε κανονικά αρχεία μεγαλύτερα από 1000 bytes στον τρέχοντα κατάλογο και εκτελέστε την εντολή ls -dils (η δράση ls) πάνω τους.

Βρείτε. -name "~ *" - τύπος f -ok rm () \\;

Βρείτε τα κανονικά αρχεία στον τρέχοντα κατάλογο που ξεκινούν με ένα tilde "~" και για κάθε αρχείο ζητήστε την αφαίρεση του (για εκτέλεση της εντολής rm).

Συμπέρασμα

Σε αυτή τη σημείωση, εξετάσαμε μια πολύ σημαντική και χρήσιμη εντολή εντοπισμού Linux, η οποία παρέχει σχεδόν απεριόριστες δυνατότητες εύρεσης αρχείων με πολλά κριτήρια και μοτίβα. Και με τη χρήση εντολών (ενεργειών) μπορείτε να αναζητήσετε αρχεία και να εκτελέσετε οποιεσδήποτε λειτουργίες σε αυτές.

Συνέχιση του θέματος:
Android

Για να αλλάξετε τις ρυθμίσεις τόνου, ανοίξτε την οθόνη Ρυθμίσεις\u003e Ήχοι. Μπορείτε να αλλάξετε τις ακόλουθες ρυθμίσεις: Ρυθμίστε την ένταση των κουδουνισμάτων και των σημάτων συναγερμού ....