ART

 

.

Το find είναι ένα πρόγραμμα αναζήτησης στο σύστημα αρχείων σε λειτουργικά συστήματα τύπου Unix. Είναι πρόγραμμα της γραμμής εντολών.
Χρήση και λειτουργία

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

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

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

find . -name 'my*'

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

find . -name "my*" -type f

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

Τα προηγούμενα παραδείγματα εμφάνιζαν μια λίστα με αποτελέσματα γιατί η προκαθορισμένη ενέργεια της εντολής find είναι να εκτελέσει την ενέργεια '-print'. (Σημειώστε ότι παλαιότερες εκδόσεις της εντολής δεν είχαν προκαθορισμένη ενέργεια με αποτέλεσμα να μην εμφανίζεται καμία έξοδος.)

find . -name "my*" -type f -ls

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

find / -name "myfile" -type f -print

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

find /home/weedly -name "myfile" -type f -print

Αυτή η εντολή ψάχνει για αρχεία που ονομάζονται myfile στον κατάλογο /home/weedly , που είναι ο προσωπικός κατάλογος του χρήστη με όνομα weedly. Πρέπει πάντα να προσδιορίζεις τον κατάλογο στο πιο βαθύτερο επίπεδο που θυμάσαι.
Αναζήτηση σε πολλούς καταλόγους

find local /tmp -name mydir -type d -print

Αυτή ψάχνει στους καταλόγους με όνομα mydir στον υποκατάλογο local του τρέχοντος καταλόγου και στον κατάλογο /tmp .
Εκτέλεση ενέργειας

find /var/ftp/mp3 -name "*.mp3" -type f -exec chmod 744 {} \;

Αυτή η εντολή θα αλλάξει τις Άδειες συστήματος αρχείων από όλα τα αρχεία του καταλόγου /var/ftp/mp3. Η ενέργεια καθορίζεται με την επιλογή n -exec chmod 744 {} \; στην εντολή. Για κάθε αρχείο που το όνομα του τελειώνει σε .mp3,η εντολή chmod 744 {} εκτελείται αντικαθιστώντας την μεταβλητή {} με το όνομα του αρχείου.Η άνω τελεία ; (την οποία ακυρώνουμε με αριστερή πλάγια κάθετο για να μην την ερμηνεύσει το κέλυφος σαν διαχωριστικό εντολής) σηματοδοτεί το τέλος της εντολής. Οι άδειες 744,εμφανίζονται συνήθως σαν rwxr--r--, δίνοντας στον χρήστη πλήρη δικαιώματα να γράψει, διαβάσει και εκτελέσει, ενώ οι άλλοι χρήστες μπορούν μόνο να το διαβάσουν. Σε μερικά κελύφη το {} πρέπει να προστατευθεί με χρήση ειδικών χαρακτήρων.
Δείτε επίσης

Κατάλογος βοηθημάτων του Unix

Προγράμματα γραμμής εντολών και ενσωματωμένα του Unix και (άλλα)
Σύστημα αρχείων

cat cd chmod chown chgrp cksum cmp cp du df file fsck fuser ln ls lsattr lsof mkdir mount mv pwd rm rmdir split touch

Διεργασίες
at bg chroot

cron exit fg kill killall nice pgrep pidof pkill ps pstree sleep time top wait
watch
Περιβάλλον χρήστη

env finger id logname mesg passwd su sudo uname uptime w wall who whoami write

Επεξεργασία κειμένου
awk comm cut ed ex fmt head iconv join less more paste sed sort tac tail tr uniq wc xargs
Προγραμματισμός Κελύφους
. alias basename dirname echo expr false printf test true unset
Δικτύωση
inetd netstat nslookup ping rlogin nc traceroute
Αναζήτηση
find grep strings
Διάφορα
apropos bc cal clear date dd lp man nl size tee yes

Εγκυκλοπαίδεια Πληροφορικής

Κόσμος

Αλφαβητικός κατάλογος

Hellenica World - Scientific Library

Από τη ελληνική Βικιπαίδεια http://el.wikipedia.org . Όλα τα κείμενα είναι διαθέσιμα υπό την GNU Free Documentation License