fd - Μια απλή και γρήγορη εναλλακτική λύση για την εύρεση εντολών


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

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

Λειτουργίες fd

Μερικά από τα αξιοσημείωτα χαρακτηριστικά του fd:

  • Εύχρηστη σύνταξη – fd *pattern* αντί για find -inname *pattern*.
  • Η έγχρωμη έξοδος είναι παρόμοια με αυτή της εντολής ls.
  • Γρήγορη απόδοση. Τα σημεία αναφοράς του προγραμματιστή είναι διαθέσιμα εδώ.
  • Έξυπνη αναζήτηση με διάκριση πεζών-κεφαλαίων από προεπιλογή και εναλλάσσεται σε διάκριση πεζών-κεφαλαίων εάν το μοτίβο περιέχει ένα σύμβολο κεφαλαίων γραμμάτων.
  • Δεν αναζητείται σε κρυφά αρχεία και καταλόγους από προεπιλογή.
  • Δεν εξετάζει το .gitignore από προεπιλογή.
  • Ενημερότητα Unicode.

Πώς να εγκαταστήσετε το fd στο Linux

Θα εξετάσουμε πώς να εγκαταστήσετε το fd σε διαφορετικές διανομές Linux χρησιμοποιώντας τον προεπιλεγμένο διαχειριστή πακέτων όπως φαίνεται.

sudo apt install fd-find    [On Debian, Ubuntu and Mint]
sudo yum install fd-find    [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a sys-apps/fd  [On Gentoo Linux]
sudo pacman -S fd           [On Arch Linux]
sudo zypper install fd      [On OpenSUSE]  
sudo apk add fd             [On Alpine Linux]    

Πώς να χρησιμοποιήσετε το fd στο Linux

Παρόμοια με την εντολή εύρεσης, το fd έχει πολλές περιπτώσεις χρήσης, αλλά ας ξεκινήσουμε ελέγχοντας τις διαθέσιμες επιλογές:

fd -h
OR
fd --help

Ας ρίξουμε μια ματιά σε μερικά παραδείγματα. Μπορείτε να εκτελέσετε το fd χωρίς κανένα όρισμα, η έξοδος είναι πολύ παρόμοια με την εντολή ls -R.

fd

Στα επόμενα παραδείγματα fd, θα χρησιμοποιήσω μια προεπιλεγμένη εγκατάσταση του WordPress που βρίσκεται στο /var/www/html/ για να αναζητήσω διαφορετικά αρχεία και φακέλους.

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

fd | head

Βρείτε όλα τα αρχεία JPG στο Linux

Ας υποθέσουμε ότι θέλουμε να βρούμε όλα τα αρχεία jpg. Μπορούμε να χρησιμοποιήσουμε τη σημαία “-e ” για να φιλτράρουμε κατά επέκταση αρχείου:

fd -e jpg

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

fd <pattery> <directory>

Αναζήτηση για String σε όλα τα αρχεία PHP στο Linux

Η σημαία “-e ” μπορεί να χρησιμοποιηθεί σε συνδυασμό με ένα μοτίβο όπως φαίνεται:

fd -e php index

Η παραπάνω εντολή θα αναζητήσει αρχεία με επέκταση .php και θα έχει τη συμβολοσειρά "index " σε αυτά:

Εάν θέλετε να εξαιρέσετε ορισμένα αποτελέσματα, μπορείτε να χρησιμοποιήσετε τη σημαία “-E ” όπως φαίνεται:

fd -e php index -E wp-content

Αυτή η εντολή θα αναζητήσει όλα τα αρχεία με επέκταση php, που περιέχουν τη συμβολοσειρά "index " και θα αποκλείσει αποτελέσματα από τον κατάλογο "wp-content".

Βρείτε όλα τα αρχεία JPG και τροποποιήστε τα δικαιώματα

Ακριβώς όπως εύρεση, μπορείτε να χρησιμοποιήσετε ορίσματα -x ή --exec για να εκτελέσετε παράλληλη εκτέλεση εντολών με τα αποτελέσματα αναζήτησης.

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

fd -e jpg -x chmod 644 {}

Τα παραπάνω θα βρουν όλα τα αρχεία με επέκταση jpg και θα εκτελούν το chmod 644 .

Ακολουθούν ορισμένες χρήσιμες επεξηγήσεις και η χρήση των παρενθέσεων:

  • {} – Ένα σύμβολο κράτησης θέσης που θα αλλάξει με τη διαδρομή του αποτελέσματος αναζήτησης (wp-content/uploads/01.jpg).
  • {.} – παρόμοιο με το {}, αλλά χωρίς χρήση της επέκτασης αρχείου (wp-content/uploads/01).
  • {/}: Ένα σύμβολο κράτησης θέσης που θα αντικατασταθεί από το όνομα βάσης του αποτελέσματος αναζήτησης (01.jpg).
  • {//}: Γονικός κατάλογος της διαδρομής που ανακαλύφθηκε (wp-content/uploads).
  • {/.}: Μόνο το όνομα βάσης, χωρίς την επέκταση (01).
συμπέρασμα

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