Cum să găsiți fișiere în Linux?

Publicat: 2022-04-07

Cuprins

Introducere:

Find este un utilitar de linie de comandă UNIX care parcurge o ierarhie de fișiere. Îl puteți folosi pentru a găsi și opera fișiere și directoare. Fișierele, folderele, numele, datele de creare, datele modificărilor, proprietarii și permisiunile pot fi căutate folosind această comandă.

Îl puteți combina în continuare cu opțiunea „- exec ” pentru a efectua diverse acțiuni asupra rezultatelor găsite de comanda find .

În acest articol vom învăța cum să găsim fișiere în Linux folosind comanda Găsește .

Cum funcționează comanda Găsiți?

Find localizează fișierele de pe computer. Conform regulilor de prioritate, evaluează fiecare expresie, de la stânga la dreapta, în cadrul fiecărui arbore de directoare specificat de căile date. În operațiile AND sau în operațiunile SAU, rezultatul este „cunoscut” atunci când partea stângă a expresiei este TRUE sau FALSE. Găsiți apoi trece la următoarea cale până când toate căile au fost explorate.

Comanda find este instrumentul cel mai fundamental și mai puternic pentru lucrul cu fișiere pe un sistem Linux. Fișierele pot fi localizate singure sau împreună cu alte programe.

Sintaxă:

find [options] [path…] [expression]

sau

$ find [where to start searching from]

[expresia determină ce să găsești] [-opțiuni] [ce să găsești]

  • Tratamentul legăturii simbolice, opțiunile de depanare și strategia de optimizare sunt toate controlate de proprietatea opțiuni .
  • Proprietatea calea ... specifică directorul sau directoarele din care find va căuta fișiere.
  • Opțiunile, modelele de căutare și acțiunile sunt separate de operatori în atributul expresie .

Opțiuni:

-exec CMD : Fișierul căutat care îndeplinește criteriile de mai sus și returnează 0 pentru o stare de ieșire cu succes a execuției comenzii.

-ok CMD : Similar cu -exec, dar utilizatorului i se solicită în prealabil.

-inum N : Căutați fișiere cu numărul „N” în inod.

-links N : Găsiți fișiere care au legături „N”.

-name demo : Căutați fișiere cu numele „demo” în numele fișierului.

-fișier mai nou : Căutați fișiere care au fost actualizate sau create de la „fișier”.

-perm octa l: Dacă permisiunea este „octal”, căutați fișierul.

-print : Tipăriți numele căilor fișierelor identificate folosind criteriile rămase.

-empty : Căutați fișiere și foldere care sunt goale.

-size +N/-N : Căutați fișiere cu blocuri „N”; „N” urmat de „c” poate fi folosit pentru a măsura dimensiunea caracterelor; „+N” înseamnă dimensiunea > „N” blocuri, în timp ce „-N” înseamnă dimensiunea „N” blocuri.

-nume utilizator : Căutați fișiere cu numele de utilizator „nume” sau ID-ul „nume”.

(expr ) : Dacă „expr” este adevărat, atunci adevărat; utilizat pentru gruparea criteriilor cu SAU sau ȘI.

! expr : Adevărat dacă „expr” este fals.

Expresii:

Opțiunile (care influențează funcționarea generală mai degrabă decât procesarea fișierelor și returnează întotdeauna adevărat), testele (care returnează o valoare adevărată sau falsă) și acțiunile (care au efecte secundare și returnează o valoare adevărată sau falsă) sunt toate separate de operatori în expresie . Când operatorul este absent, -și este dedus.

Dacă expresia nu conține acțiuni suplimentare, atunci -prune, -print se aplică tuturor fișierelor pentru care este adevărată.

De exemplu, să privim următoarea comandă ca exemplu

find -L /var/www -name "*.js"

  • Opțiunea -L (opțiuni) spune comenzii find să urmeze legături simbolice.
  • /var/www (calea...) specifică directorul care va fi căutat.
  • Numele (expresia) „*.js” îi spune să caute fișiere care se termină cu .js (fișiere JavaScript).

Cum să găsești fișiere în linux după nume

Fișierele pot fi găsite după nume folosind comanda find . Puteți căuta un fișier după numele său folosind opțiunea -name.

find -type f -name functions.php

Cum să găsiți fișiere în Linux

utilizați -iname în loc de -name, pentru a rula o căutare care distinge majuscule și minuscule

Cum să găsiți fișiere în linux prin extensie

Puteți căuta fișiere după extensie, așa cum puteți căuta fișiere după nume.

find -type f -name '*.php'

pentru a găsi fișiere fără extensia dată, utilizați următoarea comandă

find -type f - not -name '*.php'

Găsiți fișiere după tip

Dacă trebuie să găsiți un anumit tip de fișier, cum ar fi un fișier obișnuit, un director sau un link simbolic, poate fi necesar să căutați anumite tipuri de fișiere. Totul în Linux este un fișier.

Specificați tipul de fișier pe care îl căutați utilizând opțiunea -type și unul dintre următorii descriptori:

  • f: un fișier obișnuit
  • d: director
  • l: legătură simbolică
  • c: dispozitive de caractere
  • b: blocarea dispozitivelor
  • p: conductă numită (FIFO)
  • s: priză

find public_html/wp-admin/ -type d

Găsiți fișiere după dimensiune

Parametrul -size trebuie transmis împreună cu parametrul size pentru a găsi fișiere în funcție de dimensiunea lor. Următoarele sufixe pot fi utilizate pentru a specifica dimensiunea fișierului:

  • b: blocuri de 512 octeți (implicit)
  • c: octeți
  • w: cuvinte de doi octeți
  • k: kiloocteți
  • M: Megaocteți
  • G: Gigaocteți

find . -type f -size -1M

Dacă doriți să căutați fișiere cu o dimensiune mai mare de 1 MB, utilizați +

find . -type f -size +1M

Puteți chiar să căutați fișiere într-un interval de dimensiuni

find . -type f -size +1M -size 3M

Găsiți fișiere prin modificare

Comanda find poate fi folosită și pentru a căuta fișiere în funcție de ultima dată când au fost modificate, accesate sau schimbate.

Folosiți caracterele plus și minus pentru „mai mult decât” și „mai puțin decât”, așa cum ați face atunci când căutați după dimensiune.

find . -mtime +30 -daystart

Găsiți cu permisiunea

Puteți utiliza opțiunea -perm pentru a căuta fișiere pe baza permisiunilor acestora.

find public_html/wp-admin/css -perm /444

/ este folosit ca prefix, atunci cel puțin pe categorie trebuie să aibă cel puțin bitul respectiv setat pentru ca un fișier să se potrivească.

-prefix, atunci trebuie setati cel putin bitii specificati.

Găsiți de către proprietar

Utilizați parametrii -user și -group pentru a găsi fișiere deținute de un anumit utilizator sau grup.

find -user testc7963

Concluzie

Am demonstrat cum se aplică comanda find cu o varietate de criterii și argumente.
Acest articol ar trebui să vă ofere o înțelegere de bază despre cum să găsiți fișiere pe computerele Linux.