Android

Εντοπίστε την εντολή στο linux

ΠΩΣ ΝΑ ΑΠΕΝΕΡΓΟΠΟΙΗΣΕΙΣ ΌΛA ΤΑ PC ΣΤΟ ΣΧΟΛΕΙΟ ΣΟΥ!!||2020||

ΠΩΣ ΝΑ ΑΠΕΝΕΡΓΟΠΟΙΗΣΕΙΣ ΌΛA ΤΑ PC ΣΤΟ ΣΧΟΛΕΙΟ ΣΟΥ!!||2020||

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

Anonim

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

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

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

Εγκατάσταση locate (εντοπισμός εντολής δεν βρέθηκε)

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

Για να ελέγξετε αν το βοηθητικό πρόγραμμα locate είναι εγκατεστημένο στο σύστημά σας, ανοίξτε το τερματικό σας, πληκτρολογήστε locate και πατήστε Enter . Εάν το πακέτο είναι εγκατεστημένο, το σύστημα θα εμφανίσει locate: no pattern to search for specified , αλλιώς θα δείτε κάτι σαν locate command not found .

Αν το locate δεν είναι εγκατεστημένο, μπορείτε να το εγκαταστήσετε εύκολα χρησιμοποιώντας το διαχειριστή πακέτων της διανομής σας.

Εγκατάσταση locate στο Ubuntu και το Debian

sudo apt update sudo apt install mlocate

Εγκαταστήστε τον locate σε CentOS και Fedora

sudo yum install mlocate

Πώς locate εργασία

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

Κατά την εγκατάσταση του πακέτου mlocate, δημιουργείται μια εργασία cron που εκτελεί την εντολή updatedb κάθε 24 ώρες. Αυτό εξασφαλίζει ότι η βάση δεδομένων ενημερώνεται τακτικά. Για περισσότερες πληροφορίες σχετικά με τη διεργασία cron, ελέγξτε το αρχείο /etc/cron.daily/mlocate .

Η βάση δεδομένων μπορεί να ενημερωθεί με το χέρι, τρέχοντας την updatedb εντολή ως root ή χρήστη με δικαιώματα sudo:

sudo updatedb

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

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

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

Τρόπος χρήσης της εντολής locate

Η σύνταξη για την εντολή locate είναι η εξής:

locate PATTERN…

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

Για παράδειγμα, για να αναζητήσετε ένα αρχείο με όνομα .bashrc , πληκτρολογήστε:

locate.bashrc

Η έξοδος θα περιλαμβάνει τα ονόματα όλων των αρχείων που περιέχουν το string .bashrc στα ονόματά τους:

/etc/bash.bashrc /etc/skel/.bashrc /home/linuxize/.bashrc /usr/share/base-files/dot.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/bash.bashrc /usr/share/doc/adduser/examples/adduser.local.conf.examples/skel/dot.bashrc

Το αρχείο /root/.bashrc δεν θα εμφανίζεται επειδή εκτελέσαμε την εντολή ως κανονικός χρήστης που δεν έχει δικαιώματα πρόσβασης στον /root κατάλογο.

Αν η λίστα αποτελεσμάτων είναι μεγάλη, για καλύτερη ανάγνωση μπορείτε να διοχετεύσετε την έξοδο στη less εντολή:

locate.bashrc | less

Η εντολή locate δέχεται επίσης μοτίβα που περιέχουν χαρακτήρες περιστροφής, όπως ο χαρακτήρας μπαλαντέρ * . Όταν το πρότυπο δεν περιέχει σφαιρικούς χαρακτήρες, η εντολή αναζητά *PATTERN* , γι 'αυτό στο προηγούμενο παράδειγμα εμφανίστηκαν όλα τα αρχεία που περιείχαν το πρότυπο αναζήτησης στα ονόματά τους.

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

locate *.md

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

locate -n 10 *.py

Από προεπιλογή, ο locate πραγματοποιεί αναζητήσεις ευαίσθητων σε μικροεφαρμογές. Η επιλογή -i ( --ignore-case αρχική --ignore-case ) επιλέγει την εντολή να αγνοήσει την περίπτωση και να εκτελέσει αναζήτηση μη ευαίσθητη σε περίπτωση.

locate -i readme.md

/home/linuxize/p1/readme.md /home/linuxize/p2/README.md /home/linuxize/p3/ReadMe.md

Για να εμφανίσετε τον αριθμό όλων των καταχωρήσεων που αντιστοιχούν, χρησιμοποιήστε την επιλογή -c ( --count ). Η ακόλουθη εντολή θα επιστρέψει τον αριθμό όλων των αρχείων που περιέχουν το .bashrc στα ονόματά τους:

locate -c.bashrc

6

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

Για να εμφανιστούν μόνο τα ονόματα των αρχείων που υπάρχουν στο χρόνο locate , χρησιμοποιήστε την επιλογή -e ( --existing ). Για παράδειγμα, τα ακόλουθα θα επέστρεφαν μόνο τα υπάρχοντα αρχεία .json :

locate -e *.json

locate --regex -i "(.mp4|\.avi)"

συμπέρασμα

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

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

τερματικό εντοπισμό