- 1. Bestanden zoeken op naam of extensie met opdrachten in Linux
- 2. Bestanden zoeken op naam of extensie met niet-hoofdlettergevoelige opdrachten in Linux
- 3. Hoe bestanden met 777- en chmod 755-machtigingen op Linux te vinden
- 4. Bestanden zoeken en verwijderen met opdrachten in Linux
- 5. Vind bestanden in een tijdbereik met commando's in Linux
- 6. Vind bestanden van een specifieke grootte met commando's in Linux
- 7. Vind bestanden grafisch in Linux
Bij het werken in een UNIX-omgeving, zoals Linux in dit geval, is het ideaal om in detail het gebruik van enkele commando's te kennen die ons zullen helpen bij meerdere taken, zowel administratief als persoonlijk. Een daarvan is de opdracht Zoeken die, zoals de naam al aangeeft, wordt gebruikt om op een eenvoudige maar functionele en volledige manier bestanden of elementen in het besturingssysteem te vinden.
Wanneer we besluiten de opdracht find te gebruiken, kunnen we de lijst met bestanden of mappen doorzoeken en lokaliseren op basis van de voorwaarden die we aangeven in de uit te voeren gebruikssyntaxis. Vervolgens zullen we zien wat het find-commando is en hoe we het in Linux kunnen gebruiken met behulp van de verschillende parameters.
Wat is vinden?Zoek is een commando binnen Linux-distributies dat erg handig is, ondanks dat het enigszins onbekend is. Het is een opdracht die de taak van het vinden van een bestand zal vergemakkelijken wanneer we veel bestanden hebben en het echt moeilijk is om het te vinden. Naast bestanden kunt u ook hele mappen doorzoeken of verwijderen. U kunt zoeken met specifieke filters zoals grootte, naam, extensie, datum …
Zoekopdrachten filteren met FindEen van de grote voordelen van het gebruik van deze opdracht is dat we de resultaten kunnen filteren op verschillende variabelen, zoals:
- Rechten
- Groepen
- Gebruikers
- Type bestand
- Datum van aanmaak of wijziging
- Grootte en meer opties beschikbaar
Solvetic zal verschillende methoden uitleggen om de opdracht Zoeken effectief in Linux te gebruiken en in dit geval zullen we Ubuntu 19.04 gebruiken. We zullen zien hoe we de opdracht find kunnen gebruiken om bestanden met filters te zoeken en te doorzoeken met behulp van de Linux-terminal.
1. Bestanden zoeken op naam of extensie met opdrachten in Linux
Dit is het meest essentiële onderdeel van het gebruik van de opdracht Zoeken en hiervoor is het vereist om de naam van het object of de extensie (.mp4, .txt,. Jpg.webp, enz.) te kennen om een direct resultaat te verkrijgen.
Stap 1
We willen bijvoorbeeld een bestand vinden met de naam Solvetic.docx dat zich in een map op het bureaublad bevindt, in dit geval moeten we naar dat pad navigeren en vervolgens het volgende uitvoeren:
zoek -name Solvetic.docxStap 2
Als resultaat zullen we de map zien waarin het bestand wordt gehost (indien van toepassing):
Stap 3
Integendeel, als we alle bestanden met een specifieke extensie willen zien, zoals .docx, zullen we het volgende uitvoeren:
zoek -naam "* .docx"Stap 4
Het sterretje vermeldt alle bestanden met deze extensie
Stap 5
De algemene syntaxis voor de opdracht Zoeken is als volgt:
zoek [-H] [-L] [-P] [pad…] [uitdrukking]Stap 6
Deze parameters zijn:
-HHet volgt geen symbolische links, behalve als de opdrachtregelargumenten worden verwerkt.
-LVolg de symbolische links.
-PHet volgt nooit symbolische links en is de standaardoptie
Stap 7
De optie [pad…] geeft de locatie aan waar de zoekopdracht moet worden uitgevoerd op Linux. De parameter [expressie] kan operators, opties, tests of acties zijn die moeten worden uitgevoerd, we zien dat het Find-commando standaard de beschikbare symbolische koppelingen negeert, maar met -L zullen we ernaar zoeken voor meer volledige resultaten.
Er zijn drie optimalisatieniveaus die we kunnen selecteren wanneer we Zoeken uitvoeren, dit zijn:
- -O1
- -O2
- -O3
Stap 8
De waarde -O1 is de standaardoptie en de functie ervan is om de opdracht Zoeken te forceren om te zoeken op basis van de bestandsnaam die we hebben gedefinieerd. Het -O2-niveau zorgt voor het prioriteren van de bestandsnaamfilters, vervolgens voert het alle filters uit op basis van het bestandstype en later zal het andere voorwaarden gebruiken voor volledige resultaten en het -O3-niveau voert een diepere optimalisatie uit waarbij alle bronnen maximaal worden gebruikt .
Opdrachtopties zoekenDe algemene zoekopties zijn:
- -O1: standaardwaarde, het is een filter gebaseerd op de naam van het aangegeven bestand.
- -O2: Zoek eerst op bestandsnaam en vervolgens op type
- -O3: voer een zoekopdracht uit die de resultaten automatisch sorteert op basis van het gebruik van bronnen
- -maxdepth X: doorzoek de huidige directory en subdirectories op X-niveaus.
- -iname: zoeken zonder te vertrouwen op de tekst.
- -not: Retourneert alleen de resultaten die niet overeenkomen met de zoekopdracht
- -type f: Zoek alleen bestanden.
- -type d: zoek in directory's
2. Bestanden zoeken op naam of extensie met niet-hoofdlettergevoelige opdrachten in Linux
Dit is een methode waarmee we bestanden kunnen vinden en de resultaten kunnen weergeven die hoofdletters en kleine letters bevatten:
vind -iname solvetic.docx
Zoek namen op in mappenMet deze methode kunnen we alle mappen met de naam Solvetic in de thuismap (/) detecteren:
zoek / -type d -name Solvetic
Vind bestanden zonder toestemming 777De 777 (Rwxrwxrwx)-machtigingen met die machtigingen die geen beperking hebben, dat wil zeggen dat elke gebruiker er toegang toe heeft.
Om de bestanden te zien die deze toestemming niet hebben, zullen we het volgende uitvoeren:
zoek / typ f! -permanent 777
Als we nu de bestanden willen zien die wel 777-machtigingen hebben, gaan we het volgende uitvoeren:
vinden. -type f -perm 0777 -print
Vind SGID-bestanden met 2644-machtigingenPermission 2644 zijn bestanden met lees- en schrijfrechten, dus om deze bestanden te zien gaan we uitvoeren:
zoek / -perm 2644
Vind SUID-bestanden in LinuxSUID-bestanden (Gebruikers-ID van eigenaar instellen bij uitvoering), zijn speciale bestandsmachtigingen die aan een element worden verleend en dienen om tijdelijk machtigingen aan een gebruiker te verlenen om een programma of bestand uit te voeren met de machtigingen van de eigenaar van het bestand.
Om ze te zien, gaan we het volgende uitvoeren:
vind / -perm / u = s
Zoek SGID-bestandenSGID-bestanden (Groeps-ID instellen bij uitvoering) zijn een speciaal type bestandsrechten waarmee het mogelijk is om de toegangsrechten van de ingelogde gebruiker te erven. Om deze bestanden te bekijken, gaan we het volgende uitvoeren:
vind / -perm / g = s
Alleen-lezen bestanden zoekenOm te zien welke de alleen-lezen bestanden in Linux zijn, zullen we het volgende uitvoeren:
vind / -perm / u = r
Zoek uitvoerbare bestandenAls we met zekerheid willen weten welke bestanden uitvoerbaar zijn, kunnen we de volgende regel gebruiken:
vind / -perm / a = x
3. Hoe bestanden met 777- en chmod 755-machtigingen op Linux te vinden
Stap 1
Dit zijn speciale lees- en schrijfrechten, om deze bestanden te zien gaan we uitvoeren:
find / -type d -perm 777 -print -exec chmod 755 {} \;
Stap 2
Als we nu de bestanden met permissies 777 en chmod 644 willen vinden, voeren we uit:
find / -type f -perm 0777 -print -exec chmod 644 {} \;
4. Bestanden zoeken en verwijderen met opdrachten in Linux
Een bestand zoeken en verwijderenMet Zoeken kunnen we een bestand detecteren en doorgaan met verwijderen, in dit geval zullen we het bestand solvetic.docx verwijderen waarvoor we het volgende uitvoeren:
vinden. -type f -naam "solvetic.docx" -exec rm -f {} \;
Als we meerdere bestanden willen verwijderen, kunnen we hun extensie gebruiken:
vinden. -type f -naam "* .docx" -exec rm -f {} \;
Zoeken naar lege bestanden of mappenWe kunnen een pad specificeren, zoals / tmp, om de lege mappen te vinden, in dit geval voeren we het volgende uit:
find / tmp -type d -leeg
Om te zoeken naar lege bestanden voeren we uit:
find / tmp -type f -empty
Zoek verborgen bestandenIn Linux, en in alle systemen, zijn sommige bestanden om veiligheidsredenen verborgen. Als het voor een administratieve of ondersteunende taak nodig is om te zien wat deze zijn, kunnen we de volgende opdracht uitvoeren met het gewenste pad, in dit geval home:
zoek / home -type f -name ". *"
Zoek de bestanden van een gebruikerEen andere van de vele opties die de opdracht Zoeken ons biedt, is om de bestanden van een bepaalde gebruiker te detecteren, bijvoorbeeld om alle bestanden van de solvetic-gebruiker in de thuismap te vinden, we gaan het volgende uitvoeren:
zoek / home -user solvetic
Bestanden van een bepaalde groep zoekenOm de elementen van een groep te vinden gaan we de volgende regel uitvoeren:
zoek / home -groepsoplossing
5. Vind bestanden in een tijdbereik met commando's in Linux
Stap 1
Met de opdracht Zoeken is het mogelijk om de bestanden te doorzoeken die in een bepaalde periode zijn gebruikt, bijvoorbeeld om de bestanden van de afgelopen 30 dagen te zien die zijn gewijzigd, die we kunnen uitvoeren:
zoek / -mtime 30
Stap 2
Om de bestanden te zien die toegang hebben gegeven, voeren we uit:
Stap 3
Om de bestanden te zien die in een reeks van dagen zijn gewijzigd, bijvoorbeeld tussen 1 en 5, gaan we de volgende regel gebruiken:
vinden / -mtime +1 -mtime -5
Stap 4
Als we de bestanden willen zien die in het afgelopen uur of de afgelopen minuten enige wijziging hebben vertoond, kunnen we het volgende uitvoeren:
zoek / -cmin -45Stap 5
Dit toont de bestanden van de afgelopen 45 minuten:
Stap 6
Evenzo kunnen we de bestanden weergeven die in een bepaalde tijdsperiode zijn geopend:
vind / -amine -60
6. Vind bestanden van een specifieke grootte met commando's in Linux
Stap 1
Het is mogelijk om een bestandsgrootte te definiëren binnen de zoekcriteria, dus om alle bestanden te zien waarvan het gewicht 10 MB is die we uitvoeren:
zoek / -maat 10M
Stap 2
Om een gewichtsbereik vast te stellen, gebruiken we:
zoek / -maat + 15M -maat -90M
Stap 3
Als we om de een of andere reden een bestand met een specifieke grootte willen detecteren en verwijderen, gebruiken we de volgende syntaxis:
find / -size + 200M -exec rm -rf {} \;OpmerkingDe versie van find in Unix heeft verschillende tekortkomingen, daarom moeten we onze opdracht wijzigen om het gewenste resultaat te verkrijgen, bijvoorbeeld:
- op linux
vinden. -maat 50M | xargs ls -l
- op Unix
vinden. -maat 50M -print0 | xargs -0 ls -lOp het Scripts-niveau zijn alle resultaten met find positief, ongeacht of we resultaten krijgen of niet, in linux hebben we de optie -print -quit in het geval dat we geen resultaten krijgen.
De Unix-versie van Find mist deze optie en het is het beste om deze samen met grep te gebruiken om bijvoorbeeld het resultaat te verifiëren.
lees -r a als vind. -maxdepth 1 -naam "$ a" -print -quit | grep -q. dan echo "Bestand gevonden" else echo "Geen bestand gevonden" if
7. Vind bestanden grafisch in Linux
Huidige Linux-distributies, met een grafische omgeving (GUI), bieden ons de mogelijkheid om de geïntegreerde zoekmachine te gebruiken om gemakkelijk de gewenste bestanden te detecteren, in het geval van Ubuntu 19.04 hebben we toegang tot Bestanden en voeren we in het zoekveld de gewenste term in om onmiddellijk de bijbehorende resultaten weergeven:
VERGROTEN
We zien hoe het zoeken naar bestanden in Linux iets heel compleets is dankzij de opdracht Zoeken en de verschillende variaties om de beste resultaten te verkrijgen, naargelang het geval.