Χρησιμοποιώντας την εντολή Linux και Unix: βρείτε

Η εντολή εντοπισμού εντολών Linux και Unix εκτελεί αναζήτηση αρχείων σε ιεραρχία καταλόγων.

Σύνταξη για εντολή εντολής:

βρείτε [διαδρομή ...] [έκφραση]

Περιγραφή

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

Το πρώτο επιχείρημα που αρχίζει με:

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

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

Εκφράσεις

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

Επιλογές

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

-ημέρα εκκίνησης Μετρήστε τους χρόνους (για -amin, -time, -cmin, -time, -mmin και -time ) από την αρχή του σήμερα και όχι από πριν από 24 ώρες.
-βάθος Επεξεργαστείτε τα περιεχόμενα κάθε καταλόγου πριν από τον ίδιο τον κατάλογο.
-ακολουθηστε Αποκτήστε συμβολικούς δεσμούς. Υποδηλώνει -noleaf .
-help ή --help Εκτυπώστε μια περίληψη της χρήσης γραμμής εντολών για εύρεση και έξοδο.
-maxdepth [αριθμός] Κατεβείτε στον περισσότερο αριθμό επιπέδων (μη αρνητικός ακέραιος αριθμός) των καταλόγων κάτω από τα επιχειρήματα της γραμμής εντολών. Η έκφραση -maxdepth 0 σημαίνει μόνο την εφαρμογή των δοκιμών και των ενεργειών στα επιχειρήματα της γραμμής εντολών.
-αριθμός [αριθμός] Μην εφαρμόζετε δοκιμές ή ενέργειες σε επίπεδα μικρότερα από τον αριθμό (ένας μη αρνητικός ακέραιος αριθμός). Η έκφραση " mindepth 1" σημαίνει επεξεργασία όλων των αρχείων εκτός από τα επιχειρήματα της γραμμής εντολών.
-βουνό Μην κατεβάζετε καταλόγους σε άλλα συστήματα αρχείων. Ένα εναλλακτικό όνομα για το -xdev , για συμβατότητα με άλλες εκδόσεις του find .
-ναλευκό Μην βελτιστοποιείτε, αν υποθέσετε ότι οι κατάλογοι περιέχουν 2 λιγότερους υποκαταλόγους από τον αριθμό τους. *
-version ή -version Εκτυπώστε τον αριθμό έκδοσης εύρεσης και την έξοδο.
-xdev Μην κατεβάζετε καταλόγους σε άλλα συστήματα αρχείων.

* Αυτή η επιλογή απαιτείται όταν αναζητάτε συστήματα αρχείων που δεν ακολουθούν τη σύμβαση Unix directory-link, όπως συστήματα αρχείων CD-ROM ή MS-DOS ή σημεία προσάρτησης τόμου AFS. Κάθε κατάλογος σε ένα κανονικό σύστημα αρχείων Unix έχει τουλάχιστον δύο σκληρούς συνδέσμους: το όνομά του και το δικό του . (περίοδος). Επιπλέον, οι υποκαταλόγοι (αν υπάρχουν) έχουν κάθε μια .. καταχώρηση συνδεδεμένη με αυτόν τον κατάλογο.

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

Δοκιμές

Τα αριθμητικά επιχειρήματα μπορούν να οριστούν ως:

+ n Για μεγαλύτερο από n.
Για λιγότερο από n.
n Για ακριβώς n.
-αμίνη η Η πρόσβαση στο αρχείο έγινε τελευταία λεπτά πριν.
-ανευθυντής [αρχείο] Το αρχείο έχει προσπελασθεί τελευταία φορά πιο πρόσφατα από ό, τι τροποποιήθηκε το αρχείο . -αντιθέμενος επηρεάζεται από -ακολουθείται μόνο εάν -το επόμενο βγήκε πριν -άνε στην γραμμή εντολών.
-αριθμός n Αρχείο προστέθηκε τελευταία φορά n * 24 ώρες πριν.
-cmin n Η κατάσταση του αρχείου άλλαξε τελευταία τελευταία λεπτά.
-cnewer [αρχείο] Η κατάσταση του αρχείου τροποποιήθηκε τελευταία τελευταία από ό, τι τροποποιήθηκε το αρχείο.
- το cnewer επηρεάζεται από το -follow μόνο εάν- ακολουθεί έρχεται πριν από το -newer στη γραμμή εντολών.
-χρόνου n Η κατάσταση του αρχείου τροποποιήθηκε τελευταία n * 24 ώρες πριν.
-αδειάζω Το αρχείο είναι κενό και είναι είτε ένα συνηθισμένο αρχείο είτε ένας κατάλογος.
-ψευδής Πάντα ψευδής.
-fstype [τύπου] Το αρχείο βρίσκεται σε ένα σύστημα αρχείων καθορισμένου τύπου. Οι έγκυροι τύποι συστημάτων αρχείων διαφέρουν μεταξύ των διαφόρων εκδόσεων του Unix. μια ελλιπής λίστα τύπων αρχείων συστήματος που είναι αποδεκτές σε κάποια έκδοση του Unix ή άλλου είναι: ufs, 4.2, 4.3, nfs, tmp, mfs, S51K, S52K. Μπορείτε να χρησιμοποιήσετε το -printf με την οδηγία% F για να δείτε τους τύπους των συστημάτων αρχείων σας.
-gid n Το αναγνωριστικό αριθμητικής ομάδας αρχείου είναι n .
-group [gname] Το αρχείο ανήκει στην ομάδα gname (επιτρέπεται η αριθμητική ομάδα ομάδας).
-όνομα [πρότυπο] Όπως και στο -iname, αλλά ο αγώνας δεν έχει διάκριση πεζών-κεφαλαίων.
-ονομασία [μοτίβο] Όπως -name , αλλά ο αγώνας δεν είναι ευαίσθητος σε περίπτωση. Για παράδειγμα, τα πρότυπα για * και F; να ταιριάζει με τα ονόματα αρχείων Foo , FOO , foo , fOo κ.λπ.
-inum n Το αρχείο έχει inode αριθμό n .
-ipath [πρότυπο] Όπως και το μονοπάτι , αλλά ο αγώνας δεν είναι ευαίσθητος σε περίπτωση.
-υγεξία [πρότυπο] Όπως το -regex, αλλά ο αγώνας δεν είναι ευαίσθητος στις πεζά.
-links n Το αρχείο έχει n συνδέσμους.
-πληκτρολογήστε [μοτίβο] Το αρχείο είναι ένας συμβολικός σύνδεσμος του οποίου το περιεχόμενο ταιριάζει με το πρότυπο κελύφους Οι μεταχαρακτήρες δεν θεραπεύουν / ή . ειδικώς.
-mmin n Τα δεδομένα του αρχείου τροποποιήθηκαν τελευταία φορά πριν από λίγα λεπτά.
-mtime n Τα δεδομένα του αρχείου τροποποιήθηκαν τελευταία n * 24 ώρες πριν.
-name [μοτίβο] Η βάση του ονόματος αρχείου (η διαδρομή με τους καταργούμενους καταλόγους που έχουν αφαιρεθεί) ταιριάζει με το σχέδιο κελύφους. Τα metacharacters ( * , ? , Και [] ) δεν ταιριάζουν με a . στην αρχή του ονόματος βάσης. Για να αγνοήσετε έναν κατάλογο και τα αρχεία που βρίσκονται κάτω από αυτό, χρησιμοποιήστε το -prune . δείτε ένα παράδειγμα στην περιγραφή του -διαδρομή .
-newer [αρχείο] Το αρχείο τροποποιήθηκε πιο πρόσφατα από το αρχείο . Η έκφραση -newer επηρεάζεται από το -follow μόνο αν -το επόμενο έρχεται πριν -newer στη γραμμή εντολών.
-νερό Κανένας χρήστης δεν αντιστοιχεί στο αριθμητικό αναγνωριστικό χρήστη του αρχείου.
-μόνωμα Καμία ομάδα δεν αντιστοιχεί στην αναγνωριστική αριθμητική ομάδα του αρχείου.
-διαδρομή [πρότυπο] Το όνομα αρχείου ταιριάζει με το πρότυπο μοτίβου κελύφους Οι μεταχαρακτήρες δεν θεραπεύουν / ή . ειδικώς; για παράδειγμα, βρείτε. -path './sr*sc θα εκτυπώσει μια καταχώρηση για έναν κατάλογο που ονομάζεται ./src/misc (αν υπάρχει). Για να αγνοήσετε ένα ολόκληρο δέντρο καταλόγου, χρησιμοποιήστε -prune αντί να ελέγξετε κάθε αρχείο στο δέντρο. Για παράδειγμα, για να παραλείψετε τον κατάλογο src / emacs και όλα τα αρχεία και τους καταλόγους κάτω από αυτό, και να εκτυπώσετε τα ονόματα των άλλων αρχείων που βρέθηκαν, κάντε κάτι σαν αυτό: βρείτε. -διαδρομή "./src/emacs" -prune -o -print
-perm [mode] Τα bits permission του αρχείου είναι ακριβώς [mode] (οκταδικό ή συμβολικό). Οι συμβολικές λειτουργίες χρησιμοποιούν τον τρόπο λειτουργίας 0 ως σημείο αναχώρησης.
-perm-mode Όλα τα bits permission [mode] έχουν οριστεί για το αρχείο.
-perm + λειτουργία Οποιοδήποτε από τα bits permission [mode] έχει οριστεί για το αρχείο.
-regex [μοτίβο] Το όνομα αρχείου ταιριάζει με το πρότυπο κανονικής έκφρασης Αυτό είναι ένας αγώνας σε ολόκληρο το μονοπάτι, όχι μια αναζήτηση. Για παράδειγμα, για να ταιριάζει με ένα αρχείο με όνομα ./fubar3, μπορείτε να χρησιμοποιήσετε τη γραμμή κανονικής έκφρασης . *. ή . * β. * 3 , αλλά όχι β. * r3 .
-size n [bckw] Το αρχείο χρησιμοποιεί n μονάδες χώρου. Οι μονάδες είναι από 512 byte μπλοκ από προεπιλογή ή εάν το b ακολουθεί το n , τα byte αν ακολουθεί το n , kilobytes εάν το k ακολουθεί το n ή 2 byte λέξεις αν w ακολουθεί το n . Το μέγεθος δεν μετράει έμμεσα μπλοκ, αλλά μετράει τα μπλοκ σε αραιά αρχεία που δεν έχουν κατανεμηθεί.
-αληθής Πάντα αληθινός.
-τύπος c Το αρχείο είναι τύπου c :
σι Αποκλεισμός (buffer) ειδικά
ντο Χαρακτήρας (χωρίς προστασία) ειδικά
ρε Ευρετήριο
Π Ονομασμένος σωλήνας (FIFO)
φά Κανονικό αρχείο
μεγάλο Συμβολική σύνδεση
μικρό Πρίζα
ρε πόρτα (Solaris)
-όχι n Το αριθμητικό αναγνωριστικό χρήστη του αρχείου είναι n .
-χρησιμοποιήθηκε n Το αρχείο έγινε τελευταία φορά n ημέρες μετά την τελευταία αλλαγή της κατάστασής του.
-χρησιμοποιήστε τον χρήστη Το αρχείο ανήκει στον χρήστη uname (επιτρέπεται αριθμητική ταυτότητα χρήστη).
-Χ τύπος c Το ίδιο με τον τύπο, εκτός αν το αρχείο είναι συμβολική σύνδεση. Για συμβολικούς συνδέσμους: αν -δεν έχει δοθεί, αληθές αν το αρχείο είναι ένας σύνδεσμος σε ένα αρχείο τύπου c . if - έχει δοθεί, αληθής αν c είναι l. Με άλλα λόγια, για συμβολικούς δεσμούς,
-xtype ελέγχει τον τύπο του αρχείου που ο τύπος δεν ελέγχει.

Ενέργειες

-exec εντολή ;

Εκτελέστε εντολή ; true αν η κατάσταση 0 επιστραφεί. Όλα τα επόμενα επιχειρήματα που θα βρεθούν θεωρούνται ως επιχειρήματα στην εντολή μέχρι ότου ένα όρισμα που αποτελείται από `; ' αντιμετωπίζεται. Η συμβολοσειρά `{} 'αντικαθίσταται από το τρέχον όνομα του αρχείου που επεξεργάζεται παντού που εμφανίζεται στα επιχειρήματα στην εντολή, όχι μόνο σε όρια όπου είναι μόνος, όπως σε ορισμένες εκδόσεις του find . Και οι δύο αυτές κατασκευές ίσως χρειαστούν να διαφύγουν (με ένα `\ ') ή να αναγραφούν για να τους προστατεύσουν από την επέκταση από το κέλυφος. Η εντολή εκτελείται στον κατάλογο εκκίνησης.

-fls αρχείο

Αληθής; όπως -ls, αλλά γράψτε σε αρχείο όπως -fprint.

-fprint αρχείο

Αληθής; εκτυπώστε το πλήρες όνομα αρχείου σε αρχείο αρχείου . Αν το αρχείο δεν υπάρχει όταν εκτελείται η εύρεση , δημιουργείται. αν υπάρχει, είναι περικομμένη. Τα ονόματα αρχείων `` / dev / stdout '' και `` / dev / stderr '' χειρίζονται ειδικά. αναφέρονται στην τυπική έξοδο και την τυπική έξοδο σφάλματος, αντίστοιχα.

-fprint0 αρχείο

Αληθής; όπως -print0, αλλά γράψτε σε αρχείο όπως -fprint.

-fprintf μορφή αρχείου

Αληθής; όπως -printf, αλλά γράψτε σε αρχείο όπως -fprint.

-ok εντολή ;

Όπως το -exec, αλλά ζητήστε πρώτα τον χρήστη (στην τυπική είσοδο). αν η απάντηση δεν ξεκινάει με `y 'ή' Y ', μην εκτελέσετε την εντολή και επιστρέψτε false.

-Τυπώνω

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

-print0

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

-printf

Αληθής; εκτυπώστε τη μορφή στην τυποποιημένη έξοδο, ερμηνεύοντας τις οδηγίες \ "escapes και`% '. Τα πλάτη πεδίων και οι ακρίβειες μπορούν να καθοριστούν όπως και στη λειτουργία `printf 'C. Σε αντίθεση με το -print, -printf δεν προσθέτει μια νέα γραμμή στο τέλος της συμβολοσειράς. Οι αποδράσεις και οι οδηγίες είναι:

\ένα

Κουδούνι συναγερμού.

\σι

Backspace.

\ντο

Σταματήστε την εκτύπωση από τη μορφή αυτή αμέσως και ξεπλύνετε την έξοδο.

\φά

Τροφοδοσία φόρμας.

\ n

Newline.

\ r

Επιστροφή μεταφοράς.

\ t

Οριζόντια καρτέλα.

\ v

Κατακόρυφη καρτέλα.

\\

Μια κυριολεκτική αντίστροφη κάθετος (`\ ').

\ NNN

Ο χαρακτήρας του οποίου ο κώδικας ASCII είναι NNN (οκταδικός).

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

%%

Ένα κυριολεκτικό σημάδι ποσοστού.

%ένα

Ο τελευταίος χρόνος πρόσβασης του αρχείου στη μορφή που επέστρεψε με τη λειτουργία C `ctime.

% A k

Ο τελευταίος χρόνος πρόσβασης του αρχείου στη μορφή που καθορίζεται από k , η οποία είναι είτε `@ 'είτε μια οδηγία για τη λειτουργία C` strftime'. Οι πιθανές τιμές για το k παρατίθενται παρακάτω. ορισμένες από αυτές ενδέχεται να μην είναι διαθέσιμες σε όλα τα συστήματα, λόγω διαφορών στο `strftime 'μεταξύ των συστημάτων.

@

δευτερόλεπτα από την 1η Ιανουαρίου 1970, ώρα 00:00 GMT.

Πεδία ώρας:

H

ώρα (00..23)

Εγώ

ώρα (01..12)

κ

ώρα (0..23)

μεγάλο

ώρα (1..12)

Μ

λεπτά (00..59)

Π

AM ή PM του locale

r

ώρα, 12 ώρες (hh: mm: ss [ΑΡ] Μ)

μικρό

δεύτερη (00..61)

Τ

ώρα, 24 ώρες (hh: mm: ss)

Χ

τοπική αναπαράσταση τοπικής ρύθμισης (H: M: S)

Ζ

(π.χ. EDT), ή τίποτα εάν δεν μπορεί να προσδιοριστεί κάποια ζώνη ώρας

Πεδία ημερομηνίας:

ένα

Το τοπικό όνομα της εβδομάδας (Sun..Sat)

ΕΝΑ

πλήρες όνομα της εβδομάδας της τοπικής ρύθμισης, μεταβλητό μήκος (Κυριακή, Σάββατο)

σι

Το τοπικό όνομα συντομογραφίας (Jan..Dec)

σι

πλήρες όνομα μήκους τοπίου, μεταβλητό μήκος (Ιανουάριος - Δεκέμβριος)

ντο

Ημ / νία και ώρα τοποθεσίας (Σαβ 04 Νοε 12:02:33 EST 1989)

ρε

ημέρα του μήνα (01..31)

ρε

ημερομηνία (mm / ημ / εεε)

h

το ίδιο με το β

j

ημέρα του έτους (001..366)

m

μήνα (01..12)

U

εβδομάδα αριθμός έτους με την Κυριακή ως πρώτη ημέρα της εβδομάδας (00..53)

w

ημέρα της εβδομάδας (0..6)

W

εβδομάδα αριθμός έτους με τη Δευτέρα ως πρώτη ημέρα της εβδομάδας (00..53)

Χ

αναπαράσταση ημερομηνίας τοπικής ρύθμισης (mm / ημ / εεε)

y

τα τελευταία δύο ψηφία του έτους (00..99)

Y

έτος (1970 ...)

%σι

Το μέγεθος του αρχείου σε μπλοκ των 512 byte (στρογγυλευμένο προς τα πάνω).

%ντο

Ο τελευταίος χρόνος αλλαγής κατάστασης του αρχείου με τη μορφή που επέστρεψε η λειτουργία C `ctime.

% C k

Ο τελευταίος χρόνος αλλαγής κατάστασης του αρχείου με τη μορφή που καθορίζεται από k , η οποία είναι η ίδια με εκείνη του% A.

%ρε

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

%φά

Το όνομα του αρχείου με οποιονδήποτε οδηγό καταργήθηκε (μόνο το τελευταίο στοιχείο).

%ΦΑ

Τύπος του συστήματος αρχείων που βρίσκεται στο αρχείο. αυτή η τιμή μπορεί να χρησιμοποιηθεί για το -fstype.

%σολ

Όνομα ομάδας αρχείου ή αναγνωριστικό αριθμητικής ομάδας εάν η ομάδα δεν έχει όνομα.

%ΣΟΛ

Αριθμητικό αναγνωριστικό ομάδας ομάδας αρχείου.

% h

Κύριοι κατάλογοι του ονόματος αρχείου (όλοι εκτός από το τελευταίο στοιχείο).

% Η

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

%Εγώ

Ο αριθμός εισόδου του αρχείου (σε δεκαδικό).

Το μέγεθος του αρχείου σε μπλοκ 1Κ (στρογγυλευμένο προς τα πάνω).

%μεγάλο

Αντικείμενο συμβολικής σύνδεσης (κενή συμβολοσειρά αν το αρχείο δεν είναι συμβολική σύνδεση).

% m

Αρχεία έγκρισης αρχείου (σε οκταδικό).

% n

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

Όνομα αρχείου.

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

%μικρό

Μέγεθος αρχείου σε byte.

% t

Η τελευταία φορά τροποποίησης του αρχείου στη μορφή που επιστρέφει η λειτουργία C `ctime.

% T k

Η τελευταία φορά τροποποίησης του αρχείου με τη μορφή που καθορίζεται από k , η οποία είναι η ίδια με εκείνη του% A.

% u

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

% U

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

Ένας χαρακτήρας '%' ακολουθούμενος από οποιονδήποτε άλλο χαρακτήρα απορρίπτεται (αλλά εκτυπώνεται ο άλλος χαρακτήρας).

-κλαδεύω

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

-ls

Αληθής; λίστα τρέχοντος αρχείου σε μορφή `ls -dils 'σε τυποποιημένη έξοδο. Οι αριθμοί μπλοκ είναι μπλοκ 1Κ, εκτός εάν έχει ρυθμιστεί η μεταβλητή περιβάλλοντος POSIXLY_CORRECT, οπότε χρησιμοποιούνται μπλοκ των 512 byte.

Χειριστές

Καταγεγραμμένα κατά φθίνουσα προτεραιότητα:

( expr )

Δέσμευση προτεραιότητας.

! expr

Αλήθεια αν το expr είναι ψευδές.

-δεν εκφράζει

Το ίδιο με ! expr .

expr1 expr2

Και (σιωπηρή)? Το expr2 δεν αξιολογείται εάν το expr1 είναι ψευδές.

expr1 -a expr2

Το ίδιο με το expr1 expr2 .

expr1 - και expr2

Το ίδιο με το expr1 expr2 .

expr1- o expr2

Ή; Το expr2 δεν αξιολογείται εάν το expr1 είναι αληθές.

expr1 - ή expr2

Το ίδιο με το expr1 -o expr2 .

expr1 , expr2

Λίστα; τόσο τα expr1 όσο και τα expr2 αξιολογούνται πάντοτε. Η τιμή του expr1 απορρίπτεται. η αξία του καταλόγου είναι η τιμή του expr2 .

Παραδείγματα

βρείτε / home-χρήστης joe

Βρείτε κάθε αρχείο κάτω από τον κατάλογο / σπίτι που ανήκει στον χρήστη joe.

find / usr -name * stat

Βρείτε κάθε αρχείο κάτω από τον κατάλογο / usr που τελειώνει στο ".stat".

βρείτε / var / spool -mtime +60

Βρείτε κάθε αρχείο κάτω από τον κατάλογο / var / spool που τροποποιήθηκε πριν από περισσότερες από 60 ημέρες.

find / tmp -name core -type f -print | xargs / bin / rm -f

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

find / tmp - όνομα πυρήνα -τύπος f -print0 | xargs -0 / bin / rm -f

Βρείτε αρχεία με όνομα πυρήνα στο ή κάτω από τον κατάλογο / tmp και διαγράψτε τα, επεξεργάζοντας τα ονόματα αρχείων με τέτοιο τρόπο ώστε τα ονόματα αρχείων ή καταλόγων που περιέχουν μονές ή διπλές εισαγωγικές τιμές, διαστήματα ή νέες γραμμές να χειρίζονται σωστά. Η δοκιμή -name έρχεται πριν από τη δοκιμή τύπου για να αποφευχθεί η κλήση stat (2) σε κάθε αρχείο.

εύρημα . -type f -exec αρχείο '{}' \;

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

find / \ (-perm -4000 -fprintf /root/suid.txt '% # m% u% p \ n' \), \\ (-μέγεθος + 100M -fprintf /root/big.txt '% -10s% p \ n '\)

Μετακινήστε το σύστημα αρχείων μία φορά, αναφέροντας τα αρχεία και τους καταλόγους setuid στο /root/suid.txt και τα μεγάλα αρχεία στο /root/big.txt .

βρείτε το $ HOME -μήμα 0

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

0 , ένα αρχείο θα πρέπει να έχει μια τροποποίηση στο παρελθόν, που είναι λιγότερο από 24 ώρες πριν.

εύρημα . -περέ 664

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

εύρημα . -perm -664

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

εύρημα . -περί / 222

Αναζητήστε αρχεία που είναι εγγράψιμα από κάποιον (τον ιδιοκτήτη του, ή την ομάδα τους, ή οποιονδήποτε άλλον).

εύρημα . -perm / 220 βρείτε. -perm / u + w, g + w βρείτε. -perm / u = w, g = w

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

εύρημα . -περίπλα -220 βρείτε. -perm -g + w, u + w

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

εύρημα . -perm -444 -perm / 222! -perm / 111 βρείτε. -perm-α + r -perm / a + w! -perm / α + χ

Αυτές οι δύο εντολές αναζητούν αρχεία που μπορούν να διαβαστούν για όλους (-perm -444 ή -perm -a + r), έχουν τουλάχιστον ρυθμιστεί στο bit εγγραφής (-perm / 222 ή -perm / a + w) αλλά δεν είναι εκτελέσιμα για οποιονδήποτε (! -perm / 111 και l -perm / a + x αντίστοιχα)

Σημαντικό: Χρησιμοποιήστε την εντολή man ( % man ) για να δείτε πώς χρησιμοποιείται μια εντολή στον υπολογιστή σας.