Cu siguranță, cu o anumită ocazie, ați verificat că aveți un tip de fișier inutil în mai multe foldere, care ocupă puțin spațiu, dar pur și simplu nu îl doriți pe computer. De exemplu, în macOS sunt create unele fișiere .DS_Store care salvează informații despre pictograma unui folder, dimensiunea și poziția acestuia, iar în Windows există desktop.ini care sunt echivalente. Ce facem dacă avem un director plin de subdirectoare și dorim să ștergem aceste sau alte tipuri de fișiere? Ceea ce trebuie să facem este șterge recursiv Fiecare dintre ei.
Acest lucru îl putem face cu toate tipurile de fișiere. De exemplu, dacă avem un hard disk plin de muzică, avem un player care a descărcat coperțile și nu vrem să le salvăm, putem folosi aceeași comandă pe care o vom detalia mai jos pentru a le șterge. Desigur, ținând cont că vom șterge recursiv fișierele de directoare și subdirectoarele acestora cu terminalul și că acestea se vor pierde pentru totdeauna, nu strică să fii atent și / sau faceți un test înainte de a șterge tot ceea ce dorim să ștergem.
Ștergeți recursiv fișiere de un tip de la terminal
Comenzile pentru fișierele de exemplu macOS .DS_Store ar fi după cum urmează:
cd ruta/a/directorio find . -name '*.DS_Store' -type f -delete
Dintre comenzile anterioare, prima ne va plasa în folderul de unde vrem să începem, adică cel care conține toate fișierele .DS_Store pe care dorim să le ștergem. Al doilea este cel care va șterge toate fișierele .DS_Store din primul folder și subfolderele acestuia sau directoare. Dacă vrem să ștergem fotografiile din folderele de muzică menționate anterior, trebuie să punem tipul de extensie între ghilimele, cum ar fi „* .jpg”.
Pentru a fi 100% sincer, acest lucru îl voi face în ziua în care voi înceta să folosesc Cantata ca player de muzică implicit. Cantata creează și ascunde fișiere de informații cu același nume ca melodiile care au în față un punct și o bară joasă (de exemplu, ._Song). Când voi avea nevoie, comanda pe care va trebui să o folosesc va fi găsi. -nume '._ *' -tip f -delete.
Acest mic ghid v-a ajutat să ștergeți recursiv fișiere de pe terminal?
Mulțumesc, dar există o eroare în codul dvs. Trebuie să utilizați expresia regulată „*”, adică „* .DS_STORE”. Vă recomand să îl corectați. Ei bine, pentru cei care au mai puține cunoștințe despre bash, codul pe care l-ați dat nu va funcționa pentru ei. Salutari!