40 καλύτερα παραδείγματα της εντολής Find στο Linux

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

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

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

Η γενική σύνταξη για την εντολή find είναι

find {path} {name -of-file or dir-to-search} {action-to-take}

Οπου,

  • διαδρομή καθορίζει τον κατάλογο.
  • όνομα αρχείου ή dir-to-search : Όνομα του αρχείου ή του καταλόγου που θέλετε να αναζητήσετε
  • δράση προς λήψη: όπως αντιγραφή, διαγραφή, μετακίνηση κ.λπ.

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

Πίνακας περιεχομένων

Βρείτε αρχεία και καταλόγους

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

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

find . -name file22.txt

Παραγωγή

./test/file22.txt
./sales/file22.txt

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

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

find ./test -name file22.txt

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

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

find ./test -name file*

Παραγωγή

./test/file22.txt
./test/file30.doc
./test/file1.txt
./test/file5,doc

Αναζήτηση αρχείων κατά επέκταση

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

find . -name *.txt

Παραγωγή

./test/subtest/subfil.txt
./test/file22.txt
./test/file1.txt
./home1/files32.txt
./home2/file22.txt
./qa/tags.txt

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

Χρησιμοποιήστε την παρακάτω εντολή για να αναζητήσετε αρχεία και καταλόγους που ξεκινούν με τα γράμματα qa. Στον υπολογιστή μας, έχουμε τα αρχεία qatree.txt και qa.txt καθώς και έναν κατάλογο με το όνομα qa.

Αν τρέξουμε την εντολή?

find ./ -name "qa*"

Επιστρέφει την ακόλουθη έξοδο

./test/qatree.pdf
./test/qa.txt
./home/qa

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

  Πώς να δημιουργήσετε αντίγραφα ασφαλείας του υπολογιστή σας Linux με το BackInTime

Βρείτε μόνο αρχεία ή καταλόγους

Μόνο για αρχεία, χρησιμοποιήστε τον διακόπτη τύπου f.

Μόνο αρχεία

find ./ -type f -name "qa*"

Παραγωγή

./test/qatree.pdf
./test/qa.txt

Μόνο κατάλογοι

Προσθέστε την επιλογή τύπου d για να εντοπίσετε μόνο καταλόγους.

find ./ -type d -name "qa*"

Παραγωγή

./home/qa

Εντολή εύρεσης χωρίς διάκριση πεζών-κεφαλαίων

Όλες οι αναζητήσεις με διακόπτη -name κάνουν διάκριση πεζών-κεφαλαίων και δεν δίνουν αποτελέσματα με κεφαλαία γράμματα. Για να λάβετε όλες τις περιπτώσεις, χρησιμοποιήστε την επιλογή -iname.

find ./ -iname "qa*"

Παραγωγή

./test/qatree.pdf
./test/qa.txt
./test/QAtest.txt
./home/qa

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

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

find ./test ./numeric -name file22.txt -type f

Παραγωγή

./test/file22.txt
/root/numeric/file22.txt

Βρείτε πολλά αρχεία με διαφορετικές επεκτάσεις από όλους τους καταλόγους

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

εύρημα . -type f ( -name “*.txt” -o -name “*.pdf” -o -name “*.doc”)

παραγωγή

./test/subtest/subfil.txt
./test/qatree.pdf
./test/file22.txt
./test/qa.txt
./test/file30.doc
./books/acro.pdf
./data1/FILE22.txt
./docs/files32.txt

Βρείτε αρχεία που περιέχουν συγκεκριμένο κείμενο

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

Για να αναζητήσετε όλα τα αρχεία που περιέχουν τη λέξη υπερσύγκλιση», χρησιμοποιήστε;

find / -type f -exec grep -l -i "hyperconvergence" {} ;

Παραγωγή

/root/numeric/hci
/root/HCIP

Η επιλογή –i δίνει τη δυνατότητα στην εντολή να αγνοήσει τις περιπτώσεις και θα βρει το κείμενο είτε με κεφαλαία είτε όχι, π.χ. υπερσύγκλιση, Υπερσύγκλιση κ.λπ.

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

find ./numeric -type f -exec grep -l -i "hyperconvergence" {} ;

Παραγωγή

./numeric/hci

Εξερευνήστε περισσότερα παραδείγματα εντολών grep.

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

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

Οι επιλογές μεγέθους περιλαμβάνουν:

γ – bytes

k – kilobytes

M – Megabytes

G – Gigabytes

Βρείτε αρχεία συγκεκριμένου μεγέθους – ίσο με 30MB

Για αναζήτηση βρείτε όλα τα αρχεία 30MB

find / -size 30M

Βρείτε αρχεία μεγαλύτερα από ένα καθορισμένο μέγεθος

find -size +2M

Παραγωγή

. /Downloads/ubuntu18043.iso 
./.cache/pip/http/6/e/3/8/3/6e38383f41850c3e5705d48116bc52f81b92a80500f414305057 7a9c

Βρείτε αρχεία μικρότερα από 10 MB στον τρέχοντα κατάλογο

find . -type f -size -10M

Βρείτε αρχεία με μεγέθη μεταξύ 100-200MB

Όταν αναζητάτε αρχεία εντός συγκεκριμένου εύρους, όπως μεταξύ 100 και 200 ​​MB

find / -size +100M -size -200M

Αναζητήστε καταλόγους μεγαλύτερους από 20 kb

εύρεση / -τύπος d -μέγεθος +20κ

Βρείτε κενά αρχεία και καταλόγους.

Αρχεία

βρείτε ./ -type f -size 0

ή

find ./ -type f –empty

καταλόγους

find ./ -type d –empty

Βρείτε αρχεία ανά ηλικία ή χρόνο τροποποίησης

Βρείτε αρχεία παλαιότερα από n ημέρες

find /path/ -type f -name '*.txt' -mtime +8

Το -mtime +8 θα αναζητήσει αρχεία txt που είναι παλαιότερα από 8 ημέρες.

Με ημερομηνία τροποποίησης

Αυτό θα αναζητήσει αρχεία που τροποποιήθηκαν τις τελευταίες 17 ώρες

find . -mtime -17 -type f 

Αναζητά καταλόγους που τροποποιήθηκαν τις τελευταίες 10 ημέρες

find . -mtime -10 -type d 

Βρείτε αρχεία με βάση την πρόσβαση ή την τροποποίηση

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

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

find /home -atime +10

Η πρόσβαση στα αρχεία έγινε ακριβώς πριν από 10 ημέρες

find /home -atime 10

Πρόσβαση εντός των τελευταίων 10 ημερών

find /home -atime -10

Βρείτε αρχεία που τροποποιήθηκαν τις τελευταίες n ημέρες

Μπορείτε επίσης να αναζητήσετε τα αρχεία στον κατάλογο /home που τροποποιήθηκαν τις τελευταίες 10 ημέρες χρησιμοποιώντας την εντολή.

find /home -mtime -10 

Βρείτε αρχεία που έχουν τροποποιηθεί μέσα σε μια συγκεκριμένη περίοδο.

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

find /home -type f -mtime +6 -mtime -15

Πρόσβαση σε αρχεία και καταλόγους τα τελευταία 10 λεπτά

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

find . -amin -10 -type f

Παραγωγή

./.bash_history
./[email protected]:~#

Κατάλογοι προσπελάσιμοι μέσα στα τελευταία 10 λεπτά

find . -amin -10 -type d

Βρείτε αρχεία που ταιριάζουν με συγκεκριμένα δικαιώματα

Σύνταξη

$ find -perm mode

Όπου η λειτουργία είναι η άδεια που είναι είτε αριθμητική όπως 644, 655, 700, 777, κ.λπ., είτε γράμματα όπως u=x, a=r+x κ.λπ.

  Πώς να παίξετε παιχνίδια Sega DreamCast στο Linux

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

  • Χωρίς πρόθεμα όταν θέλετε να βρείτε αρχεία με τα ακριβή δικαιώματα που καθορίζονται.
  • Με “-” για αρχεία με τουλάχιστον την καθορισμένη άδεια. Αυτό επιστρέφει αρχεία με τα καθορισμένα καθώς και πρόσθετα ανώτερα δικαιώματα.
  • Η χρήση του “/” απαιτεί τον καθορισμό του κατόχου ή της ομάδας με την άδεια για το αρχείο.
  • Βρείτε αρχεία με άδεια 777

    find -perm 777

    Παραγωγή

    ./file1

    Βρείτε αρχεία με τουλάχιστον 766
    βρείτε -perm -766

    Παραγωγή

    ./file2
    ./file1

    Η εντολή αναζητά όλα τα αρχεία στα οποία το

    • Ο κάτοχος του αρχείου έχει δικαιώματα ανάγνωσης/εγγραφής/εκτέλεσης.
    • Η ομάδα έχει δικαιώματα ανάγνωσης/εγγραφής
    • Άλλοι έχουν άδεια ανάγνωσης/εγγραφής

    Ως εκ τούτου, επιστρέφει δύο αρχεία που πληρούν αυτό το κριτήριο – file1 και file2. Τα αρχεία δεν χρειάζεται να έχουν τα ακριβή δικαιώματα 766 και μπορούν να έχουν επιπλέον για όσο μεγάλο χρονικό διάστημα, αλλά πρέπει να έχουν τουλάχιστον τα καθορισμένα.

    Βρείτε αρχεία με δυνατότητα εγγραφής από τον κάτοχο

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

    find -perm /222
    .
    ./file2
    ./file3
    ./file1

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

    find -perm -220

    Παραγωγή

    ./file2
    ./file1

    Βρείτε αρχεία που ανήκουν σε έναν χρήστη

    Βρείτε όλα τα αρχεία που ανήκουν στον Jack

    find /home -user jack

    Παραγωγή

    /home/jack
    /home/jack/examples.desktop
    /home/jack/.gnupg
    /home/jack/.gnupg/private-keys-v1.d
    /home/jack/ans.cgi

    Βρείτε συγκεκριμένα αρχεία που ανήκουν σε έναν χρήστη

    Βρείτε όλα τα αρχεία κειμένου που ανήκουν στον Jack

    find /home -user jack -iname "*.txt"

    Παραγωγή

    /home/jack/docs/file32.txt

    Βρείτε και παραθέστε αρχεία και καταλόγους μαζί με τα δικαιώματά τους

    find -name "*.conf" | ls -l

    Παραγωγή

    total 120
    drwxr-xr-x 2 root root 4096 Dec 31 13:19 backup2
    drwxr-xr-x 2 root root 4096 Jan 4 11:57 Desktop
    drwxr-xr-x 2 root root 4096 Dec 31 11:50 Documents
    drwxr-xr-x 2 root root 4096 Dec 31 12:27 Downloads
    -rw-r--r-- 1 root root 0 Jan 4 12:02 file22.doc
    drwxr-xr-x 2 root root 4096 Jan 4 12:14 file23
    -rw-r--r-- 1 root root 0 Jan 4 12:23 file23.txt

    Βρείτε και ενεργήστε με βάση τα αποτελέσματα

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

    Βρείτε αρχεία και αλλάξτε δικαιώματα

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

    [email protected]:~/ver$ ls -la
    
    total 8
    drwxrwxr-x 2 jack jack 4096 Jan 3 14:11 .
    drwxr-xr-x 8 jack jack 4096 Jan 3 14:05 ..
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
    -rw-rw-r-- 1 jack jack 0 Jan 3 14:11 base.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:06 query.php
    -rw-rw-r-- 1 jack jack 0 Jan 3 14:11 qust.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:06 text.php
    -rw-rw-r-- 1 jack jack 0 Jan 3 14:11 vary.php

    Τώρα θα αναζητήσουμε όλα τα αρχεία PHP (παραπάνω) και θα αντικαταστήσουμε τα δικαιώματα τους με 755

    find ver -name "*.php" -type f -exec chmod 755 {} ;

    Η εντολή αναζητά αρχεία PHP στον κατάλογο ver και στη συνέχεια ορίζει την άδειά τους σε 755 (rwxr-xr-x)

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

    [email protected]:~/ver$ ls -la
    total 8
    drwxrwxr-x 2 jack jack 4096 Jan 3 14:11 .
    drwxr-xr-x 8 jack jack 4096 Jan 3 14:05 ..
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:06 ans.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:11 base.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:06 query.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:11 qust.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:06 text.php
    -rwxr-xr-x 1 jack jack 0 Jan 3 14:11 vary.php

    Βρείτε και αλλάξτε δικαιώματα αρχείων και καταλόγου

    Βρείτε αρχεία με δικαιώματα 644 και αλλάξτε τα ώστε να έχουν 655 δικαιώματα

    find . -type f -perm 644 -exec chmod 655 {} ;

    Μπορείτε επίσης να αναζητήσετε καταλόγους με δικαιώματα 644 και να τους αντικαταστήσετε με 755.

    find . -type d -perm 644

    Παραγωγή

    ./docs   

    Ο φάκελος “έγγραφα” έχει 644 δικαιώματα

    drwxrwxr-x 2 jack jack 4096 Jan 3 12:45 docs

    Για να το θέσουμε στο 755, τρέχουμε

    find . -type d -perm 644 -exec chmod 755 {} ;

    Τώρα μπορούμε να ελέγξουμε ξανά για να δούμε τι ακριβώς 755

    find . -type d -perm 755

    Παραγωγή
    .
    ./έγγραφα

    Από πάνω μπορούμε να δούμε ότι οι κατάλογοι root και docs έχουν τα δικαιώματα 755.

    Η εντολή Ls –la δίνει τις ακόλουθες λεπτομέρειες

    drwxr-xr-x 2 jack jack 4096 Jan 3 12:45 docs

    Βρείτε και αντιγράψτε αρχεία ή καταλόγους

    Βρείτε και αντιγράψτε ένα συγκεκριμένο αρχείο σε έναν κατάλογο

    Η παρακάτω εντολή θα βρει το αρχείο file22.txt και θα το αντιγράψει στον κατάλογο ~/tmp/images.

    find -iname file22.txt -exec cp {} ~/tmp/images ;

    Βρείτε και αντιγράψτε έναν τύπο αρχείων σε έναν κατάλογο

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

    find -iname '*.jpg' -exec cp {} ~/tmp/images ;

    Αυτό θα βρει και θα αντιγράψει όλα τα αρχεία jpg στο φάκελο ~/tmp/images.

    Βρείτε και αντιγράψτε ένα αρχείο σε πολλούς καταλόγους

    Βρείτε και αντιγράψτε έναν σε πολλούς καταλόγους.

    find ~/tmp/dir1/ ~/tmp/dir2/ $HOME/3/ -maxdepth 0 -exec cp ~/numeric/hci {} ;

    Αυτό θα βρει το αρχείο hci και θα το αντιγράψει στους τρεις καταλόγους /tmp/dir1/ /tmp/dir2/ και $HOME/3/

      Πώς να παίξετε το The Talos Principle στο Linux

    Βρείτε και μετακινήστε αρχεία σε διαφορετικό κατάλογο

    Για να μετακινήσετε ένα γνωστό αρχείο από έναν κατάλογο σε έναν άλλο. Για να μετακινήσετε το αρχείο universal.php.

    find ~/folder/ -type f -name universal.php -exec mv {} ~/numeric/ ;

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

    find ~/numeric/ -type f -name '*.php' -exec mv {} ~/folder/ ;

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

    find -type f -name uni*.* -exec mv {} ~/unifiles/ ;

    Η εντολή αναζητά όλα τα αρχεία με ονόματα που ξεκινούν από uni και έχουν οποιαδήποτε επέκταση. Στη συνέχεια τα μετακινεί στον κατάλογο /unifiles/

    Βρείτε και μετακινήστε αρχεία με βάση την ηλικία

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

    find /path/ -type f -name '*.pdf' -mtime +20 -exec mv {} /backup1/ ;

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

    Βρείτε και διαγράψτε αρχεία και καταλόγους

    Η σύνταξη για την εύρεση και την αφαίρεση αρχείων ή καταλόγων στον τρέχοντα κατάλογο είναι

    εύρημα . -type f -name “file to delete” -exec rm -f {} ; για να διαγράψετε μόνο αρχεία ή

    εύρημα . -type d -name “dir-to-delete” -exec rm -rf {} ; για να διαγράψετε μόνο καταλόγους

    Βρείτε και διαγράψτε μόνο συγκεκριμένα αρχεία

    Για να βρείτε και να διαγράψετε αρχεία που ξεκινούν με til, χρησιμοποιήστε;

    find . -type f -name "til*" -exec rm {} ; 

    Για να βρείτε και να διαγράψετε καταλόγους που ξεκινούν με til

    find . -type d -name "til*" -exec rm {} ;

    Καταργήστε τόσο αρχεία όσο και καταλόγους

    find . -name "til*" -exec rm -rf {} ; 

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

    Διαγραφή κατά επέκταση

    Παρακάτω είναι πώς μπορείτε να εντοπίσετε και να διαγράψετε όλα τα αρχεία txt στον τρέχοντα κατάλογο. Αντικαταστήστε το txt με άλλη επέκταση όπως bak, pdf ή οποιαδήποτε άλλη θέλετε να αφαιρέσετε.

    find . -type f -name "*.txt" -exec rm -f {} ;

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

    find . -type f -name "*.txt" -exec rm -i {} ;

    Παραγωγή

    rm: remove regular empty file './File22.txt'? y
    rm: remove regular empty file './file22.txt'? y
    rm: remove regular empty file './file23.txt'?

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

    Βρείτε και διαγράψτε αρχεία παλαιότερα από n ημέρες

    Βρείτε και διαγράψτε αρχεία αντιγράφων ασφαλείας παλαιότερα των 20 ημερών από τον τρέχοντα κατάλογο.

    find . -type f -name '*.bak' -mtime +20 -exec rm {} ;

    Αυτό θα διαγράψει όλα τα αρχεία .bak παλαιότερα των 20 ημερών.

    Βρείτε και διαγράψτε μόνο καταλόγους

    Για να διαγράψετε έναν κατάλογο που ονομάζεται dir22

    find . -type d -name dir22 -exec rm -rf {} ;

    Βεβαιωθείτε ότι ταιριάζετε με την περίπτωση του ονόματος καταλόγου ή χρησιμοποιήστε την επιλογή -iname.

    find . -type d -iname Dir22 -exec rm -rf {} ;

    Αφαιρεί τόσο το Dir22 όσο και το dir22

    Για επιβεβαίωση πριν από τη διαγραφή, χρησιμοποιήστε την επιλογή -i.

    find . -type d -iname Dir22 -exec rm -rf -i {} ;

    Παραγωγή
    rm: κατάργηση του καταλόγου ‘./Dir22’; n
    rm: κατάργηση του καταλόγου ‘./dir22’; y

    Στην περίπτωσή μας, πληκτρολογήσαμε n για τον κατάλογο Dir22 που δεν θα διαγραφεί και y για τον dir22 που τώρα θα αφαιρεθεί.

    Βρείτε και αφαιρέστε κενά αρχεία

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

    find ./ -type f -size 0 -exec rm -f {} ;

    ή
    βρείτε ./ -τύπος f -μέγεθος 0 | xargs rm -f
    ή
    βρείτε ./ -type f -size 0 –delete

    Βρείτε και αφαιρέστε κενούς καταλόγους

    Για να αφαιρέσουμε κενούς καταλόγους θα χρησιμοποιήσουμε την επιλογή d.

    find ./ -type d -empty -exec rmdir {} ;

    Μια άλλη εναλλακτική είναι να χρησιμοποιήσετε το delete αντί για το remove.

    find ./ -type d -empty -delete

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

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

    Τι έπεται?

    Προχωρήστε και δοκιμάστε τις παραπάνω εντολές εύρεσης Linux στο εργαστήριό σας ή στο περιβάλλον ΜΗ ΠΑΡΑΓΩΓΗΣ. Δείτε αν μπορείτε να χρησιμοποιήσετε κάποια για να αυτοματοποιήσετε την εκκαθάριση του συστήματος αρχείων με το Crontab. Και, για να κατακτήσετε το Linux, ελέγξτε αυτό διαδικτυακό μάθημα.