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
Η εντολή επιστρέφει τόσο τα αρχεία όσο και τους καταλόγους που ταιριάζουν με τα κριτήρια αναζήτησης. Για να βρείτε μόνο αρχεία ή καταλόγους, πρέπει να το καθορίσετε στην εντολή.
Βρείτε μόνο αρχεία ή καταλόγους
Μόνο για αρχεία, χρησιμοποιήστε τον διακόπτη τύπου 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 κ.λπ.
Μπορείτε να καθορίσετε τη λειτουργία με τους ακόλουθους τρεις διαφορετικούς τρόπους.
Βρείτε αρχεία με άδεια 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/
Βρείτε και μετακινήστε αρχεία σε διαφορετικό κατάλογο
Για να μετακινήσετε ένα γνωστό αρχείο από έναν κατάλογο σε έναν άλλο. Για να μετακινήσετε το αρχείο 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, ελέγξτε αυτό διαδικτυακό μάθημα.