Laatst geupdate op
Als u een bestand op Linux probeert te zoeken, zijn er een paar manieren om dit te doen, waaronder het gebruik van de terminal of apps op het scherm. Deze gids laat u zien hoe.
Hoe zorgvuldig u ook bent met bestandsbeheer, u zult zich uiteindelijk afvragen waar een bepaald document zich bevindt. Dit geldt voor Mac, Windows en zelfs Linux.
Hoe zoek je naar een bestand in Linux? Het blijkt dat het besturingssysteem een aantal zeer krachtige ingebouwde tools heeft voor het zoeken naar bestanden. Dit is wat u moet weten.
Een bestand zoeken in Linux vanaf de opdrachtregel
De krachtigste methode om naar bestanden op Linux te zoeken, is door de opdrachtregel te gebruiken. Net als Windows heeft een vind opdracht, dat doet Linux ook. Het UNIX-commando vind kan heel gemakkelijk elk type bestand vinden waarnaar u op zoek bent. Op de juiste manier uitgevoerd, vind kan zelfs in uw bestanden kijken om bepaalde tekstreeksen te identificeren, en u kunt uw zoekopdracht verfijnen tot die bestanden die onlangs zijn gewijzigd.
Basisgebruik
Het basisgebruik van find ziet er als volgt uit:
zoek /home/jeff -naam “*.jpg”
Dat commando zou in mijn homedirectory zoeken naar alle bestanden die eindigen op .jpg. Er is echter veel meer dat kan worden gedaan met de opdracht.
Symbolische links volgen
Standaard is de vind commando negeert symbolische links. De volgende opdracht zal echter die links volgen:
zoek -O3 -L /var/www/ -naam “*.html”
In het bovenstaande voorbeeld zou de opdracht alle HTML-bestanden in de weergeven /var/www mappenboom.
Lege bestanden lokaliseren
Laten we nu zeggen dat u alle lege bestanden in een map wilt identificeren. Het volgende commando zou precies dat doen:
vind. -type f -leeg.
De sleutel hier is de -type en -leeg parameters, gebruikt in plaats van de -naam vlag in eerdere voorbeelden.
Verdere voorbeelden
Laten we nog een basisvoorbeeld bekijken, dat bestanden teruggeeft die in de voorgaande 6 dagen zijn gewijzigd.
find /home -user randomperson -mtime 6 -iname "*.db"
In dit commando worden alle bestanden die eindigen op .db vermeld worden, tekst hoofdletter negeren, maar alleen als de bestanden in de afgelopen 6 dagen zijn gewijzigd door een gebruiker met de naam willekeurig persoon.
Deze uitvoering retourneert alle bestanden in de opgegeven map die in de afgelopen 11 dagen zijn gewijzigd
Handige opties en optimalisaties voor het vinden van Linux-bestanden
Extra vlaggen kunnen bepalen welke volgorde vind zijn zoektests toepast. Standaard, vind filtert de zoekresultaten eerst op bestandsnaam, voordat u andere tests uitvoert. Deze vlag zou zijn -O1, maar er is echt geen reden om het op te nemen.
Als je voorbij de -O2 vlag, vind filters op basis van de bestandsnaam en vervolgens het bestandstype. De derde keuze, -O3, rangschikt de zoekopdracht automatisch opnieuw op basis van efficiënt gebruik van middelen en waarschijnlijkheid dat relevante resultaten worden geretourneerd.
U kunt meer van het standaardgedrag wijzigen met behulp van deze parameters:
- -maxdiepte X: doorzoekt de opgegeven map en zijn submappen, tot een maximale diepte van x.
- -ik noem: doorzoekt bestanden, negeert hoofdletters.
- -niet: levert alleen resultaten op die niet overeenkomen met de opgegeven testcase.
- -type f: zoekt alleen naar bestanden
- -type d: zoekt alleen naar mappen
- -mtijd X: retourneert alleen die bestanden die zijn gewijzigd in de vorige x dagen.
Grep gebruiken om bestanden te lokaliseren op basis van inhoud
Op zichzelf gebruikt, vind zal uw bestanden en mappen alleen filteren op basis van bestandsnamen en metadata. Het is echter mogelijk om nog dieper te graven en een ander Linux-commando te gebruiken om bestanden te zoeken op basis van wat ze bevatten.
De tool hiervoor is de beproefde grep opdracht. Dit is hoe het werkt.
vind. -type f -exec grep "forinstance" '{}' \; -afdrukken.
Deze opdracht doorzoekt elk bestand (-type f) binnen de huidige directorystructuur (aangeduid door . in de opdracht). Vervolgens wordt het uitgevoerd grep "bijvoorbeeld" op elk van die bestanden, waarbij de bestanden worden afgedrukt die bijvoorbeeld.
In dit voorbeeld is de vind commando retourneert alle bestanden die de tekst "Hallo" bevatten
In het bovenstaande commando zijn de accolades ({}) zijn een tijdelijke aanduiding voor de bestandsresultaten die worden geretourneerd door de vind opdracht. Deze worden tussen enkele aanhalingstekens geplaatst (’) om verzending te voorkomen grep een misvormde bestandsnaam.
De -exec commando wordt beëindigd door de puntkomma (;), die een ontsnapping nodig heeft (\;)dus Linux probeert het niet te interpreteren als een andere opdracht of parameter.
Exec gebruiken om uw zoekresultaten een stap verder te brengen
Nu u weet hoe u uw vind resultaten naar een ander commando met behulp van -exec, zult u geïnteresseerd zijn om te leren dat u veel meer kunt doen dan alleen grep uw zoekresultaten. In feite maakt die mogelijkheid het vrij eenvoudig om snel en gemakkelijk bestanden massaal te wijzigen.
vind. -name "rc.conf" -exec chmod o+r '{}' \;
Uitgegeven door de rootgebruiker in de /etc directory, zou het bovenstaande commando zoeken naar alle bestanden met de naam rc.conf. Het zou de machtigingen voor elk van die bestanden wijzigen om de eigenaar van het bestand leesmachtigingen te geven (chmod o+r).
Onthoud, -exec wordt uitgevoerd vanuit de hoofdmap van uw Linux-installatie. Als u uw aanvullende opdracht liever uitvoert vanuit de map die het overeenkomende bestand bevat, gebruikt u -execdir in plaats van.
Standaard, -exec en -execdir zullen ononderbroken op eigen kracht blijven draaien. Als je liever prompts ziet voordat het tweede commando iets doet, vervang dan de opties door -Oke of -okdir, respectievelijk.
De... gebruiken -Oke vlag, vind zal u vragen voordat u actie onderneemt op de bestanden die overeenkomen met uw zoekparameters
Om er echt het beste van te maken vind, het is van cruciaal belang om lees de handmatige invoer voor de opdracht.
Een bestand zoeken in Linux met behulp van de GUI
Veel GUI-bestandsbeheerders voor Linux ondersteunen ook zoekopdrachten. In Ubuntu kunt u naar specifieke bestanden zoeken met de Bestanden sollicitatie. Klik gewoon op het mappictogram in het Dock en vervolgens op het vergrootglas.
Met deze GUI-tool kunt u filteren op bestandstype en wanneer het bestand voor het laatst is geopend of gewijzigd. Wat u met deze optie niet heeft, is de mogelijkheid om andere opdrachten snel uit te voeren op uw zoekresultaten.
Leer de ins en outs van Linux
Of je nu nieuw bent in het Linux-besturingssysteem of het al jaren gebruikt, je kunt altijd je vaardigheden opfrissen. Nu je weet hoe je een bestand moet doorzoeken in Linux, kan het handig zijn om: weet hoe je SCP. moet gebruiken om het bestand naar een andere machine over te brengen.
Als u de toegang tot bestanden wilt beperken, moet u: lijst de gebruikers op Linux eerst.
Hoe de cache, cookies en browsegeschiedenis van Google Chrome te wissen
Chrome doet uitstekend werk door uw browsegeschiedenis, cachegeheugen en cookies op te slaan om uw browserprestaties online te optimaliseren. Haar is hoe te...