Ubuntu Suomen keskustelualueet
Ubuntun käyttö => Ubuntu tietokoneissa => Aiheen aloitti: Ked - 03.01.08 - klo:05.12
-
Ubuntun hakutoiminto etsii tiedostoja vain home-osiosta. Miten sen saa etsimään myös joltain muulta osiolta?
-
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.
-
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:
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:
[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"
-
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.
-
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.
-
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.