Σίγουρα σε ορισμένες περιπτώσεις έχετε επαληθεύσει ότι έχετε έναν άχρηστο τύπο αρχείου σε πολλούς φακέλους, ο οποίος καταλαμβάνει λίγο χώρο, αλλά απλά δεν το θέλετε στον υπολογιστή σας. Για παράδειγμα, στο macOS δημιουργούνται ορισμένα αρχεία .DS_Store που αποθηκεύουν πληροφορίες σχετικά με το εικονίδιο ενός φακέλου, το μέγεθος και τη θέση του, και στα Windows υπάρχουν desktop.ini που είναι ισοδύναμα. Τι κάνουμε εάν έχουμε έναν κατάλογο γεμάτο υποκαταλόγους και θέλουμε να διαγράψουμε αυτά ή άλλους τύπους αρχείων; Αυτό που πρέπει να κάνουμε είναι διαγράψτε αναδρομικά Κάθε ένα από αυτά.
Αυτό είναι κάτι που μπορούμε να κάνουμε με όλους τους τύπους αρχείων. Για παράδειγμα, εάν έχουμε έναν σκληρό δίσκο γεμάτο μουσική, έχουμε ένα πρόγραμμα αναπαραγωγής που έχει κατεβάσει τα εξώφυλλα και δεν θέλουμε να τα αποθηκεύσουμε, μπορούμε να χρησιμοποιήσουμε την ίδια εντολή που θα αναλύσουμε παρακάτω για να τα διαγράψουμε. Φυσικά, λαμβάνοντας υπόψη ότι πρόκειται να διαγράψουμε αναδρομικά αρχεία καταλόγου και τους υποκαταλόγους τους με το τερματικό και ότι αυτά θα χαθούν για πάντα, δεν είναι κακό να είσαι προσεκτικός ή / και κάντε μια δοκιμή πριν διαγράψετε όλα όσα θέλουμε να διαγράψουμε.
Διαγράψτε αναδρομικά αρχεία ενός τύπου από το τερματικό
Οι εντολές για το παράδειγμα αρχείων macOS .DS_Store θα ήταν οι εξής:
cd ruta/a/directorio find . -name '*.DS_Store' -type f -delete
Από τις προηγούμενες εντολές, η πρώτη θα μας τοποθετήσει στο φάκελο στον οποίο θέλουμε να ξεκινήσουμε, δηλαδή σε αυτόν που περιέχει όλα τα αρχεία .DS_Store που θέλουμε να διαγράψουμε. Το δεύτερο είναι αυτό που θα διαγράψει όλα τα αρχεία .DS_Store από το τον πρώτο φάκελο και τους υποφακέλους του ή καταλόγους. Εάν αυτό που θέλουμε είναι να διαγράψουμε τις φωτογραφίες από τους φακέλους μουσικής που αναφέρθηκαν προηγουμένως, πρέπει να τοποθετήσουμε τον τύπο επέκτασης μεταξύ των εισαγωγικών, όπως '* .jpg'.
Για να είμαι 100% ειλικρινής, αυτό θα κάνω την ημέρα που θα σταματήσω να χρησιμοποιώ το Cantata ως το προεπιλεγμένο πρόγραμμα αναπαραγωγής μουσικής. Η Cantata δημιουργεί και κρύβει αρχεία πληροφοριών με το ίδιο όνομα με τα τραγούδια που έχουν τελεία και χαμηλή γραμμή μπροστά τους (για παράδειγμα, ._Song). Όταν τη χρειάζομαι, η εντολή που θα πρέπει να χρησιμοποιήσω θα είναι εύρημα. -όνομα '._ *' - πληκτρολογήστε f-διαγραφή.
Σας βοήθησε αυτός ο μικρός οδηγός να διαγράψετε αναδρομικά αρχεία από το τερματικό;
Ευχαριστούμε, αλλά υπάρχει σφάλμα στον κωδικό σας. Πρέπει να χρησιμοποιήσετε την κανονική έκφραση '*', δηλαδή '* .DS_STORE'. Σας προτείνω να το διορθώσετε. Λοιπόν, για όσους έχουν λιγότερη γνώση του bash, ο κωδικός που δώσατε δεν θα λειτουργήσει για αυτούς. Χαιρετίσματα!