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

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

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

Εύρεση αρχείων με όνομα σε τρέχοντες κατάλογους

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

 εύρημα . -name photo.png 

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

 εύρημα . -iname photo.png 

Αν θέλετε να βρείτε ένα αρχείο στο ριζικό κατάλογο, προθέστε την αναζήτησή σας με το sudo οποίο θα σας δώσει όλα τα απαραίτητα δικαιώματα και το σύμβολο '/' που λέει στο Linux να ψάξει στον ριζικό κατάλογο. Τέλος, η έκφραση -print εμφανίζει τους καταλόγους των αποτελεσμάτων αναζήτησης. Εάν αναζητούσατε το Gzip, πληκτρολογήστε:

 sudo βρείτε / -name gzip -print 

Εύρεση αρχείων κάτω από συγκεκριμένο κατάλογο

Αν θέλετε να βρείτε αρχεία κάτω από έναν συγκεκριμένο κατάλογο όπως "/ home", εκτελέστε:

 find / home -name filename.txt 

Αν θέλετε να βρείτε αρχεία με την επέκταση ".txt" κάτω από τον κατάλογο "/ home", εκτελέστε:

 find / home -name * .txt 

Για να εντοπίσετε αρχεία των οποίων το όνομα είναι "test.txt" κάτω από πολλούς καταλόγους όπως "/ home" και "/ opt, " εκτελέστε:

 find / home / opt -name test.txt 

Για να βρείτε κρυφά αρχεία στον κατάλογο "/ home", εκτελέστε:

 find / home -name ". *" 

Για να βρείτε ένα και μόνο αρχείο που ονομάζεται "test.txt" και εκτελέστε:

 find / home -type f -name test.txt -exec rm -f {} 

Για να βρείτε όλα τα κενά αρχεία στον κατάλογο "/ opt", εκτελέστε:

 find / opt -type f -empty 

Βρείτε τους καταλόγους χρησιμοποιώντας το όνομα

Αν θέλετε να βρείτε όλους τους καταλόγους των οποίων το όνομα είναι "testdir" στον κατάλογο "/ home", εκτελέστε:

 find / home -type d -name testdir 

Για να καταγράψετε όλους τους κενούς καταλόγους στο "/ home", εκτελέστε:

 find / home -type d -empty 

Βρείτε αρχεία με ορισμένα δικαιώματα

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

Για να βρείτε όλα τα αρχεία των οποίων τα δικαιώματα είναι "777" στον κατάλογο "/ home", εκτελέστε:

 find / home -type f -perm 0777 -print 

Για να βρείτε όλα τα αρχεία χωρίς άδεια "777" εκτελέστε:

 εύρημα . -τύπος f! -περέ 777 

Για να βρείτε όλα τα αρχεία μόνο για ανάγνωση, εκτελέστε:

 find / home -perm / u = r 

Για να βρείτε όλα τα εκτελέσιμα αρχεία, εκτελέστε:

 find / home -perm / a = x 

Για να βρείτε όλα τα αρχεία sticky bit set των οποίων τα δικαιώματα είναι "553, " εκτελέστε:

 find / home -perm 1553 

Για να βρείτε όλα τα αρχεία SUID που έχουν οριστεί, εκτελέστε:

 find / home -perm / u = s 

Για να βρείτε όλα τα αρχεία των οποίων τα δικαιώματα είναι "777" και αλλάξτε τα δικαιώματα τους σε "700, " εκτελέστε:

 find / home -type f -περί 0777 -print -exec chmod 700 {}; 

Εύρεση αρχείων και καταλόγων με βάση την ημερομηνία και την ώρα

Για να βρείτε όλα τα αρχεία που βρίσκονται κάτω από το "/ opt" τα οποία τροποποιούνται είκοσι ημέρες νωρίτερα, εκτελέστε:

 find / opt -time 20 

Για να βρείτε όλα τα αρχεία που βρίσκονται κάτω από το "/ opt" στα οποία έχουν πρόσβαση είκοσι ημέρες νωρίτερα, εκτελέστε:

 find / opt -atime 20 

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

 find / opt -mtime +30 -time -50 

Για να βρείτε όλα τα αρχεία που βρίσκονται κάτω από το "/ opt" τα οποία έχουν αλλάξει τις τελευταίες δύο ώρες, εκτελέστε:

 βρείτε / opt -cmin -120 

Βρείτε αρχεία και καταλόγους με βάση το μέγεθος

Για να βρείτε όλα τα αρχεία των 10MB στον κατάλογο "/ home", εκτελέστε:

 find / home-size 10M 

Για να βρείτε όλα τα αρχεία στον κατάλογο "/ home" που είναι μεγαλύτερα από 10MB και μικρότερα από 50MB, εκτελέστε:

 find / home-μεγέθους + 10M-μέγεθος-50M 

Για να βρείτε όλα τα αρχεία ".mp4" κάτω από τον κατάλογο "/ home" με περισσότερα από 10MB και να τα διαγράψετε χρησιμοποιώντας μία μόνο εντολή, εκτελέστε:

 find / home -type f -name * .mp4-μέγεθος + 10M -exec rm {}; 

συμπέρασμα

Και εκεί είναι - μια υγιεινή λίστα με τρόπους για να βρείτε τα αρχεία που αναζητάτε στο Linux. Δεν μπορεί να είναι τόσο απλή όσο η στοιχειώδης αναζήτηση των Windows, αλλά είναι πολύ πιο λεπτομερής και συγκεκριμένη. Υπάρχουν εντολές εδώ που χάσαμε; Ενημερώστε μας στα σχόλια!

Image Credit: Έλεγχος από DepositPhotos