Hitta kommandot i Linux (hitta filer och kataloger)

0 Comments

kommandot find är ett av de mest kraftfulla verktygen i Linux systemadministratörernas arsenal. Den söker efter filer och kataloger i en katalog hierarki baserat på en användare givna uttryck och kan utföra användardefinierade åtgärder på varje matchad fil.

Du kan använda kommandotfind för att söka efter filer och kataloger baserat på deras behörigheter, typ, datum, ägande, storlek och mycket mer., Det kan också kombineras med andra verktyg som grep eller sed .

hitta kommandosyntax #

den allmänna syntaxen för kommandotfind är följande:

  • attributetoptions styr behandlingen av de symboliska länkarna, felsökningsalternativen och optimeringsmetoden.
  • attributetpath... definierar startkatalogen eller katalogerna där Sök kommer att söka i filerna.,
  • attributetexpression består av alternativ, sökmönster och åtgärder åtskilda av operatörer.

för att söka efter filer i en katalog måste användaren som anropar kommandotfind ha läsbehörigheter på den katalogen.

låt oss ta en titt på följande exempel:

hitta filer med namn #

att hitta filer med namn är förmodligen den vanligaste användningen av kommandotfind., För att hitta en fil med sitt namn, använd alternativet-name följt av namnet på filen du söker efter.

till exempel, för att söka efter en fil som heter document.pdf i katalogen /home/linuxize använder du följande kommando:

för att köra en fall-okänslig sökning, ändra alternativet -name med -iname:

kommandot ovan matchar ”dokument.pdf”, ” dokument.pdf” ..osv.,

hitta filer genom förlängning #

att söka efter filer efter tillägg är detsamma som att söka efter filer efter namn. Till exempel, för att hitta alla filer som slutar med .log.gz inuti katalogen /var/log/nginx skriver du:

det är viktigt att nämna att du antingen måste citera mönstret eller fly asterisken * symbol med backslash \ så att det inte tolkas av skalet när du använder jokertecknet.,

för att hitta alla filer som inte matchar regex*.log.gz kan du använda alternativet-not. Till exempel, för att hitta alla filer som inte slutar i *.log.gz du skulle använda:

hitta filer efter typ #

Ibland kan du behöva söka efter specifika filtyper som vanliga filer, kataloger eller symboliska länkar. I Linux är allt en fil.,Div>: namngiven pipe (FIFO)

  • s: socket
  • för att till exempel hitta alla kataloger i den aktuella arbetskatalogen skulle du använda:

    det vanliga exemplet skulle vara att rekursivt ändra webbplatsfilbehörigheterna till 644 och katalogbehörigheter till 644=”e2f1d40ed6″> med kommandotchmod:

    hitta filer efter storlek #

    för att hitta filer baserat på filstorleken, skicka parametern-size tillsammans med storlekskriterierna.,9fdb538a6b”>: 512-byte block (standard)

  • c: byte
  • w: två byte ord
  • k: kilobyte
  • M: megabyte
  • G: Gigabyte
  • följande kommando kommer att hitta alla filer exakt 1024 byte inuti katalogen /tmp:

    find låter dig också söka efter filer som är större eller mindre än en viss storlek.,

    i följande exempel söker vi efter alla filer Mindre Än 1MB I den aktuella arbetskatalogen. Lägg märke till symbolen minus - före storleksvärdet:

    om du vill söka efter filer med en storlek som är större än 1MB måste du använda pluset + symbol:

    Du kan även söka efter filer inom ett storleksintervall., Följande kommando hittar alla filer mellan 1 och 2MB:

    hitta filer efter ändringsdatum #

    kommandot find kan också söka efter filer baserat på deras senaste ändring, åtkomst eller ändra tid.

    samma som när du söker efter storlek, använd plus-och minussymbolerna för ”större än” eller ”mindre än”.

    låt oss säga att för några dagar sedan ändrade du en av Dovecot-konfigurationsfilerna, men du glömde vilken., Du kan enkelt filtrera alla filer under katalogen /etc/dovecot/conf.d som slutar med .conf och har ändrats under de senaste fem dagarna:

    Här är ett annat exempel på filtreringsfiler baserat på ändringsdatumet med alternativet -daystart., Kommandot nedan listar alla filer i katalogen /home som ändrades 30 eller flera dagar sedan:

    hitta filer efter behörigheter #

    alternativet -perm låter dig söka efter filer baserat på filbehörigheterna.,

    till exempel, för att hitta alla filer med behörigheter för exakt 775 inuti katalogen /var/www/html, skulle du använda:

    Du kan prefix det numeriska läget med minus - eller snedstreck /.

    När snedstreck/ används som prefix måste minst en kategori (användare, grupp eller andra) ha minst respektive bitar för en fil som ska matcha.,

    Tänk på följande exempelkommando:

    ovanstående kommando matchar alla filer med läsbehörigheter för antingen användare, grupp eller andra.

    om minus - används som prefix, då för att filen ska matcha, måste åtminstone de angivna bitarna ställas in., Följande kommando kommer att söka efter filer som har läs-och skrivbehörighet för ägaren och gruppen och är läsbara av andra användare:

    hitta filer efter ägare #

    för att hitta filer som ägs av en viss användare eller grupp, använd alternativen -user och -group.

    till exempel, för att söka efter alla filer och kataloger som ägs av användaren linuxize, skulle du köra:

    här är ett verkligt exempel., Låt oss säga att du vill hitta alla filer som ägs av användaren www-data och ändra äganderätten till de matchade filerna från www-data till nginx:

    hitta och ta bort filer #

    för att radera alla matchande filer, Lägg till -delete alternativet till slutet av matchuttrycket.

    se till att du använder det här alternativet endast när du är säker på att resultatet matchar de filer du vill ta bort., Det är alltid en bra idé att skriva ut de matchade filerna innan du använder alternativet -delete.

    för att till exempel ta bort alla filer som slutar med.temp från/var/log/ skulle du använda:

    använd alternativet-delete med stor försiktighet. Kommandotfind utvärderas som ett uttryck och om du lägger till alternativet-delete först tar kommandot bort allt under de startpunkter du angav.,

    när det gäller kataloger kan findbara ta bort tomma kataloger, samma som rmdir.

    slutsats #

    Vi har visat dig hur du använder kommandotfind med olika alternativ och kriterier.

    den här artikeln ska ge dig en grundläggande förståelse för hur du hittar filer på dina Linux-system. Du kan också besöka mansidanfindoch läsa om alla andra kraftfulla alternativ för kommandotfind.


    Lämna ett svar

    Din e-postadress kommer inte publiceras. Obligatoriska fält är märkta *