Söka filer i terminalen?

Tråden skapades och har fått 9 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • International user
  • 2004-04-14 06:39

tjena,

finsn det ngn guru här som kan förklara lite hur man söker efter filer i terminalen?

man find ger ju en väldigt massa komplicerad info. Hur skulle ett enkelt kommando för sökning på namn eller del av namn i den katalog man står i samt underkataloger se ut?

//mattan

find ~ -name "*del_av_filnamn*"

Leta i hemkatalogen efter filer som innehåller del_av_filnamn där det är tillåtet med noll eller flera tecken före eller efter sökbegreppet.

Vill du få lite mer information, t.ex. sökväg, kan du göra så här:

find ~ -name "*del_av_filnamn*" -exec ls -l {} \;

//Mikael

  • Oregistrerad
  • 2004-04-14 09:23

Och om du vill börja där du står så byter du ut ~ mot .

om du vill söka efter filer som du vet inte har skapats under det närmsta dygnet kan du även köra "locate <fil>", den är snabbare eftersom den går efter en databas.
Dock så måste databasen hållas uppdateras vilket oftast sker en gång i dygnet (har jag för mig) via ett cron job..

Ursprungligen av johan dansk:

om du vill söka efter filer som du vet inte har skapats under det närmsta dygnet kan du även köra "locate <fil>", den är snabbare eftersom den går efter en databas.
Dock så måste databasen hållas uppdateras vilket oftast sker en gång i dygnet (har jag för mig) via ett cron job..

Uppdateringen kan man också göra manuellt genom att köra skriptet "/usr/libexec/locate.updatedb" (kräver rootbehörighet).

  • Medlem
  • Stockholm
  • 2004-06-06 13:32
Ursprungligen av johan dansk:

om du vill söka efter filer som du vet inte har skapats under det närmsta dygnet kan du även köra "locate <fil>", den är snabbare eftersom den går efter en databas.[..]

Kan locate bara hitta filer som är skapade de närmsta 24h ????

Ursprungligen av ivar:

Kan locate bara hitta filer som är skapade de närmsta 24h ????

Kanske bättre att säga att den endast hittar saker som finns i locate databasen sen förra gången "scanningen" kördes, men som Samuel K säger så kan man även köra det updateringsskriptet manuelt genom att skriva "sudo /usr/libexec/locate.updatedb", tar en kortare stund dock...

//edit: en annan johan hann före

  • Medlem
  • International user
  • 2004-04-14 10:29

Guld! Tack för tipsen! Terminalen e inte så dum, bara man får lite starthjälp

//mattan

  • Medlem
  • 2004-04-14 14:50

Terminalen är GUD! ... Därför har jag switchat.

ja, om du inte kör raden som Samuel pratade om ovan.. som root..
"/usr/libexec/locate.updatedb"

Detta kommando drar igenom disken och lägger till nya filer till databasen så dessa kan hittas med kommandot locate.

edit: locate hittar filer som är skapta innan scriptet kördes sist, och detta körs via crontab igång/dygn.
Så inte "filer som skapats de senaste 24h"

1
Bevaka tråden