Kirjoittaja Aihe: Hakutoiminto muille kun home-osiolle  (Luettu 1876 kertaa)

Ked

  • Käyttäjä
  • Viestejä: 394
    • Profiili
Hakutoiminto muille kun home-osiolle
« : 03.01.08 - klo:05.12 »
Ubuntun hakutoiminto etsii tiedostoja vain home-osiosta. Miten sen saa etsimään myös joltain muulta osiolta?

peran

  • Vieras
Vs: Hakutoiminto muille kun home-osiolle
« Vastaus #1 : 03.01.08 - klo:05.35 »
Kyllä haettua saa koko järjestelmästäkin.

Sijainnit -> Etsi tiedostoja

/home-kansio taitaa olla ainoa valmiiksi indeksoitu alue, joten varsinaisella hakutoiminnolla etsiminen on hidasta puuhaa.
« Viimeksi muokattu: 03.01.08 - klo:05.57 kirjoittanut peran »

MikkoJP

  • Käyttäjä
  • Viestejä: 1148
  • iBook 600 MHz + Debian 4.0
    • Profiili
Vs: Hakutoiminto muille kun home-osiolle
« Vastaus #2 : 03.01.08 - klo:09.51 »
Jos suostut tekemään hakuja myös komentorivillä, on vaihtoehtoja useita.

Jos nimen perusteella hakeminen riittää, auttaa locate. Komennolla sudo updatedb tehdään tietokanta, josta locate hakee tiedostonnimiä. Näin haut ovat erittäin nopeita.

man locate:

Lainaus
locate(1)                                                            locate(1)

NAME
       locate - find files by name

SYNOPSIS
       locate [OPTION]... PATTERN...

DESCRIPTION
       locate  reads  one or more databases prepared by updatedb(8) and writes
       file names matching at least one of the PATTERNs  to  standard  output,
       one per line.

       PATTERNs  can contains globbing characters.  If any PATTERN contains no
       globbing characters, locate behaves as if the pattern were *PATTERN*.

       By default, locate does not check whether files found in database still
       exist.   locate  can  never  report files created after the most recent
       update of the relevant database.

Mahdollisia hakuja ovat esimerkiksi locate essee.rtf, locate *mpeg ja locate kde*.tar.gz

Jos taas haluat etsiä vaikkapa tekstitiedostojen sisältämiä sanoja, auttaa grep. Esimerkki:

Lainaus
[mjp@localhost lähetetyt?]$ pwd
/home/mjp/suomennetut/kde4/lähetetyt
[mjp@localhost lähetetyt?]$ grep osoite *
desktop_koffice.po:msgstr "KDE:n osoitekirjan liitännäinen"
desktop_koffice.po:msgstr "Tämän tietolähteen avulla voit käyttää KDE:n osoitekirjan tietoja."
kdelibs4.po:msgstr "Korosta työkalurivin painikkeet hiirellä osoitettaessa"
« Viimeksi muokattu: 03.01.08 - klo:10.02 kirjoittanut MikkoJP »

Ked

  • Käyttäjä
  • Viestejä: 394
    • Profiili
Vs: Hakutoiminto muille kun home-osiolle
« Vastaus #3 : 03.01.08 - klo:23.35 »
Ei sillä periaatteessa ole väliä tekeekö haun komentorivillä vai jollain muulla.

Pystyykö tuolla jotenkin täsmentämään mistä haku tehdään; oletetaan vaikka että tiedän millä osiolla hakemani tiedosto on, tai tiedän minkä kansion alla se on.

MikkoJP

  • Käyttäjä
  • Viestejä: 1148
  • iBook 600 MHz + Debian 4.0
    • Profiili
Vs: Hakutoiminto muille kun home-osiolle
« Vastaus #4 : 04.01.08 - klo:00.57 »
Ei sillä periaatteessa ole väliä tekeekö haun komentorivillä vai jollain muulla.

Pystyykö tuolla jotenkin täsmentämään mistä haku tehdään; oletetaan vaikka että tiedän millä osiolla hakemani tiedosto on, tai tiedän minkä kansion alla se on.

Millä "tuolla"? Sinulle esitettiin eri vaihtoehtoja. Kokeile. Tai kerro edes, haluatko tehdä hakuja nimen vai sisällön perusteella... Voit tietenkin tehdä tarkempia hakuja putken avulla, unixissa kun ollaan:

locate osatiedostonnimeä | grep osakansion nimeä, eli etsitään tiedostot, joiden nimessä on popt ja hakemistopolullisessa nimessä esiintyy myös fi:

$ locate popt | grep fi
/usr/share/locale/fi/LC_MESSAGES/popt.mo
$


Tai vaikkapa locate help.mp3 | grep beatles löytäisi biisin help.mp3 hakemistosta beatles. Tai biisin beatles kansiosta help.mp3.

« Viimeksi muokattu: 04.01.08 - klo:01.06 kirjoittanut MikkoJP »

Ked

  • Käyttäjä
  • Viestejä: 394
    • Profiili
Vs: Hakutoiminto muille kun home-osiolle
« Vastaus #5 : 04.01.08 - klo:15.03 »
No tuo "Sijainnit -> Etsi tiedostoja" näyttää toimivan ainakin hyvin. :D Ei näköjään ole sama asia kun hakutoiminto kansioikkunan kanssa.

Tarkoitin "tuolla" locate -komentoa ja tiedosojen nimien perusteella haen. En vain hoksannut millä sen saa hakemaan jostain muualta kun home -hakemistosta.