Znajdź polecenie w Linux z praktycznymi przykładami

Znajdź polecenie w Linux z praktycznymi przykładami

Polecenie Find to wszechstronne i potężne narzędzie w systemie Linux, umożliwiając użytkownikom wyszukiwanie plików i katalogów na podstawie różnych kryteriów, takich jak nazwa, typ, rozmiar, czas modyfikacji i wiele innych. Opanowanie polecenia Find może znacznie poprawić wydajność i skuteczność podczas pracy z systemami Linux. W tym artykule zawiera kompleksowy przewodnik po komendzie Find, w towarzystwie praktycznych przykładów.

Znajdź składnię polecenia i opcje

Podstawowa składnia polecenia Find jest następująca:

Znajdź [ścieżkę] [wyrażenie]
1Znajdź [ścieżkę] [wyrażenie]
  • ŚCIEŻKA: Katalog, w którym można rozpocząć wyszukiwanie.
  • WYRAŻENIE: Kryteria wyszukiwania, w tym opcje i testy.

Niektóre typowe opcje obejmują:

  • -nazwa: Wyszukaj pliki na podstawie ich nazwy lub wzoru.
  • -typ: Wyszukaj pliki na podstawie ich typu (e.G., regularne pliki, katalogi, linki symboliczne).
  • -rozmiar: Wyszukaj pliki na podstawie ich rozmiaru.
  • -MTime: Wyszukaj pliki na podstawie ich czasu modyfikacji.
  • -użytkownik: Wyszukaj pliki na podstawie ich właściciela.
  • -Grupa: Wyszukaj pliki na podstawie ich grupy.

Znalezienie plików według nazwy

Aby wyszukać pliki według nazwy lub wzoru, użyj -nazwa Opcja, a następnie nazwa pliku lub wzór zamknięty w pojedynczych cytatach.

  • Wyszukiwanie wrażliwe na sprawę:
    Znajdź/ścieżka/to/Directory -name 'nazwa pliku.tekst'  
  • Wyszukiwanie wrażliwe na przypadki:
    Znajdź/ścieżka/do/Directory -Iname 'nazwa pliku.tekst'  
  • Korzystanie z dzikich kart:
    Znajdź/ścieżka/to/Directory -name '*.tekst'  

Znalezienie plików według typu:

Aby wyszukać pliki na podstawie ich typu, użyj -typ opcja, a następnie specyfikator typu pliku.

  • Zwykłe pliki:
    Znajdź/ścieżka/do/Directory -Type f  
  • KATALOMY:
    Znajdź/ścieżka/do/Directory -Type d  
  • Symboliczne linki:
    Znajdź/ścieżka/do/Directory -Type L  

Znalezienie plików według rozmiaru:

Aby wyszukać pliki na podstawie ich rozmiaru, użyj -rozmiar opcja, a następnie operator porównawczy (+, -, lub =) i rozmiar pliku.

  • Pliki większe niż 1 MB:
    Znajdź/ścieżka/do/Directory -Size +1M  
  • Pliki mniejsze niż 10 kb:
    Znajdź/ścieżka/do/Directory -Size -10K  
  • Pliki dokładnie 512 bajtów:
    Znajdź/ścieżka/do/Directory -Size 512c  

Znalezienie plików według czasu modyfikacji:

Aby wyszukać pliki na podstawie ich czasu modyfikacji, użyj -MTime opcja, a następnie operator porównawczy (+, -, lub =) i liczba dni.

  • Pliki zmodyfikowane w ciągu ostatnich 7 dni:
    Znajdź/ścieżka/do/katalog -mtime -7  
  • Pliki nie są zmodyfikowane w ciągu ostatnich 30 dni:
    Znajdź/ścieżka/do/katalog -mtime +30  
  • Pliki zmodyfikowane dokładnie 14 dni temu:
    Znajdź/ścieżka/do/katalog -mtime 14  

Znalezienie plików właściciela i grupy:

Aby wyszukać pliki na podstawie ich właściciela lub grupy, użyj -użytkownik Lub -Grupa Opcja, a następnie nazwa użytkownika lub nazwa grupy.

  • Pliki należące do użytkownika „John”:
    Znajdź/ścieżka/do/Directory -user John  
  • Pliki należące do „programistów” grupy:
    Znajdź/ścieżka/do/Directory -Group Dewelopers  

Wykonanie poleceń na znalezionych plikach:

Aby wykonywać działania na znalezionych plikach, użyj -Exec opcja, a następnie polecenie i para kręconych aparatów ortodontycznych () jako symbol zastępczy ścieżki pliku. Polecenie powinno zostać zakończone półkolisem (;), które należy uciec lub otrzymać w pojedynczych cytatach.

  • Usuwanie znalezionych plików:
    Znajdź/ścieżka/to/Directory -name '*.bak '-exec rm  \;  
  • Przeprowadzka znalezione pliki do konkretnego katalogu:
    Znajdź/ścieżka/to/Directory -name '*.log '-exec mv /ścieżka/do/docel \;  
  • Zmiana uprawnień do plików:
    Znajdź/ścieżka/do/Directory -Type f -exec chmod 644  \;  

Łączenie wielu kryteriów wyszukiwania:

Aby połączyć wiele kryteriów wyszukiwania, użyj operatorów logicznych, takich jak -I, -Lub, I -nie.

  • Znajdź pliki większe niż 1 MB i zmodyfikowane w ciągu ostatnich 7 dni:
    Znajdź/ścieżka/do/Directory -Size +1m -i -mtime -7  
  • Znajdź pliki należące do 'Jan' lub należący do „Programiści” Grupa:
    Znajdź/ścieżka/do/Directory -User John -or -Grupa programistów  
  • Znajdź wszystkie pliki z wyłączeniem osób z '.TMP ' rozszerzenie:
    Znajdź/ścieżka/to/Directory -not -name '*.TMP '  

Advanced Find Techniques Command:

  • Korzystanie z wzorców regularnych z poleceniem Find:
    Znajdź/ścieżka/do/Directory -Type f -egex '.*\.\ (txt \ | log \) '  
  • Znalezienie i obsługa zepsutych symbolicznych linków:
    Znajdź/ścieżka/do/katalog -type l -xtype l -exec rm  \;  
  • Wyszukiwanie w określonych katalogach lub wykluczenie niektórych katalogów:
    Znajdź/ścieżka/do/katalog -path '/ścieżka/to/exclude/*' -prune -or -name '*.txt '-print  

Najlepsze praktyki korzystania z polecenia Find:

  • Rozpocznij wyszukiwanie od najbardziej konkretnego katalogu, aby zoptymalizować proces wyszukiwania.
  • Użyj mądrego przyrody i wzorców regularnych, aby udoskonalić wyniki wyszukiwania.
  • Sprawdź swoje kryteria wyszukiwania przed wykonywaniem poleceń na znalezionych plikach, aby uniknąć niezamierzonych działań.
  • Zawsze uciekaj lub cytuj postacie specjalne, takie jak przestrzenie, wsporniki i półkolony, aby zapewnić dokładną interpretację przez powłokę.

Wniosek

Opanowanie polecenia Find w Linux ma kluczowe znaczenie dla wydajnego wyszukiwania i zarządzania plikami w systemie. Rozumiejąc jego składnię, opcje i praktyczne przykłady, możesz poprawić swoją biegłość w korzystaniu z tego potężnego użyteczności. Pamiętaj, aby przestrzegać najlepszych praktyk podczas korzystania z polecenia Find, aby upewnić się, że wyszukiwania są dokładne i skuteczne.