/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
Re: e:_at_søge_efter_alle_php-filer_i_et_d~
Fra : Klaus Ellegaard


Dato : 04-11-08 10:14

Jon Loldrup <loldrup@gmail.com> writes:

>> Nej, det er ikke alfa og omega. locate skal selfølgelig søge i hele
>> file-systemet.

>hvorfor *SKAL* locate det? Det står vel ikke nedfældet i nogen
>stentavler nogetsteds.

Jo, det står i dens "Description". Det er altså hele design-ideen
i locate, at den søger i hele sin database.

Mvh.
   Klaus.

 
 
Kent Friis (04-11-2008)
Kommentar
Fra : Kent Friis


Dato : 04-11-08 19:20

Den Tue, 4 Nov 2008 09:14:21 +0000 (UTC) skrev Klaus Ellegaard:
> Jon Loldrup <loldrup@gmail.com> writes:
>
>>> Nej, det er ikke alfa og omega. locate skal selfølgelig søge i hele
>>> file-systemet.
>
>>hvorfor *SKAL* locate det? Det står vel ikke nedfældet i nogen
>>stentavler nogetsteds.
>
> Jo, det står i dens "Description". Det er altså hele design-ideen
> i locate, at den søger i hele sin database.

Det reducerer faktisk brugbarheden af locate en del. Havde den været
indrettet så den kunne det samme som find, bare meget hurtigere, ville
det være et anvendeligt værktøj - men hvor tit har man brug for at
søge hele disken igennem.

Jeg har aldrig brugt locate, af den grund at den gang jeg startede
med Linux var updatedb noget der tog en halv dag, og så har jeg
simpelthen vænnet mig til at bruge find, og aldrig taget mig sammen
til at sætte mig ind i locate. Først nu er jeg blevet klar over at
den kun kan søge i hele databasen, og jeg kan virkelig ikke komme
på et tidspunkt hvor jeg har haft behov for at søge efter en fil
i hele filsystemet. Jeg har altid haft en lille smule ide om hvor
jeg skulle søge.

(Om så det kun er "den ligger i hvert fald ikke under hverken /home
eller /dos/c - hvor den sidste (dengang jeg havde sådan en) elene
reducerede antallet af filer der skulle søges igennem til det halve).

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Lars Kongshøj (04-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 04-11-08 19:40

Kent Friis wrote:
> Jeg har aldrig brugt locate, af den grund at den gang jeg startede
> med Linux var updatedb noget der tog en halv dag, og så har jeg

Det har jeg aldrig oplevet. Det må være en meget stor, meget langsom
hardisk.

Men det er jo heller ikke meningen med locate, at den skal bruges til at
finde netop oprettede filer, så det er ikke så relevant, at det måske
tager et kvarter at køre updatedb.

> (Om så det kun er "den ligger i hvert fald ikke under hverken /home
> eller /dos/c - hvor den sidste (dengang jeg havde sådan en) elene
> reducerede antallet af filer der skulle søges igennem til det halve).

Og hvor lang tid tager det dig så at taste en passende find-kommando ind
og vente på at den har gennemsøgt store del af filsystemet? Det er det
sgu hurtigere at bruge locate.

/Lars

Kent Friis (04-11-2008)
Kommentar
Fra : Kent Friis


Dato : 04-11-08 19:55

Den Tue, 04 Nov 2008 19:40:00 +0100 skrev Lars Kongshøj:
> Kent Friis wrote:
>> Jeg har aldrig brugt locate, af den grund at den gang jeg startede
>> med Linux var updatedb noget der tog en halv dag, og så har jeg
>
> Det har jeg aldrig oplevet. Det må være en meget stor, meget langsom
> hardisk.

Det var 1.6 gigabytes, det tog lang tid at søge igennem dengang.

> Men det er jo heller ikke meningen med locate, at den skal bruges til at
> finde netop oprettede filer, så det er ikke så relevant, at det måske
> tager et kvarter at køre updatedb.

Man skal køre updatedb for at *oprette* databasen.

>> (Om så det kun er "den ligger i hvert fald ikke under hverken /home
>> eller /dos/c - hvor den sidste (dengang jeg havde sådan en) elene
>> reducerede antallet af filer der skulle søges igennem til det halve).
>
> Og hvor lang tid tager det dig så at taste en passende find-kommando ind

Måske ti sekunder.

> og vente på at den har gennemsøgt store del af filsystemet?

Sjældent mere end ti minutter, det er jo netop ikke hele filsystemet.

> Det er det sgu hurtigere at bruge locate.

Ikke når updatedb ikke når at blive færdig inden man skal i seng og
slukker PC'en.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Jørgen Heesche (04-11-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 04-11-08 22:42

Lars Kongshøj wrote:
> Kent Friis wrote:
>> Jeg har aldrig brugt locate, af den grund at den gang jeg startede
>> med Linux var updatedb noget der tog en halv dag, og så har jeg
>
> Det har jeg aldrig oplevet. Det må være en meget stor, meget langsom
> hardisk.
>
> Men det er jo heller ikke meningen med locate, at den skal bruges til at
> finde netop oprettede filer, så det er ikke så relevant, at det måske
> tager et kvarter at køre updatedb.
>
>> (Om så det kun er "den ligger i hvert fald ikke under hverken /home
>> eller /dos/c - hvor den sidste (dengang jeg havde sådan en) elene
>> reducerede antallet af filer der skulle søges igennem til det halve).
>
> Og hvor lang tid tager det dig så at taste en passende find-kommando ind
> og vente på at den har gennemsøgt store del af filsystemet? Det er det
> sgu hurtigere at bruge locate.

Ja, locate er hurtig og nem at bruge, meget nemmere end find. Hvis man
synes der kommer for meget output kan der pipes til grep for at filtre
outputtet.

--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Kent Friis (05-11-2008)
Kommentar
Fra : Kent Friis


Dato : 05-11-08 19:44

Den Tue, 04 Nov 2008 21:42:13 +0000 skrev Jørgen Heesche:
> Lars Kongshøj wrote:
>> Kent Friis wrote:
>>> Jeg har aldrig brugt locate, af den grund at den gang jeg startede
>>> med Linux var updatedb noget der tog en halv dag, og så har jeg
>>
>> Det har jeg aldrig oplevet. Det må være en meget stor, meget langsom
>> hardisk.
>>
>> Men det er jo heller ikke meningen med locate, at den skal bruges til at
>> finde netop oprettede filer, så det er ikke så relevant, at det måske
>> tager et kvarter at køre updatedb.
>>
>>> (Om så det kun er "den ligger i hvert fald ikke under hverken /home
>>> eller /dos/c - hvor den sidste (dengang jeg havde sådan en) elene
>>> reducerede antallet af filer der skulle søges igennem til det halve).
>>
>> Og hvor lang tid tager det dig så at taste en passende find-kommando ind
>> og vente på at den har gennemsøgt store del af filsystemet? Det er det
>> sgu hurtigere at bruge locate.
>
> Ja, locate er hurtig og nem at bruge, meget nemmere end find. Hvis man
> synes der kommer for meget output kan der pipes til grep for at filtre
> outputtet.

Hvordan ville du fx lave flg. med locate?

find /var/www/*/uploads -mtime -2
find /usr/local -name "*python*" -maxdepth 3

Det er de to varianter jeg bruger mest.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Lars Kongshøj (05-11-2008)
Kommentar
Fra : Lars Kongshøj


Dato : 05-11-08 20:28

Kent Friis wrote:
> Hvordan ville du fx lave flg. med locate?
>
> find /var/www/*/uploads -mtime -2
> find /usr/local -name "*python*" -maxdepth 3
>
> Det er de to varianter jeg bruger mest.

Det gør man med find - det ved du udemærket godt, og folk har allerede
forklaret dig at der er forskel på en hammer og en skruetrækker.

At du nægter at se realiteterne i øjnene og erkende at der er mange
situationer, hvor det er nemmere/hurtigst at bruge locate er helt og
aldeles dit personlige problem.

/Lars

Kent Friis (05-11-2008)
Kommentar
Fra : Kent Friis


Dato : 05-11-08 20:43

Den Wed, 05 Nov 2008 20:28:04 +0100 skrev Lars Kongshøj:
> Kent Friis wrote:
>> Hvordan ville du fx lave flg. med locate?
>>
>> find /var/www/*/uploads -mtime -2
>> find /usr/local -name "*python*" -maxdepth 3
>>
>> Det er de to varianter jeg bruger mest.
>
> Det gør man med find - det ved du udemærket godt, og folk har allerede
> forklaret dig at der er forskel på en hammer og en skruetrækker.

Men alligevel bliver de ved med at skrive at så bruger man bare
locate + grep.

Iøvrigt skulle jeg da mene at jeg sagtens kan gøre nummer to med
grep - jeg gider bare ikke, for find er nemmere at bruge.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Jørgen Heesche (06-11-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 06-11-08 13:37

Kent Friis wrote:
> Den Wed, 05 Nov 2008 20:28:04 +0100 skrev Lars Kongshøj:
>> Kent Friis wrote:
>>> Hvordan ville du fx lave flg. med locate?
>>>
>>> find /var/www/*/uploads -mtime -2
>>> find /usr/local -name "*python*" -maxdepth 3
>>>
>>> Det er de to varianter jeg bruger mest.
>> Det gør man med find - det ved du udemærket godt, og folk har allerede
>> forklaret dig at der er forskel på en hammer og en skruetrækker.
>
> Men alligevel bliver de ved med at skrive at så bruger man bare
> locate + grep.
>
> Iøvrigt skulle jeg da mene at jeg sagtens kan gøre nummer to med
> grep - jeg gider bare ikke, for find er nemmere at bruge.
>

De eksempler du nævner bruger man selvfølgelig find til, men det er
overkill at bruge den avancerede find til blot at lokalisere en fil.
Når jeg siger 'locate | grep' er for med grep at filtrere et større
output fra locate.


--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Kent Friis (06-11-2008)
Kommentar
Fra : Kent Friis


Dato : 06-11-08 19:15

Den Thu, 06 Nov 2008 12:36:34 +0000 skrev Jørgen Heesche:
> Kent Friis wrote:
>> Den Wed, 05 Nov 2008 20:28:04 +0100 skrev Lars Kongshøj:
>>> Kent Friis wrote:
>>>> Hvordan ville du fx lave flg. med locate?
>>>>
>>>> find /var/www/*/uploads -mtime -2
>>>> find /usr/local -name "*python*" -maxdepth 3
>>>>
>>>> Det er de to varianter jeg bruger mest.
>>> Det gør man med find - det ved du udemærket godt, og folk har allerede
>>> forklaret dig at der er forskel på en hammer og en skruetrækker.
>>
>> Men alligevel bliver de ved med at skrive at så bruger man bare
>> locate + grep.
>>
>> Iøvrigt skulle jeg da mene at jeg sagtens kan gøre nummer to med
>> grep - jeg gider bare ikke, for find er nemmere at bruge.
>>
>
> De eksempler du nævner bruger man selvfølgelig find til, men det er
> overkill at bruge den avancerede find til blot at lokalisere en fil.

Det er sjældent en fil jeg leder efter. Det er en række filer der
opfylder nogle kriterier.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Jørgen Heesche (06-11-2008)
Kommentar
Fra : Jørgen Heesche


Dato : 06-11-08 22:46

Kent Friis wrote:
> Den Thu, 06 Nov 2008 12:36:34 +0000 skrev Jørgen Heesche:
>> Kent Friis wrote:
>>> Den Wed, 05 Nov 2008 20:28:04 +0100 skrev Lars Kongshøj:
>>>> Kent Friis wrote:
>>>>> Hvordan ville du fx lave flg. med locate?
>>>>>
>>>>> find /var/www/*/uploads -mtime -2
>>>>> find /usr/local -name "*python*" -maxdepth 3
>>>>>
>>>>> Det er de to varianter jeg bruger mest.
>>>> Det gør man med find - det ved du udemærket godt, og folk har allerede
>>>> forklaret dig at der er forskel på en hammer og en skruetrækker.
>>> Men alligevel bliver de ved med at skrive at så bruger man bare
>>> locate + grep.
>>>
>>> Iøvrigt skulle jeg da mene at jeg sagtens kan gøre nummer to med
>>> grep - jeg gider bare ikke, for find er nemmere at bruge.
>>>
>> De eksempler du nævner bruger man selvfølgelig find til, men det er
>> overkill at bruge den avancerede find til blot at lokalisere en fil.
>
> Det er sjældent en fil jeg leder efter. Det er en række filer der
> opfylder nogle kriterier.
>
Det kan selvfølgelig kun gøres med find.
Locate kan ved opslag i en database, som indeholder navne på filer i
systemet, kun vise hvor filerne findes.
Det er lidt ærgerligt at du henviste til find på spørgsmålet: hvorfor
kan locate ikke lede i directories?. Men det kan locate ikke, fordi
locate ikke leder direkte i filsystemet, men finder oplysningerne i en
database. Jeg henviste til passende brug at locate + grep, hvis der var
et behov for at fremhæve et givet directory.
Så spurgte du hvordan man med locate+grep kunne udføre visse
find-funktioner, som f.eks søge på en fils mtime. Det kan man
selvfølgelig ikke. Igen bragte du find ind i billedet på en uheldig måde.
Det er fint at du er fortrolig med brugen af find, men der er ingen
grund til at fremhæve find fordi du ikke mener at have brug for locate.
Locate er f.eks. god at bruge efter installaion af ny software.


--
Med venlig hilsen

Jørgen Heesche
mailto:heesche@webspeed.dk

Kent Friis (07-11-2008)
Kommentar
Fra : Kent Friis


Dato : 07-11-08 17:21

Den Thu, 06 Nov 2008 21:46:02 +0000 skrev Jørgen Heesche:
> Kent Friis wrote:
>> Den Thu, 06 Nov 2008 12:36:34 +0000 skrev Jørgen Heesche:
>>> Kent Friis wrote:
>>>> Den Wed, 05 Nov 2008 20:28:04 +0100 skrev Lars Kongshøj:
>>>>> Kent Friis wrote:
>>>>>> Hvordan ville du fx lave flg. med locate?
>>>>>>
>>>>>> find /var/www/*/uploads -mtime -2
>>>>>> find /usr/local -name "*python*" -maxdepth 3
>>>>>>
>>>>>> Det er de to varianter jeg bruger mest.
>>>>> Det gør man med find - det ved du udemærket godt, og folk har allerede
>>>>> forklaret dig at der er forskel på en hammer og en skruetrækker.
>>>> Men alligevel bliver de ved med at skrive at så bruger man bare
>>>> locate + grep.
>>>>
>>>> Iøvrigt skulle jeg da mene at jeg sagtens kan gøre nummer to med
>>>> grep - jeg gider bare ikke, for find er nemmere at bruge.
>>>>
>>> De eksempler du nævner bruger man selvfølgelig find til, men det er
>>> overkill at bruge den avancerede find til blot at lokalisere en fil.
>>
>> Det er sjældent en fil jeg leder efter. Det er en række filer der
>> opfylder nogle kriterier.
>>
> Det kan selvfølgelig kun gøres med find.
> Locate kan ved opslag i en database, som indeholder navne på filer i
> systemet, kun vise hvor filerne findes.
> Det er lidt ærgerligt at du henviste til find på spørgsmålet: hvorfor
> kan locate ikke lede i directories?. Men det kan locate ikke, fordi
> locate ikke leder direkte i filsystemet, men finder oplysningerne i en
> database. Jeg henviste til passende brug at locate + grep, hvis der var
> et behov for at fremhæve et givet directory.
> Så spurgte du hvordan man med locate+grep kunne udføre visse
> find-funktioner, som f.eks søge på en fils mtime.

Nej, jeg konstaterede at jeg aldrig havde haft brug for at lære at
bruge locate. Find kan finde det hele, locate kan åbenbart kun det
halve, så at lære begge dele vil bare være ekstra arbejde.

Da nogen så argumenterede for at jeg sagtens kunne bruge locate,
gav jeg nogen eksempler på hvad jeg bruger find til.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Thorbjørn Ravn Ande~ (06-11-2008)
Kommentar
Fra : Thorbjørn Ravn Ande~


Dato : 06-11-08 17:37

Kent Friis skrev:

> find /usr/local -name "*python*" -maxdepth 3

cd /usr/local; echo *python* */*python* */*/*python*

Man behøver ikke alle de der ekstraprogrammer. Ren sh er nok!

Kent Friis (06-11-2008)
Kommentar
Fra : Kent Friis


Dato : 06-11-08 19:12

Den Thu, 06 Nov 2008 17:36:39 +0100 skrev Thorbjørn Ravn Andersen:
> Kent Friis skrev:
>
>> find /usr/local -name "*python*" -maxdepth 3
>
> cd /usr/local; echo *python* */*python* */*/*python*
>
> Man behøver ikke alle de der ekstraprogrammer. Ren sh er nok!

Den der sprang over dot-filerne.

Faktisk bruger jeg echo-udgaven nogen gange, men lige den med at
finde alt det et program har installeret, der konstaterer jeg
ofte at der mangler noget, og så er det altså hurtigere at ændre
maxdepth til 4.

Uanset, så er det ikke et argument for at jeg har noget at bruge
locate til.

Mvh
Kent
--
Hvis en sort kat går over vejen foran en bil, betyder det ulykke

.... for katten.

Jacob Gaarde (07-11-2008)
Kommentar
Fra : Jacob Gaarde


Dato : 07-11-08 07:28

On Thu, 06 Nov 2008 21:46:02 +0000
Jørgen Heesche <heesche@webspeed.dk> wrote:

> Locate er f.eks. god at bruge efter installaion af ny software.
- hvis man venter til updatedb har kørt
- ellers er det vel bedre at spørge pakke-manageren , hvis man har sådan een og det er den der har installeret softwaret, om den hvilke filer og directories der hører til software-pakken eller kigge i Make-filen og se hvor "make install" har lagt filerne

--
//Jacob Gaarde
//Dont reply to my (aparent) e-mail address. Instead Use
//e-mail : gaarde <at> mailme <dot> dk


Jacob Gaarde (07-11-2008)
Kommentar
Fra : Jacob Gaarde


Dato : 07-11-08 10:42

On Fri, 07 Nov 2008 09:10:47 +0000
Jørgen Heesche <heesche@webspeed.dk> wrote:

> Jacob Gaarde wrote:
> > - hvis man venter til updatedb har kørt
>
> Jeg venter ikke på updateb, men starter kørslen straks efter
- og venter på at updatedb har kørt.
- eller siger du at updatedb databasen er opdateret _fordi_ du har
startet updatedb og _ikke_ fordi updatedeb har kørt ?



Jacob Gaarde (07-11-2008)
Kommentar
Fra : Jacob Gaarde


Dato : 07-11-08 10:57

On Fri, 07 Nov 2008 09:47:18 +0000
Jørgen Heesche <heesche@webspeed.dk> wrote:

> Jeg venter selvfølgelig til updatedb er færdig, det tager ikke så
> lang tid.
som jeg skrev
"- hvis man venter til updatedb har kørt"


Søg
Reklame
Statistik
Spørgsmål : 177580
Tips : 31968
Nyheder : 719565
Indlæg : 6409081
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste