NOC online · 24/7Longview, TX · +1 323 412 0665
KinetikatechServers · Security · Websites
EL

Εντολές Linux

find: Η αναζήτηση Linux που κάνει τα πάντα

Το find είναι η πιο επικίνδυνη εντολή σε έναν διακομιστή παραγωγής, και αυτός ακριβώς είναι ο λόγος που αξίζει τον έλεγχο. Απαριθμεί, φιλτράρει και εκτελεί σε μία έκφραση και κάθε κλασικό περιστατικό '/var here be dragons' ανατρέχει σε μια προεπισκόπηση που παραβλήθηκε κάποιος. Οι συνήθειες είναι μηχανικές: περπατήστε με -print ή -ls πρώτα, παρτίδα με -exec ... +, διοχετεύστε το -print0 σε xargs -0 και αντιμετωπίστε το -delete ως απόφαση δεύτερης διέλευσης, ποτέ ως πρώτο σχέδιο.

Βασικά σημεία

  • Φιλτράρετε στα μεταδεδομένα, όχι μόνο στο όνομα: -type f, -mtime +30, -size +100M και -perm -o+w εντοπίστε τα περίεργα αρχεία που χάνουν και οι δύο οι συμβάσεις ονοματοδοσίας και οι αναφορές ηλικίας.
  • Κάντε προεπισκόπηση κάθε καταστροφικού ερωτήματος: βρείτε το /var/www/uploads -name 'core.*' -ls πρώτα, αλλάξτε το -ls με -delete μόνο αφού διαβάσετε πραγματικά τη λίστα. η προεπισκόπηση είναι ο έλεγχος ασφαλείας, όχι μια πρόταση.
  • -exec cmd {} + ομαδοποιεί τα αρχεία σε λίγες επικλήσεις και κερδίζει το \; μορφή σε μεγάλα δέντρα? Η ίδια σύνταξη εξουσιοδοτεί το 'rm κάθε αρχείο που ταιριάζει σε μία διεργασία' χωρίς ένα σφάλμα-λίστα-υπερβολικά μεγάλου επιχειρήματος.
  • Μηδενική ασφαλής έξοδος από προεπιλογή: εύρεση . -όνομα '*.παλιό' -print0 | xargs -0 rm -v; Οι απλές σωλήνες σε xargs είναι ένα γνωστό μοτίβο απώλειας δεδομένων την ημέρα που ένα όνομα αρχείου περιέχει ένα διάστημα.
  • Τα -xdev και -maxdepth κρατούν τον περίπατο ειλικρινή: σταματούν να ακολουθούν το find σε προσαρτήσεις και στιγμιότυπα, κάτι που διασώζει τόσο το χρόνο εκτέλεσης όσο και τις υποθέσεις σας σχετικά με τον 'αυτόν τον κατάλογο'.
  • Τα χρονικά παράθυρα είναι ακριβή εάν ζητηθούν με ακρίβεια: -mmin -1440 για τις τελευταίες 24 ώρες, -νεότερο "2026-01-01" για από μια ημερομηνία και θυμηθείτε -xtime σημαίνει "n πλήρεις περιόδους 24 ωρών πριν" πριν την αναφέρετε σε ένα εισιτήριο.
  • Κλαδέψτε σκόπιμα: βρείτε . -διαδρομή '*/node_modules' -prune -o -name '*.js' -print παρακάμπτει τον έναν κατάλογο που διαφορετικά υπερτερεί του υπόλοιπου δέντρου σε μέγεθος και χρόνο.
  • Αναμένετε μη μηδενικές εξόδους σε μη αναγνώσιμους καταλόγους. Οι γραμμές stderr όπως η "Απόρριψη άδειας" είναι αρχεία που παραλείπονται, όχι δεδομένα, επομένως τα σενάρια είτε ανέχονται την κατάσταση εξόδου της εύρεσης είτε την ελέγχουν ρητά αντί να υποθέτουν καθαρούς περιπάτους.

Σημείωση από το πεδίο

Η ιστορία της χειρότερης εύρεσης -διαγραφής ξεκίνησε με ένα μοτίβο ονομάτων χωρίς εισαγωγικά που το δεύτερο κέλυφος επεκτάθηκε σε τρεις λέξεις ανάντη της εύρεσης. Ο κανόνας από τότε είναι απλός: -εκτύπωση πρώτα, quote πάντα, και -delete never rides σε μια εντολή την πρώτη φορά που εκτελείται.

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

Η εύρεση μου βρήκε αρχεία, αλλά η εντολή downstream δεν έκανε τίποτα. Γιατί;

Σχεδόν πάντα με εισαγωγικά ή κενά: το μοτίβο επεκτάθηκε από το κέλυφος πριν το δει το find ή το xargs δεν έλαβε τίποτα. Προσθέστε μοτίβα και ζευγαρώστε το -print0 με το xargs -0 κάθε φορά.

-διαγραφή ή rm μετά την εύρεση;

-Η διαγραφή είναι άμεση, γρήγορη και δεν συγχωρεί. δεν μπορεί να αναμιχθεί με -exec στην ίδια έκφραση. Εκτελέστε πρώτα το matching -print και διαβάστε το. αυτή είναι όλη η πειθαρχία.

Γιατί εντοπίζει σφάλματα αδειών εκτύπωσης σε καταλόγους συστήματος;

Στοιχεία που δεν μπορείτε να διαβάσετε σφάλματα εκτύπωσης στο stderr και να κάνετε την εύρεση εξόδου μη μηδενική. φιλτράρετε με 2>/dev/null για διαδραστική άνεση και μην ερμηνεύετε ποτέ αυτά τα σφάλματα ως απουσία αρχείων.

Διαφορά μεταξύ -mtime και -ctime ξανά;

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

Πώς βοηθάει η Kinetikatech στα εντολές linux

Η πρότασή μας είναι απλή: Οι εντολές και οι συνήθειες δέσμης ενεργειών που αποφασίζουν εάν ένας διαχειριστής χειρίζεται έναν διακομιστή ή τον καταπολεμά: αναζήτηση, μετατροπή, μεταφορά και επίβλεψη κειμένου και διεργασιών με τα εργαλεία που υπάρχουν σε κάθε βασική εγκατάσταση. Αναλάβτε την υπηρεσία μας Ασφάλεια διακομιστών Linux and Διαχείριση διακομιστών και έχει αξιολογηθεί σωστά, εφαρμοστεί καθαρά και παρακολουθείται όλο το 24ωρο.

Μιλήστε με έναν μηχανικό

Πρόβλημα διακομιστή; Εισβολή στον ιστότοπο; Αργός ιστότοπος;

Απάντηση σε κρίσιμα ζητήματα εντός 30 λεπτών — 24 ώρες την ημέρα, 7 ημέρες την εβδομάδα.

Ζήτηστε επείγουσα υποστήριξη support@kinetikatech.com