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

Σημαντικά ευρήματα

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

Βήμα-Βήμα Οδηγός

1. Μια πρώτη επισκόπηση: locate

Ξεκινήστε την αναζήτησή σας με την εντολή locate. Αυτό είναι ιδιαίτερα εύκολο όταν γνωρίζετε το ακριβές όνομα ή ένα μέρος του ονόματος του αρχείου. Ας υποθέσουμε ότι θέλετε να βρείτε το αρχείο "Ήλιος". Μεταβείτε στον κατάλογο ρίζας σας και πληκτρολογήστε την παρακάτω εντολή:

locate Ήλιος

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

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

2. Αγνόησε τα κεφαλαία και πεζά

Θέλετε να αγνοήσετε τα κεφαλαία και πεζά κατά την αναζήτησή σας; Τότε μπορείτε να χρησιμοποιήσετε την επιλογή -i:

locate -i ήλιος

Έτσι θα πάρετε μια λίστα που περιέχει τόσο το "Ήλιος" όσο και το "ήλιος".

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

3. Ακρίβεια μέσω κανονικών εκφράσεων

Αν θέλετε να κάνετε μια πιο ακριβή αναζήτηση, μπορείτε να χρησιμοποιήσετε κανονικές εκφράσεις με το locate. Για παράδειγμα, για να αναζητήσετε μόνο ακριβώς το "ls", μπορείτε να χρησιμοποιήσετε την επιλογή -b σε συνδυασμό με προστατευτικά παρενθέσεις:

locate -b '/ls'

Αυτό διασφαλίζει ότι θα λάβετε μόνο αποτελέσματα που ακριβώς "ls".

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

4. Ενημέρωση βάσης δεδομένων

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

sudo updatedb

Αυτή η εντολή ενημερώνει τη βάση δεδομένων και την φέρνει στην τελευταία κατάσταση.

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

5. Χρήση της εντολής find

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

find ~/ -name 'xyz'

Αυτή η εντολή αναζητά μόνο στον κατάλογο Home για το "xyz".

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

6. Φιλτράρισμα κατά τύπο αρχείου

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

find /var/log -type d

Με αυτή την εντολή, θα καταγράψετε όλους τους φακέλους στον κατάλογο /var/log.

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

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

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

find / -type f -size +1M

Αυτή η εντολή αναζητά σε ολόκληρο το σύστημα αρχεία που είναι μεγαλύτερα από 1 Megabyte.

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

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

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

find / -type f -mtime -2

Εδώ, το "-mtime -2" αναφέρεται σε αρχεία που έχουν τροποποιηθεί τις τελευταίες δύο ημέρες.

Αποτελεσματική εύρεση αρχείων και φακέλων με Linux

9. Συνδυασμοί κριτηρίων αναζήτησης

Ο συνδυασμός πολλών κριτηρίων αναζήτησης βελτιώνει την ακρίβεια των αιτημάτων σας. Μπορείτε να φιλτράρετε ταυτόχρονα κατά τύπο αρχείου και τελευταίας τροποποίησης:

find /opt -type f -mtime -1

Έτσι βρίσκετε όλα τα αρχεία στον κατάλογο /opt που τροποποιήθηκαν τις τελευταίες 24 ώρες.

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

10. Συμπέρασμα σχετικά με την αναζήτηση αρχείων

Με τις εντολές find και locate είστε καλά προετοιμασμένοι για να βρείτε αποτελεσματικά αρχεία και φακέλους στο σύστημά σας Linux. Μπορείτε να επιλέξετε ανάμεσα στην ταχύτητα και τη βάση δεδομένων που είναι ενημερωμένη, ανάλογα με τις ανάγκες σας.

Σύνοψη – Αναζήτηση αρχείων και φακέλων υπό Linux – find και locate λεπτομερώς

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

Συχνές Ερωτήσεις

Ποια είναι η διαφορά μεταξύ find και locate;Η find αναζητά σε πραγματικό χρόνο στον σκληρό δίσκο, ενώ η locate χρησιμοποιεί μια βάση δεδομένων, επομένως είναι ταχύτερη, αλλά μπορεί να μην παρέχει ενημερωμένα αποτελέσματα.

Πώς μπορώ να ενημερώσω τη βάση δεδομένων της locate;Με την εντολή sudo updatedb μπορείτε να ενημερώσετε τη βάση δεδομένων της locate.

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

Πώς μπορώ να περιορίσω την αναζήτησή μου κατά όνομα αρχείου ή φακέλου;Χρησιμοποιήστε τις επιλογές -name ή -type για να αναζητήσετε συγκεκριμένα ονόματα ή τύπους αρχείων.

Ποιο είναι ένα παράδειγμα για έναν συνδυασμό κριτηρίων αναζήτησης;Μπορείτε να χρησιμοποιήσετε την find για να αναζητήσετε αρχεία τύπου -type f και ταυτόχρονα να καθορίσετε ότι τα αρχεία τροποποιήθηκαν τις τελευταίες 24 ώρες με -mtime -1.