Een bestand vinden in Linux
Er zijn veel manieren om naar bestanden op een Linux-systeem te zoeken. Elk heeft zijn voor- en nadelen. Maar voor de beste resultaten is het goed om er zoveel mogelijk te kennen.
Grafische programma's worden vaak geleverd met geïntegreerd zoeken, en hoewel ze handig kunnen zijn, hebben ze vaak hun beperkingen. Dat is waar shell-zoekhulpmiddelen van pas komen, omdat ze meer functies te bieden hebben.
De volgende lijst toont u de meest gebruikelijke manieren om naar een bestand in Linux te zoeken en bevat de syntaxis en gebruikspatronen voor elk van de programma's.
Houd er rekening mee dat alleen de eerste commando werkt op grafische programma's, dus de rest zijn shell-programma's.
Linux-zoekmethoden
commando | Beschrijving | |
---|---|---|
1. | CTRL + F | Roept de zoekfunctie op in de meeste GUI-programma's |
2. | vinden | Uitgebreide zoekfunctie met krachtige functies |
3. | plaatsen | Snelle databasegestuurde zoekfunctie |
4. | grep | Krachtige, op regex gebaseerde zoektool |
5. | welke | Gebruikt om te zoeken naar uitvoerbare bestanden |
6. | waar is | Zoekt uitvoerbare bestanden, hun bronnen en man-paginabestanden |
1. CTRL+F
Ctrl+F is een standaardfunctie van de meeste grafische programma's om naar bestanden op het systeem te zoeken. Het werkt op de Gnome-bestandsbeheerder Nautilus, de KDE-bestandsbeheerder Dolphin en Thunar, de Xfce-bestandsbeheerder.
Het werkt ook met veel andere programma's zoals Evince voor het lezen van .pdf-bestanden, de Firefox-browser, kantoorprogramma's zoals Libre Office en nog veel meer.
Het gebruik is eenvoudig. Terwijl u het programma gebruikt en u naar een bestand moet zoeken, drukt u tegelijkertijd op de Ctrl- en de F-toetsen op uw toetsenbord en er wordt een zoekbalk geopend in het programma.
2. Vind
Als het gaat om het zoeken naar dingen op het Linux-platform, is vinden de grootvader van alle tools die er zijn. Het is een veelzijdig en zeer krachtig programma dat een breed scala aan opties nodig heeft om het in zeer verschillende stijlen te laten werken.
Er zijn zoveel opties, operators en afdrukformaten voor het zoekprogramma dat het onmogelijk is om ze allemaal te lezen en te kennen. Je zult constant de man- en info-pagina's moeten lezen als je het zoekprogramma wilt leren. Hier zijn enkele voorbeelden en wat ze doen:
man zoeken > #lees man-pagina's zoek items
info zoeken > #lees info-pagina's vind items
De algemene syntaxis voor zoeken is als volgt:
vind [opties] [pad…] [uitdrukking]
Waar opties verwijzen naar de vele opties, is het pad waar u wilt beginnen met zoeken en de uitdrukking bevat de vele zoekpatronen en operators die beschikbaar zijn voor gebruik.
Er zijn echter een paar opties die u snel kunt leren en onthouden, en deze zijn als volgt:
een type
Dit zoekt naar een bestand op basis van het type en het kan "f" bevatten voor een normaal bestand, "d" voor een map en "l" voor een symbolische link.
find -type f -name '*.js' #vind alle JavaScript-bestanden in het huis van de gebruiker
b) -naam
Zoals hierboven getoond, zoekt dit naar het voorkomen van het gegeven patroon (*.js) in de naam van het bestand.
c) -mtijd
Met de optie -mtime specificeert u op tijd gebaseerde zoekcriteria, zoals:
find -mtime 7 #find alle bestanden die in de afgelopen week (7 dagen) zijn gewijzigd
d) -maat
U kunt ook de bestandsgrootte gebruiken als zoekcriteria, zoals:
find -size +15k > #find alle bestanden in de homedirectory groter dan 15 kilobytes
Merk op dat alle argumenten van de opties – of + getallen kunnen hebben om minder dan of hoger weer te geven. Bijvoorbeeld -2 voor minder dan 2 en +15 voor meer dan 15. Er zijn zoveel meer opties en je moet zowel de "man find" als de "info find" items op je shell lezen om dit krachtige programma onder de knie te krijgen.
3. Lokaliseer
De locatie-opdracht is een ander indrukwekkend zoekhulpmiddel op Linux. Het is niet zo rijk aan functies als het find-commando, maar het is veel sneller omdat het database-ingangen gebruikt om zijn magie uit te voeren.
Lokaliseren is ook gemakkelijker te gebruiken en u hoeft het zoekpad niet in te voeren. Voer gewoon find in, gevolgd door een patroon voor de naam van het bestand en het zal alle bestanden retourneren die aan dat patroon voldoen. Bijvoorbeeld:
zoek moz > #zoek alle bestanden die 'moz' in hun naam bevatten, zoals mozilla
Locate biedt ook een paar opties, zoals -i of -ignore-case, omdat het anders een hoofdlettergevoelige zoekfunctie is. Bijvoorbeeld:
lokaliseren -i moz > #vind zowel bestanden met de naam mozilla, MOZILLA en Mozilla
4. Griep
Soms ken je enkele van de woorden in een bestand. Dus hoewel de find- en seek-commando's misschien niet geschikt zijn om een dergelijk bestand te vinden, is de grep-commando perfect voor de klus.
Grep staat voor Global Regular Expression Print. Het accepteert regex als argumenten en kan de uitvoer ook formatteren op basis van uw voorkeuren. Het kan de overeenkomende woorden kleuren, hun regelnummers afdrukken of alleen de naam van het overeenkomende bestand afdrukken.
Houd er rekening mee dat grep overeenkomt met zowel de bestandsnaam als de bestandsinhoud, en het staat u ook vrij om voor elk patronen aan te leveren. De grep-syntaxis gaat als volgt:
grep [opties] 'patroon' bestand
Er zijn veel opties beschikbaar en je kunt ze naar eigen inzicht combineren, maar je haalt het meeste uit grep als je regex (reguliere uitdrukkingen) leert, omdat ze erg nuttig kunnen zijn. De info- en man-pagina's leggen dit ook heel goed uit.
Hier zijn enkele grep-voorbeelden en wat ze doen:
grep 'foobar' > #zoek alle bestanden die foobar bevatten in de huidige map
grep -in 'foobar' > #be hoofdletterongevoelig en regelnummers afdrukken
grep -inr 'foobar' /home/user > #recursief doorzoeken in alle mappen onder /home/user
grep -ir 'table' *.html > #zoek alle html-bestanden die een tabel bevatten in de homedirectory
5. Welke
Als je om de een of andere reden het absolute pad van een uitvoerbaar bestand in Linux moet weten, gebruik dan het commando who. Het werkt als volgt:
welke grep > #retourneert /bin/grep op Ubuntu als het absolute pad van grep
welke welke > #retourneert /usr/bin/die
6. Waar is?
Whereis lijkt een beetje op welke, maar het retourneert binaire, bron- en handmatige paginabestanden voor een bepaald commando. Hier is een voorbeeld:
whereis grep > #retourneert alleen binaire & man-bestanden /bin/grep /usr/share/man/man1/grep.1.gz
Conclusie
We zijn aan het einde gekomen van onze uitleg over het vinden van een bestand in de lijst met Linux-opdrachten. Zoals u kunt zien, is er een breed scala aan tools en opties in de shell. Er is dus voor elk wat wils.
Neem gewoon de tijd om deze tools te leren en te oefenen en vergeet niet om ook hun info- en man-pagina's te lezen. Het duurt niet lang of u zult zeer efficiënt worden met het zoeken naar bestanden op Linux.