Εύρεση ονόματος αρχείου. Η εντολή find και οι επιλογές της εμφανίζονται σε παραδείγματα. Παραδείγματα χρήσης find

Αυτή είναι η προεπιλεγμένη σελίδα υποδοχής που χρησιμοποιείται για τον έλεγχο της σωστής λειτουργίας του διακομιστή Apache2 μετά την εγκατάσταση σε συστήματα Ubuntu. Βασίζεται στην αντίστοιχη σελίδα στο Debian, από την οποία προέρχεται η συσκευασία Ubuntu Apache. Εάν μπορείτε να διαβάσετε αυτήν τη σελίδα, σημαίνει ότι ο διακομιστής HTTP Apache που είναι εγκατεστημένος σε αυτόν τον ιστότοπο λειτουργεί σωστά. Θα έπρεπε αντικαταστήστε αυτό το αρχείο(βρίσκεται στο /var/www/html/index.html) πριν συνεχίσετε να λειτουργείτε τον διακομιστή HTTP.

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

Επισκόπηση διαμόρφωσης

Η προεπιλεγμένη διαμόρφωση του Apache2 του Ubuntu είναι διαφορετική από την προεπιλεγμένη ρύθμιση παραμέτρων upstream και χωρίζεται σε πολλά αρχεία βελτιστοποιημένα για αλληλεπίδραση με τα εργαλεία του Ubuntu. Το σύστημα διαμόρφωσης είναι πλήρως τεκμηριωμένη στο /usr/share/doc/apache2/README.Debian.gz. Ανατρέξτε σε αυτό για την πλήρη τεκμηρίωση. Τεκμηρίωση για την διακομιστή ιστούμπορεί να βρεθεί με πρόσβαση στο εγχειρίδιο εάν το πακέτο apache2-doc ήταν εγκατεστημένο σε αυτόν τον διακομιστή.

Η διάταξη διαμόρφωσης για μια εγκατάσταση διακομιστή ιστού Apache2 σε συστήματα Ubuntu είναι η εξής:

/etc/apache2/ |-- apache2.conf | `-- ports.conf |-- mods-enabled | |-- *.φόρτωση | `-- *.conf |-- conf-enabled | `-- *.conf |-- sites-enabled | `-- *.conf

  • Το apache2.conf είναι το κύριο αρχείο διαμόρφωσης. Συνδυάζει τα κομμάτια συμπεριλαμβάνοντας όλα τα υπόλοιπα αρχεία διαμόρφωσης κατά την εκκίνηση του διακομιστή web.
  • Το ports.conf περιλαμβάνεται πάντα από το κύριο αρχείο διαμόρφωσης. Χρησιμοποιείται για τον προσδιορισμό των θυρών ακρόασης για τις εισερχόμενες συνδέσεις και αυτό το αρχείο μπορεί να προσαρμοστεί ανά πάσα στιγμή.
  • Τα αρχεία διαμόρφωσης στους καταλόγους mods-enabled/ , conf-enabled/ και sites-enabled/ περιέχουν συγκεκριμένα αποσπάσματα διαμόρφωσης που διαχειρίζονται μονάδες, τμήματα καθολικής διαμόρφωσης ή διαμορφώσεις εικονικού κεντρικού υπολογιστή, αντίστοιχα.
  • Ενεργοποιούνται με τη συμβολική σύνδεση των διαθέσιμων αρχείων διαμόρφωσης από τα αντίστοιχα *-available/ αντίστοιχα. Θα πρέπει να τα διαχειριστούμε χρησιμοποιώντας τους βοηθούς μας a2enmod, a2dismod, a2ensite, a2dissite και a2enconf, a2disconf . Δείτε τις αντίστοιχες σελίδες man για λεπτομερείς πληροφορίες.
  • Το δυαδικό σύστημα ονομάζεται apache2. Λόγω της χρήσης μεταβλητών περιβάλλοντος, στην προεπιλεγμένη ρύθμιση παραμέτρων, το apache2 πρέπει να ξεκινήσει/διακοπεί με /etc/init.d/apache2 ή apache2ctl . Η απευθείας κλήση του /usr/bin/apache2 δεν θα λειτουργήσειμε την προεπιλεγμένη διαμόρφωση.

Ρίζες εγγράφων

Από προεπιλογή, το Ubuntu δεν επιτρέπει την πρόσβαση μέσω του προγράμματος περιήγησης ιστού σε όποιοςαρχείο εκτός από αυτά που βρίσκονται στους καταλόγους /var/www , public_html (όταν είναι ενεργοποιημένοι) και /usr/share (για εφαρμογές web). Εάν ο ιστότοπός σας χρησιμοποιεί μια ρίζα εγγράφου Ιστού που βρίσκεται αλλού (όπως στο /srv), ίσως χρειαστεί να προσθέσετε στη λίστα επιτρεπόμενων τον ριζικό κατάλογο του εγγράφου σας στο /etc/apache2/apache2.conf .

Η προεπιλεγμένη ρίζα του εγγράφου του Ubuntu είναι /var/www/html . Μπορείτε να δημιουργήσετε τους δικούς σας εικονικούς κεντρικούς υπολογιστές στο /var/www. Αυτό είναι διαφορετικό από τις προηγούμενες εκδόσεις που παρέχει καλύτερη ασφάλεια από το κουτί.

Αναφορά προβλημάτων

Χρησιμοποιήστε το εργαλείο ubuntu-bug για να αναφέρετε σφάλματα στο πακέτο Apache2 με το Ubuntu. Ωστόσο, ελέγξτε πριν αναφέρετε ένα νέο σφάλμα.

Αναφέρετε σφάλματα που αφορούν συγκεκριμένα modules (όπως PHP και άλλα) στα αντίστοιχα πακέτα και όχι στον ίδιο τον διακομιστή web.

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

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

επιλογή εύρεσης διαδρομής

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

  • / — αναζήτηση στον ριζικό και παρακείμενο κατάλογο.
  • ~ — αναζήτηση κατά οικείο κατάλογο.
  • ./ — αναζήτηση στον κατάλογο στον οποίο βρίσκεται ο χρήστης αυτήν τη στιγμή.

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

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

  • -όνομα- πραγματοποιήστε μια αναζήτηση χρησιμοποιώντας ως βάση το όνομα του στοιχείου που αναζητάτε.
  • -χρήστης- αναζήτηση αρχείων που σχετίζονται με συγκεκριμένο χρήστη.
  • -ομάδα- αναζήτηση για μια συγκεκριμένη ομάδα χρηστών.
  • -περμανάντ- εμφάνιση αρχείων με την καθορισμένη λειτουργία πρόσβασης.
  • -μέγεθος n- αναζήτηση με βάση το μέγεθος του αντικειμένου.
  • -mtime +n -n- αναζήτηση για αρχεία που έχουν αλλάξει περισσότερο από ( +n) ή λιγότερο ( -n) μέρες πριν;
  • -τύπος- αναζήτηση αρχείων συγκεκριμένου τύπου.

Υπάρχουν επίσης πολλά είδη στοιχείων που αναζητάτε. Εδώ είναι η λίστα τους:

  • σι- ΟΙΚΟΔΟΜΙΚΟ ΤΕΤΡΑΓΩΝΟ;
  • φά- συνηθισμένο;
  • Π- ονομαζόμενος σωλήνας.
  • ρε- κατάλογος
  • μεγάλο- Σύνδεσμος;
  • μικρό- πρίζα;
  • ντο- συμβολικό.

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

Μέθοδος 1: Αναζήτηση κατά όνομα (επιλογή -όνομα)

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

Αναζήτηση κατά επέκταση

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

βρείτε /home/user/Dropbox -όνομα "*.xlsx" -εκτύπωση

Από τη σύνταξή του μπορούμε να πούμε ότι η αναζήτηση πραγματοποιείται στον κατάλογο "Dropbox" ("/home/user/Dropbox"), και το επιθυμητό αντικείμενο πρέπει να έχει την επέκταση ".xlsx". Ένας αστερίσκος υποδεικνύει ότι η αναζήτηση θα πραγματοποιηθεί σε όλα τα αρχεία αυτής της επέκτασης, χωρίς να ληφθεί υπόψη το όνομά τους. "-Τυπώνω"υποδεικνύει ότι θα εμφανιστούν τα αποτελέσματα αναζήτησης.

Αναζήτηση κατά όνομα αρχείου

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

βρείτε ~ -όνομα "lumpics*" -εκτύπωση

Όπως μπορείτε να δείτε, το σύμβολο που χρησιμοποιείται εδώ είναι «~» , που σημαίνει ότι η αναζήτηση θα πραγματοποιηθεί στον αρχικό κατάλογο. Μετά την επιλογή "-όνομα"υποδεικνύεται το όνομα του αρχείου που αναζητήθηκε ( "σβόλους*"). Ο αστερίσκος στο τέλος σημαίνει ότι η αναζήτηση θα γίνει μόνο ονομαστικά, χωρίς να λαμβάνεται υπόψη η επέκταση.

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

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

find / -name "*" -print

Κρίνοντας από το σύμβολο «/» που έρχεται αμέσως μετά την κύρια εντολή, η αναζήτηση θα πραγματοποιηθεί ξεκινώντας από τον ριζικό κατάλογο, δηλαδή σε ολόκληρο το σύστημα. Επόμενο, μέρος «*» σημαίνει ότι η αναζήτηση λέξης θα ξεκινά με ένα συγκεκριμένο γράμμα. Στην περίπτωσή μας από "σολ"πριν "μεγάλο".

Παρεμπιπτόντως, αν γνωρίζετε την επέκταση αρχείου, τότε μετά το σύμβολο «*» μπορείτε να το υποδείξετε. Για παράδειγμα, πρέπει να βρείτε το ίδιο αρχείο, αλλά γνωρίζετε ότι έχει την επέκταση ".odt". Στη συνέχεια, μπορείτε να χρησιμοποιήσετε αυτήν την εντολή:

find / -name "*.odt" -print

Μέθοδος 2: Αναζήτηση κατά λειτουργία πρόσβασης (επιλογή-perm)

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

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

εύρεση ~ -perm 775 -print

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

Μέθοδος 3: Αναζήτηση κατά χρήστη ή ομάδα (επιλογές - χρήστης και -ομάδα)

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

Βρείτε ένα αρχείο με το όνομα χρήστη του

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

βρείτε /home/user/Dropbox -user user -print

Σε αυτήν την εντολή καθορίσατε τον απαιτούμενο κατάλογο ( /home/user/Dropbox), έδειξε ότι πρέπει να αναζητήσετε ένα αρχείο που ανήκει στον χρήστη ( -χρήστης), και έδειξε σε ποιον χρήστη ανήκει αυτό το αρχείο ( χρήστης).

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

Η αναζήτηση ενός αρχείου που ανήκει σε μια συγκεκριμένη ομάδα είναι εξίσου εύκολη - απλά πρέπει να αντικαταστήσετε την επιλογή "-χρήστης"στην επιλογή "-ομάδα"και αναφέρετε το όνομα αυτής της ομάδας:

εύρεση / -ομάδα επισκέπτη -εκτύπωση

Δηλαδή, υποδείξατε ότι θέλετε να βρείτε ένα αρχείο στο σύστημα που ανήκει στην ομάδα "επισκέπτης". Η αναζήτηση θα πραγματοποιηθεί σε όλο το σύστημα, αυτό υποδεικνύεται από το σύμβολο «/» .

Μέθοδος 4: Αναζήτηση αρχείου με βάση τον τύπο του (επιλογή τύπου)

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

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

εύρεση ~ -τύπου β -εκτύπωση

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

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

βρείτε /home/user -type d -print

Μέθοδος 5: Αναζήτηση αρχείου κατά μέγεθος (επιλογή μεγέθους)

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

βρείτε /home/user/Dropbox -μέγεθος 120M -εκτύπωση

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

εύρεση / -μέγεθος 120M -εκτύπωση

Εάν γνωρίζετε το κατά προσέγγιση μέγεθος του αρχείου, τότε υπάρχει μια ειδική εντολή για αυτήν την περίπτωση. Πρέπει να εγγραφείτε "Τερματικό"το ίδιο πράγμα, απλά βάλτε ένα σημάδι πριν υποδείξετε το μέγεθος του αρχείου «-» (εάν πρέπει να βρείτε αρχεία μικρότερα από το καθορισμένο μέγεθος) ή «+» (αν το μέγεθος του αρχείου που αναζητάτε είναι μεγαλύτερο από το καθορισμένο μέγεθος). Ακολουθεί ένα παράδειγμα μιας τέτοιας εντολής:

βρείτε /home/user/Dropbox +100M -εκτύπωση

Μέθοδος 6: Εύρεση αρχείου κατά ημερομηνία τροποποίησης (επιλογή -mtime)

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

Ας πούμε στον φάκελο "Εικόνες"πρέπει να βρούμε αντικείμενα που έχουν υποστεί αλλαγές τις τελευταίες 15 ημέρες. Εδώ είναι τι πρέπει να γράψετε "Τερματικό":

βρείτε /home/user/Images -mtime -15 -print

Όπως μπορείτε να δείτε, αυτή η επιλογή εμφανίζει όχι μόνο αρχεία που έχουν αλλάξει κατά τη διάρκεια της καθορισμένης περιόδου, αλλά και φακέλους. Λειτουργεί επίσης προς την αντίθετη κατεύθυνση - μπορείτε να βρείτε αντικείμενα που άλλαξαν μετά την καθορισμένη ημερομηνία. Για να το κάνετε αυτό, πρέπει να εισαγάγετε το σύμβολο πριν από την ψηφιακή τιμή «+» :

εύρεση /home/user/Images -mtime +10 -print

GUI

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

Μέθοδος 1: Αναζήτηση μέσω του μενού συστήματος

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

Αυτό το άρθρο είναι απόσπασμα από το βιβλίο " Linux & Unix - προγραμματισμός στο Shell", Ντέιβιντ Τάνσλι.

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

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

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

βρείτε επιλογές εντολών.

Παραδείγματα χρήσης διαφόρων επιλογών της εντολής find.

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

Οι δυνατότητες της εντολής find είναι εκτεταμένες και η λίστα των προσφερόμενων επιλογών μεγάλη. Αυτό το κεφάλαιο περιγράφει τα πιο σημαντικά από αυτά. Η εντολή find μπορεί να αναζητήσει ακόμη και δίσκους NFS (Σύστημα αρχείων δικτύου- σύστημα αρχείων δικτύου), φυσικά, εάν έχετε τα κατάλληλα δικαιώματα. ΣΕ παρόμοιες περιπτώσειςη εντολή συνήθως εκτελείται σε Ιστορικό, γιατί η περιήγηση στο δέντρο καταλόγου είναι χρονοβόρα. Η γενική μορφή της εντολής find είναι:

εύρημα path_name -options

Οπου path_name- αυτός είναι ο κατάλογος από τον οποίο ξεκινά η αναζήτηση. Ο χαρακτήρας '.' χρησιμοποιείται για να υποδηλώσει τον τρέχοντα κατάλογο, ο χαρακτήρας / είναι ο ριζικός κατάλογος και ο χαρακτήρας "~" είναι αυτός που είναι αποθηκευμένος στη μεταβλητή. $HOMEαρχικός κατάλογος τρέχων χρήστης.

2.1. βρείτε επιλογές εντολών

Ας σταθούμε στην περιγραφή των κύριων επιλογών της εντολής find.

Όνομα Αναζήτηση για αρχεία των οποίων τα ονόματα ταιριάζουν με ένα δεδομένο μοτίβο

Εκτύπωση Γράφει τα πλήρη ονόματα των αρχείων που βρέθηκαν σε τυπική έξοδο

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

Prune Χρησιμοποιείται για να εμποδίσει την εντολή find να πραγματοποιήσει μια αναδρομική αναζήτηση σε ένα όνομα διαδρομής που έχει ήδη βρεθεί. Εάν έχει καθοριστεί η επιλογή -depth, η επιλογή -prune αγνοείται

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

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

Mtime -n +nΑναζήτηση για αρχεία των οποίων το περιεχόμενο έχει τροποποιηθεί λιγότερο από (-) ή περισσότερο από (+) nμέρες πριν; Υπάρχουν επίσης επιλογές -atime και -ctime, οι οποίες σας επιτρέπουν να αναζητήσετε αρχεία σύμφωνα με την ημερομηνία τελευταίας ανάγνωσης και την ημερομηνία τελευταίας αλλαγής των χαρακτηριστικών του αρχείου

Nogroup Αναζήτηση για αρχεία που ανήκουν σε μια ανύπαρκτη ομάδα για την οποία, με άλλα λόγια, δεν υπάρχει καταχώρηση στο αρχείο /etc/groups

Nouser Βρίσκει αρχεία που ανήκουν σε ανύπαρκτο χρήστη, για τα οποία, με άλλα λόγια, δεν υπάρχει καταχώρηση στο αρχείο /etc/passwd

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

Τύπος Αναζήτηση για αρχεία συγκεκριμένου τύπου, και συγκεκριμένα: σι- ειδικό αρχείο μπλοκ. ρε- κατάλογος Με- ειδικό αρχείο συμβόλων. Π- ονομαζόμενος σωλήνας. μεγάλο- συμβολικός σύνδεσμος μικρό- πρίζα; φά- κανονικό αρχείο

Μέγεθος n Αναζητήστε αρχεία με μέγεθος nμονάδες? Είναι δυνατές οι ακόλουθες μονάδες μέτρησης: σι- μέγεθος μπλοκ 512 byte (προεπιλεγμένη ρύθμιση). Με- byte; κ- kilobyte (1024 byte) w- λέξη δύο byte

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

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

Mount Αναζητά αρχεία μόνο στο τρέχον σύστημα αρχείων. Το ισοδύναμο αυτής της επιλογής είναι η επιλογή -xdev -exec Εκτέλεση εντολής διερμηνέα κέλυφοςγια όλα τα αρχεία που εντοπίστηκαν. Οι εκτελεσμένες εντολές έχουν την εντολή format ( ) ;

(σημειώστε το κενό μεταξύ των χαρακτήρων () και 😉

Ok Παρόμοιο με το -exec, αλλά εμφανίζει μια προτροπή πριν από την εκτέλεση της εντολής

2.1.1. Επιλογή -όνομα

Όταν εργάζεστε με την εντολή find, η επιλογή -name χρησιμοποιείται συχνότερα. Πρέπει να ακολουθείται από ένα μοτίβο ονόματος αρχείου σε εισαγωγικά.
Εάν πρέπει να βρείτε όλα τα αρχεία με την επέκταση . κείμενοστον αρχικό σας κατάλογο, καθορίστε το σύμβολο ως όνομα διαδρομής. Το όνομα του αρχικού καταλόγου θα εξαχθεί από τη μεταβλητή $HOME.

$ find ~ -name "*.txt" -print

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

$εύρεση. -όνομα "*.txt" -εκτύπωση

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

$εύρεση. -όνομα "*" -εκτύπωση

Βρείτε στον κατάλογο /και τα λοιπάαρχεία των οποίων τα ονόματα αρχίζουν με τους χαρακτήρες " πλήθος", επιτρέπει η εντολή

$ find /etc -name "hoat*" -print

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

$ find ~ -name "*.txt" -print -o -name ".*" -print

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

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

$ find / -name "*" -print

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

$εύρεση. -όνομα » [a-x] [a-x] . txt" -εκτύπωση

2.1.2. Επιλογή -περμανάντ

Η επιλογή -perm σάς επιτρέπει να βρείτε αρχεία με καθορισμένη λειτουργία πρόσβασης. Για παράδειγμα, για αναζήτηση αρχείων με λειτουργία πρόσβασης 755 (οποιοσδήποτε χρήστης μπορεί να τα δει και να τα εκτελέσει, αλλά μόνο ο κάτοχος έχει το δικαίωμα να γράψει) θα πρέπει να χρησιμοποιήσετε την ακόλουθη εντολή:

$εύρεση. -perm 755 -εκτύπωση

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

$εύρεση. -perm -007 -εκτύπωση

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

2.1.3. Επιλογή - κλαδέψτε

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

Η ακόλουθη εντολή αναζητά τον τρέχοντα κατάλογο χωρίς να μεταβεί σε έναν υποκατάλογο /αποθήκη:

$εύρεση. -όνομα "bin" -κλαδέψτε -ο -εκτύπωση

2.1.4. Επιλογές -user και --nouser

Για να βρείτε αρχεία που ανήκουν σε έναν συγκεκριμένο χρήστη, καθορίστε την επιλογή -user στην εντολή εύρεσης, ακολουθούμενη από το όνομα χρήστη. Για παράδειγμα, αναζήτηση στον αρχικό κατάλογο για αρχεία που ανήκουν στον χρήστη dave, εκτελείται χρησιμοποιώντας την ακόλουθη εντολή:

$ find ~ -user dave -print

Αναζήτηση στον κατάλογο /και τα λοιπάαρχεία που ανήκουν στον χρήστη uucp, εκτελεί την ακόλουθη εντολή:

$ find /etc -uaer uucp -print

Χάρη στην επιλογή -nouser, είναι δυνατή η αναζήτηση αρχείων που ανήκουν σε ανύπαρκτους χρήστες. Κατά τη χρήση του, γίνεται αναζήτηση για αρχεία των οποίων οι κάτοχοι δεν έχουν καταχώρηση στο αρχείο /etc/passwd. Δεν χρειάζεται να καθορίσετε ένα συγκεκριμένο όνομα χρήστη, η εντολή find κάνει όλη την απαραίτητη εργασία μόνη της. Για να βρείτε όλα τα αρχεία που ανήκουν σε ανύπαρκτους χρήστες και βρίσκονται σε έναν κατάλογο /Σπίτι, εισάγετε αυτήν την εντολή:

$ εύρεση /home -nouaer -print

2.1.5. Επιλογές -group και -nogroup

Οι επιλογές -group και -nogroup είναι παρόμοιες με τις -user-nouser/εφαρμογές όλων των αρχείων που ανήκουν σε χρήστες της ομάδας πράξεις:

$ εύρεση /arra -group accta -print

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

$ find / -nogroup -print

2.1.6. Επιλογή -mtime

Η επιλογή -mtime θα πρέπει να χρησιμοποιείται κατά την αναζήτηση αρχείων στα οποία έγινε πρόσβαση Χμέρες πριν. Εάν το όρισμα επιλογής παρέχεται με σύμβολο '-', θα επιλεγούν αρχεία που δεν έχουν πρόσβαση για κάποιο χρονικό διάστημα. Χημέρες. Ένα όρισμα με σύμβολο «+» οδηγεί στο αντίθετο αποτέλεσμα - επιλέγονται αρχεία στα οποία έγινε πρόσβαση στο τελευταίο Χημέρες.

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

$ εύρεση / -mtime -5 -εκτύπωση

Παρακάτω είναι η εντολή που πραγματοποιεί αναζήτηση στον κατάλογο /var/admαρχεία που έχουν ενημερωθεί τις τελευταίες τρεις ημέρες:

$ find /var/adm -mtime +3 -print

2.1.7. - νεότερη επιλογή

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

Νεότερα παλιό_αρχείο! -νεότερα νέο αρχείο

Σημάδι ' ! « είναι ο λογικός τελεστής άρνησης. Σημαίνει: βρείτε αρχεία που είναι νεότερα από παλιό_αρχείο, αλλά παλαιότερο από νέο αρχείο.

Ας υποθέσουμε ότι έχουμε δύο αρχεία που ενημερώθηκαν με διαφορά δύο ημερών μεταξύ τους:

Rwxr-xr-x 1 root root 92 Apr 18 11:18 age.awk
-rwxrwxr-x 1 root root 1054 Apr 20 19:37 belts.awk

Για να βρείτε όλα τα αρχεία που ενημερώθηκαν αργότερα από ηλικία.awk, αλλά νωρίτερα από ζώνες.awk, εκτελέστε την ακόλουθη εντολή (η χρήση της επιλογής -exec περιγράφεται παρακάτω):

$εύρεση. -new age.awk ! -νεότερα belts.awk -exec Είναι -1 () ;
-rwxrwxr-x 1 root root 62 Απρ 18 11:32 ./who.awk
-rwxrwxr-x 1 root root 49 Απρ 18 12:05 ./group.awk
-rw-r-r- 1 root root 201 Απριλίου 20 19:30 ./grade2.txt
-rwxrwxr-x 1 root root 1054 Απρ 20 19:37 ./belts.awk

Τι γίνεται όμως αν πρέπει να βρείτε αρχεία που δημιουργήθηκαν, ας πούμε, τις τελευταίες δύο ώρες, αλλά δεν έχετε ένα αρχείο που δημιουργήθηκε ακριβώς πριν από δύο ώρες για να συγκρίνετε; Δημιουργήστε ένα τέτοιο αρχείο! Η εντολή touch -t προορίζεται για αυτόν τον σκοπό, η οποία δημιουργεί ένα αρχείο με δεδομένη χρονική σήμανση στη μορφή MMDChhmm (μήνας-ημέρα-ώρες-λεπτά). Για παράδειγμα:

$ touch -t 05042140 dstamp
$ls -1 dstamp
-rw-r-r- 1 dave admin 0 4 Μαΐου 21:40 dstamp

Το αποτέλεσμα θα είναι ένα αρχείο του οποίου η ημερομηνία δημιουργίας είναι 4 Μαΐου, ώρα δημιουργίας -21:40 (υποθέτοντας ότι τρέχουσα ώρα- 23:40). Τώρα μπορείτε να χρησιμοποιήσετε την εντολή find με την επιλογή -νεότερο για να βρείτε όλα τα αρχεία που έχουν ενημερωθεί τις τελευταίες δύο ώρες:

$εύρεση. -νέο datamp -εκτύπωση

2.1.8. Επιλογή -τύπος

OS UNIXΚαι Linuxυποστήριξη Διάφοροι τύποιαρχεία. Αναζήτηση αρχείων ο σωστός τύποςγίνεται χρησιμοποιώντας την εντολή, βρείτε με την επιλογή -type. Για παράδειγμα, για να βρείτε όλους τους υποκαταλόγους σε έναν κατάλογο /και τα λοιπάχρησιμοποιήστε αυτήν την εντολή:

$ find /etc -type d -print

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

$εύρεση. ! -τύπος δ -εκτύπωση

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

$ find /etc -type 1 -print

2.1.9. Επιλογή -Μέγεθος

Κατά τη διαδικασία αναζήτησης, το μέγεθος του αρχείου καθορίζεται χρησιμοποιώντας την επιλογή -size Ν, Οπου Ν- μέγεθος αρχείου σε μπλοκ 512 byte. Τα πιθανά επιχειρήματα έχουν τις ακόλουθες έννοιες: - αναζήτηση για αρχεία των οποίων το μέγεθος είναι μεγαλύτερο από ένα καθορισμένο, - λιγότερο από το καθορισμένο, Ν- ίσο με το δεδομένο. Εάν το όρισμα προσδιορίζει επιπλέον το σύμβολο Με, τότε το μέγεθος θεωρείται καθορισμένο σε byte, όχι σε μπλοκ, και αν ο χαρακτήρας κ- σε kilobyte. Για να αναζητήσετε αρχεία των οποίων το μέγεθος υπερβαίνει το 1 MB, χρησιμοποιήστε την εντολή

$εύρεση. -aize -flOOOk -εκτύπωση

Η ακόλουθη εντολή πραγματοποιεί αναζήτηση στον κατάλογο /home/apacheαρχεία των οποίων το μέγεθος είναι ακριβώς 100 byte:

$ find /home/apache -six 100s -print

Η ακόλουθη εντολή σάς επιτρέπει να αναζητήσετε αρχεία μεγαλύτερα από 10 μπλοκ (5120 byte):

$εύρεση. -μέγεθος +10 -εκτύπωση

2.1.10. Επιλογή Επιλογή - βάθος

Η επιλογή -depth σάς επιτρέπει να οργανώσετε την αναζήτηση με τέτοιο τρόπο ώστε όλα τα αρχεία του τρέχοντος καταλόγου (και αναδρομικά όλοι οι υποκατάλογοι του) να ελέγχονται πρώτα και μόνο στο τέλος - η καταχώρηση του ίδιου του καταλόγου. Αυτή η επιλογή χρησιμοποιείται ευρέως κατά τη δημιουργία μιας λίστας αρχείων που θα αρχειοθετηθούν σε κασέτα χρησιμοποιώντας την εντολή cpio ή tar, καθώς σε αυτήν την περίπτωση η εικόνα του καταλόγου γράφεται πρώτα στην κασέτα και μόνο τότε ορίζονται τα δικαιώματα πρόσβασης σε αυτήν. Αυτό επιτρέπει στο χρήστη να αρχειοθετήσει τους καταλόγους για τους οποίους δεν έχει άδεια εγγραφής.
Η ακόλουθη εντολή παραθέτει όλα τα αρχεία και τους υποκαταλόγους του τρέχοντος καταλόγου:

$εύρεση. -όνομα "*" -εκτύπωση -ο -όνομα ".*" -εκτύπωση -βάθος

Δείτε πώς μπορεί να είναι τα αποτελέσματα της δουλειάς της:

./.Xdefaults ./.bash_logout ./.bash_profile ./.bashrc ./.bash_nistory ./file ./Dir/filel ./Dir/file2 ./Dir/file3 ./Dir/Subdir/file4 ./Dir/Sub ./Σκην

2.1.11. - επιλογή τοποθέτησης

Αναζητά αρχεία μόνο στο τρέχον σύστημα αρχείων, εξαιρουμένων άλλων προσαρτημένων συστήματα αρχείων, παρέχει την επιλογή -mount στην εντολή find. Το παρακάτω παράδειγμα αναζητά όλα τα αρχεία με την επέκταση .xcστο τρέχον διαμέρισμα δίσκου:

$ find / -name "*.XC" -mount -print

2.1.12. Αναζήτηση αρχείων και στη συνέχεια αρχειοθέτησή τους χρησιμοποιώντας την εντολή cpio

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

Δείτε πώς μπορείτε να εγγράψετε τα περιεχόμενα του καταλόγου σε ταινία /και τα λοιπά, /ΣπίτιΚαι /εφαρμογές:

$cd/
$ βρείτε κλπ home appa -βάθος -εκτύπωση | cpio -ov > dev/rmtO

Επιλογή Η εντολή cpio καθορίζει τη λειτουργία εγγραφής αρχείων σε ταινία. Επιλογή -v (πολύλογος- προφορική λειτουργία) είναι μια οδηγία στην εντολή cpio για την αναφορά κάθε αρχείου που υποβάλλεται σε επεξεργασία.

Λάβετε υπόψη ότι τα ονόματα των καταλόγων δεν έχουν αρχικό χαρακτήρα '/'. Με αυτόν τον τρόπο, ορίζονται τα σχετικά ονόματα διαδρομής των αρχειοθετημένων καταλόγων, τα οποία, κατά την ανάγνωση αρχείων από το αρχείο, θα τους επιτρέψουν να αναδημιουργηθούν σε οποιοδήποτε μέρος λειτουργικό σύστημα, και όχι μόνο στον ριζικό κατάλογο.

2.1.13. Επιλογές -exec και -ok

Ας πούμε ότι βρήκες απαραίτητα αρχείακαι θέλουν να εκτελέσουν ορισμένες ενέργειες σε σχέση με αυτές. Σε αυτήν την περίπτωση, θα χρειαστείτε την επιλογή -exec (ορισμένα συστήματα επιτρέπουν μόνο τις εντολές ls ή ls -1 να εκτελούνται με την επιλογή -exec). Πολλοί χρήστες χρησιμοποιούν την επιλογή -exec για να βρουν παλιά αρχεία προς διαγραφή. Συνιστώ να εκτελέσετε το ls αντί για το rm για να βεβαιωθείτε ότι η εντολή find βρίσκει τα αρχεία που θέλετε να αφαιρέσετε.

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

$εύρεση. -τύπος f -exec Xa -1 () ;
-rwxr-xr-x 10 root wheel 1222 Jan 4 1993 ./sbin/C80
-rwxr-xr-x 10 root wheel 1222 Jan 4 1993 ./sbin/Normal
-rwxr-xr-x 10 root wheel 1222 Jan 4 1993 ./sbin/Rewid

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

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

$ find /log" -type f -mtime +5 -exec rm () ;

Θα πρέπει να είστε προσεκτικοί όταν μετακινείτε ή διαγράφετε αρχεία. Χρησιμοποιήστε την επιλογή -ok, η οποία σας επιτρέπει να εκτελέσετε τις εντολές mv και rm μέσα λειτουργία ασφαλείας(πριν την επεξεργασία του επόμενου αρχείου, εκδίδεται αίτημα επιβεβαίωσης). Στο παρακάτω παράδειγμα, η εντολή find βρίσκει αρχεία με την επέκταση .κούτσουρο, και εάν ένα αρχείο δημιουργήθηκε πριν από περισσότερες από πέντε ημέρες, το διαγράφει, αλλά πρώτα σας ζητά να επιβεβαιώσετε αυτήν τη λειτουργία:

$εύρεση. -name "*.LOG" -mtime +5 -ok rm () ;
< rm … ./nets.LOG >? στο

Για να διαγράψετε ένα αρχείο, εισάγετε στοκαι για να αποτραπεί αυτή η ενέργεια - n.

2.1.14. Πρόσθετα παραδείγματα χρήσης της εντολής find

Ας δούμε μερικά ακόμη παραδείγματα που επεξηγούν τη χρήση της εντολής find. Παρακάτω είναι πώς μπορείτε να βρείτε όλα τα αρχεία στον αρχικό σας κατάλογο:

$ βρείτε ~ -εκτύπωση

Βρείτε όλα τα αρχεία για τα οποία έχει οριστεί το bit SUID, η ακόλουθη εντολή επιτρέπει:

$εύρεση. -τύπος f -perm +4000 -εκτύπωση

Για να λάβετε μια λίστα με κενά αρχεία, χρησιμοποιήστε αυτήν την εντολή:

$ find / -type f -size 0 -exec Is -1 () ;

Ένα από τα συστήματά μου δημιουργεί ένα αρχείο καταγραφής ελέγχου συστήματος κάθε μέρα. Στο όνομα του αρχείου καταγραφής προστίθεται ένας αριθμός, ο οποίος σας επιτρέπει να προσδιορίσετε αμέσως ποιο αρχείο δημιουργήθηκε αργότερα και ποιο νωρίτερα. Για παράδειγμα, εκδόσεις αρχείων admin.logαριθμημένα διαδοχικά: admin.log.001, admin.log.002και τα λοιπά. Παρακάτω είναι η εντολή εύρεσης που αφαιρεί όλα τα αρχεία admin.logδημιουργήθηκε πριν από περισσότερες από επτά ημέρες:

$ find /logs -name ‘admin.log.1 -atima +7 exec rm () ;

2.2. ομάδα xargs

Με την επιλογή -exec, η εντολή find περνά όλα τα αρχεία που βρέθηκαν στην καθορισμένη εντολή, τα οποία υποβάλλονται σε επεξεργασία ταυτόχρονα. Δυστυχώς, σε ορισμένα συστήματα το μήκος της γραμμής εντολών είναι περιορισμένο, επομένως κατά την επεξεργασία μεγάλου αριθμού αρχείων ενδέχεται να λάβετε ένα μήνυμα σφάλματος που συνήθως λέει: "Πάρα πολλά επιχειρήματα"(πάρα πολλά επιχειρήματα) ή "Πολύ μεγάλα επιχειρήματα"(πολύ μεγάλη λίστα επιχειρημάτων). Σε αυτήν την περίπτωση, η εντολή xargs έρχεται στη διάσωση. Επεξεργάζεται αρχεία που λαμβάνονται από την εντολή εύρεσης σε κομμάτια και όχι όλα ταυτόχρονα.

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

$ find / -type f -print I xarge.file
/etc/protocols: Αγγλικό κείμενο /etc/securetty: κείμενο ASCII

Ακολουθεί ένα παράδειγμα που δείχνει την αναζήτηση για αρχεία ένδειξης σφαλμάτων των οποίων τα ονόματα τοποθετεί η εντολή echo σε ένα αρχείο /tmp/core.log.

$ find / -name core -print | xarge echo > /tmp/core.log

Στο παρακάτω παράδειγμα, στον κατάλογο /apps/auditαναζητά όλα τα αρχεία στα οποία άλλοι χρήστες έχουν πλήρη πρόσβαση. εντολή chmodαφαιρεί την άδεια εγγραφής για αυτούς:

$ find /appe/audit -perm -7 -print | xarge chmod o-w

Η στρογγυλοποίηση της λίστας μας είναι ένα παράδειγμα στο οποίο η εντολή grep αναζητά αρχεία που περιέχουν τη λέξη " συσκευή«:

$ find / -type f -print | xarge grep "συσκευή"

2.3. συμπέρασμα

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

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

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

Πώς να χρησιμοποιήσετε την εντολή find

Με απλά λόγια, η βασική σύνταξη για την εντολή find είναι η εξής:

Εύρεση ονόματος αρχείου /path parameters

Ας καταλάβουμε τις δυνατότητες της ομάδας

Αναζητήστε ένα αρχείο με το όνομα

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

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

  • όνομα - αναζήτηση ονόματος αρχείου με διάκριση πεζών-κεφαλαίων
  • iname - αναζήτηση ονόματος αρχείου χωρίς διάκριση πεζών-κεφαλαίων

Πρέπει να θυμόμαστε ότι στο Linux η περίπτωση του ονόματος αρχείου είναι σημαντική και αν χρειαστεί να βρείτε, για παράδειγμα, το αρχείο Ubuntu.txt, τότε η ακόλουθη εντολή δεν θα δώσει κανένα αποτέλεσμα:

Εύρεση / -name ubuntu.txt

Αλλά μπορείτε να χρησιμοποιήσετε την εντολή iname και να πραγματοποιήσετε αναζήτηση χωρίς διάκριση πεζών-κεφαλαίων:

Εύρεση / -iname ubuntu.txt

Αναζήτηση ανά τύπο

Η εντολή find σάς επιτρέπει να αναζητάτε περισσότερα από απλά αρχεία. Ακολουθούν οι τύποι υποστήριξης αναζήτησης λαβών:

  • f - κανονικό αρχείο
  • δ - κατάλογος
  • l - συμβολικός σύνδεσμος
  • γ - συσκευή χαρακτήρων
  • β - συσκευή μπλοκ

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

Εύρεση ~ -type d -name config*

Εξαγωγή αποτελεσμάτων αναζήτησης σε αρχείο

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

Βρείτε το /etc -type f -name "*.conf" > conf_search

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

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

Εύρεση / -μέγεθος +1000M

Μπορούν να χρησιμοποιηθούν οι ακόλουθες συντομογραφίες μεγέθους:

  • γ - byte
  • k - kilobytes
  • M - megabytes
  • G - gigabytes
  • b - μπλοκ 512 byte

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