Ero sivun ”Find” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
(wikitystä, lisää esimerkkejä)
Rivi 1: Rivi 1:
'''find'''-komennolla voi etsiä asioita koneelta ja tiedostoista.
Find-[[komentorivi]]komennolla voi etsiä tiedostoja tiettyihin ehtoihin, kuten tiedostonnimeen tai omistajaan perustuen. Find mahdollistaa myös erilaisten toimintojen suorittamisen hakutulokseen pohjautuen. Valmiiseen tietokantaan pohjautuvia hakuja voi tehdä [[locate]]-ohjelmalla ja tiedostojen sisältöä koskevia hakuja [[grep]]illä.


== Esimerkkejä miten findia käytetään ==
== Käyttö ==
 
find -name '*.log'
Etsi .log-päätteiset (*.log) tiedostot nykyisestä hakemistosta (.) ja alihakemistoista:
Etsii .log-päätteiset (*.log) tiedostot nykyisestä hakemistosta (.) ja alihakemistoista.
  find . -name *.log
  find /var -type f -mmin -30 -print
 
Listaa /var-[[linuxin hakemistorakenne|hakemistosta]] ja sen alihakemistoista kaikki tavalliset tiedostot (ei siis hakemistoja, laitetiedostoja, [[symbolinen linkki|symbolisia linkkejä]], [[nimetty putki|nimettyjä putkia]] ym.) joita on muutettu viimeisen 30 minuutin aikana.
Etsi isoimmat tiedostot /var-hakemistosta
  find -iname '*.jpg' | [[wc]] -l
find /var -type f -printf "%s\t%p\n"| [[sort]] +0n
Laskee montako .jpg-tiedostoa nykyisestä hakemistosta ja sen alihakemistoista löytyy huomioiden myös isolla kirjoitetut merkit.
 
Listaa kaikki tiedostot joita on muutettu viimeisen 30 minuutin aikana, myös alihakemistoista:
find . -type f -mmin -30 -print
 
Laskee montako .jpg-tiedostoa hakemistosta löytyy:
  find -name '*.jpg' | [[wc]] -l
 
Asettaa o+rwX-[[Tiedoston oikeudet|oikeudet]] <tt>file.txt</tt>-nimisille tiedostoille kaikissa alihakemistoissa:
  find . -name file.txt -print0 | [[xargs]] -0 [[chmod]] o+rwX
  find . -name file.txt -print0 | [[xargs]] -0 [[chmod]] o+rwX
Asettaa o+rwX-[[Tiedoston oikeudet|oikeudet]] <tt>file.txt</tt>-nimisille tiedostoille kaikissa alihakemistoissa.
find ~jani-petteri -type l -iname *å*  -exec mv '{}' ~tobias/foo/stuff/ ';'
Siirtää kaikki käyttäjän jani-petteri kotihakemistossa olevat [[symbolinen linkki|symboliset linkit]], joiden nimi sisältää ison tai pienen å:n, käyttäjän tobias kotihakemiston alla sijaitsevaan foo/stuff-hakemistoon.
find -empty -nogroup
Etsii nykyisestä hakemistosta ja sen alihakemistoista kaikki tavalliset tiedostot ja hakemistot jotka ovat tyhjiä ja joiden omistajaksi määriteltyä [[GID|ryhmänumeroa]] ei vastaa mukään järjestelmän olemassaoleva ryhmä.
find -size 699M -user greta -delete
Etsii ja poistaa kaikki käyttäjän greta omistamat noin 699 megatavun kokoiset tiedostot.


Siirtää kaikki käyttäjän jani-petteri kotihakemistossa olevat [[symbolinen linkki|symboliset linkit]], joiden nimi sisältää å:n, käyttäjän tobias kotihakemiston alla sijaitsevaan foo/stuff-hakemistoon.
Lisää find komennon käyttötapoja löytyy [[komentorivivinkkejä]]-sivulta.  
find ~jani-petteri -type l -name *å*  -exec mv '{}' ~tobias/foo/stuff/ ';'


Lisää find komennon käyttötapoja löytyy [[komentorivivinkkejä]]-sivulta.
==Katso myös==
*[[locate]]
*[[updatedb]]
*[[grep]]
*[[xargs]]


[[Luokka:Komentorivin perustyökalut]]
[[Luokka:Tiedostonhallinta]]
[[Luokka:Tiedostonhallinta]]

Versio 24. kesäkuuta 2007 kello 00.18

Find-komentorivikomennolla voi etsiä tiedostoja tiettyihin ehtoihin, kuten tiedostonnimeen tai omistajaan perustuen. Find mahdollistaa myös erilaisten toimintojen suorittamisen hakutulokseen pohjautuen. Valmiiseen tietokantaan pohjautuvia hakuja voi tehdä locate-ohjelmalla ja tiedostojen sisältöä koskevia hakuja grepillä.

Käyttö

find -name '*.log'

Etsii .log-päätteiset (*.log) tiedostot nykyisestä hakemistosta (.) ja alihakemistoista.

find /var -type f -mmin -30 -print

Listaa /var-hakemistosta ja sen alihakemistoista kaikki tavalliset tiedostot (ei siis hakemistoja, laitetiedostoja, symbolisia linkkejä, nimettyjä putkia ym.) joita on muutettu viimeisen 30 minuutin aikana.

find -iname '*.jpg' | wc -l

Laskee montako .jpg-tiedostoa nykyisestä hakemistosta ja sen alihakemistoista löytyy huomioiden myös isolla kirjoitetut merkit.

find . -name file.txt -print0 | xargs -0 chmod o+rwX

Asettaa o+rwX-oikeudet file.txt-nimisille tiedostoille kaikissa alihakemistoissa.

find ~jani-petteri -type l -iname *å*  -exec mv '{}' ~tobias/foo/stuff/ ';'

Siirtää kaikki käyttäjän jani-petteri kotihakemistossa olevat symboliset linkit, joiden nimi sisältää ison tai pienen å:n, käyttäjän tobias kotihakemiston alla sijaitsevaan foo/stuff-hakemistoon.

find -empty -nogroup

Etsii nykyisestä hakemistosta ja sen alihakemistoista kaikki tavalliset tiedostot ja hakemistot jotka ovat tyhjiä ja joiden omistajaksi määriteltyä ryhmänumeroa ei vastaa mukään järjestelmän olemassaoleva ryhmä.

find -size 699M -user greta -delete

Etsii ja poistaa kaikki käyttäjän greta omistamat noin 699 megatavun kokoiset tiedostot.

Lisää find komennon käyttötapoja löytyy komentorivivinkkejä-sivulta.

Katso myös