et almindeligt problem er, at du ikke kan finde de filer, du har placeret et sted. Mens du arbejder under Linu., uanset distributionen, giver mange GUI-Indstillinger dig mulighed for at søge efter dine filer. I mange tilfælde har du dog kun kommandolinjeterminalen, især hvis du administrerer servere eller bruger ssh til at få adgang til systemet. Hvis du ikke kan finde dine filer, skal du søge efter dem ved hjælp af kommandolinjeprogrammer på Linu..
Denne artikel viser dig, hvordan du finder filer ved hjælp af terminalen, der er kommandolinjeprogrammet i Ubuntu OS., Der er tre kendte metoder til at søge efter filer på shell:
- ved Hjælp af Find-kommando
- ved Hjælp af Find-kommando
- Bruge Grep kommandoen
søg og Find-kommandoer, der bruges til at søge efter filer på systemet, mens grep bruges til at søge fil baseret på den tekst, de indeholder. Find er en langsommere metode, men indeholder flere søgebetingelser, mens Find ikke indeholder så mange betingelser, men er meget hurtigere end Find.
lad os komme i gang med proceduren. Vi vil bruge Ubuntu 18.04 LTS til at beskrive proceduren nævnt i denne artikel.,
Metode 1: Brug Find kommando
Find er en meget fleksibel kommando bruges til at søge filer baseret på en række betingelser. Det er et meget nyttigt værktøj, når du søger en fil, som du ikke kan huske navnet på filen. Ved hjælp af Find-kommandoen kan du søge baseret på fil-og mappenavn, oprettelsesdato, ændringsdato og tilladelser. Du kan kombinere disse flere betingelser i en one Find kommando. Det er en meget kraftfuld, men langsommere søgeværktøj.,
Den generelle syntaks af kommandoen:
$ find /path/to/file/ -iname filename
Søg efter filer i en bestemt mappe
Du kan bruge kommandoen søg til at søge efter alle filer i en bestemt mappe., Den generelle syntaks ville være:
$ find /path/to/file/
For eksempel, at finde alle filer under /home/tin/Downloads/ bibliotek, start Terminal ved at trykke på Ctrl+Alt+T og derefter køre følgende kommando i en Terminal:
$ find /home/tin/Downloads/
Søg efter filer i den aktuelle mappe
for At søge efter filer i en aktuel mappe, brug
$ find .
for At søge efter en fil med navnet e.,g “software” under det aktuelle bibliotek, skal du bruge følgende kommando i en Terminal:
$ find . -iname Softwares
Søg for at bruge et wildcard
Du kan også bruge jokertegn, til at finde de filer, der matcher forespørgslen. Den generelle syntaks ville være:
$ find /path/to/file/ -iname filename*
For eksempel til at søge efter filer, der begynder med ordet “cent”, skal du køre følgende kommando i en Terminal:
$ find /home/tin/ -iname cent*
Søg for tomme filer
Du kan også søge efter tomme filer ved hjælp af kommandoen søg., Den generelle syntaks ville være:
$ find /path/to/file/ -iname -empty
For eksempel at finde tomme filer under /home/tin mappe, skal du køre følgende kommando i en Terminal:
$ find /home/tin/ -empty
Søgning baseret på dato og tid
ved Hjælp af Find-kommando, kan du også søge efter filer afhængigt af, da de var adgang eller ændret. Der er typer af tid, du kan bruge til at søge filer:
- mtime (ændring tid): når filens indhold blev ændret sidste gang.
- atime (adgangstid): når filen blev åbnet sidste gang.,
- ctime (Skift tid): når filattributterne blev ændret sidste gang.,en 2 dage siden, skal du køre følgende kommando i en Terminal:
$ find . –atime -2
for At søge efter filer, der blev ændret på mindre end 2 dage siden, skal du køre følgende kommando i en Terminal:
$ find . –ctime -2
Søgning baseret på filstørrelse
For eksempel, at finde en fil, hvis størrelse er større end 5MB størrelse, kan vi bruge følgende kommando i Terminalen:
$ find . –size +5M\
Søgning baseret på fil tilladelser
Det bruges til at finde filer med specifikke tilladelse., Den generelle syntaks ville være:
$ find /path/to/file/ -type -perm mode
hvor:
Type parameter indeholder D eller F værdi, der bruges til at angive typen af filen. d for mapper og f kun for filer.
– tilstand kan enten være med numerisk tilladelse (f.eks 777, 655.. (f.eks u=,, a=r+)).,For eksempel, at søge efter en fil med tilladelse fra 644, kan vi bruge følgende kommando i en Terminal:
$ find . –type f –perm 644
Metode 2: Brug af Locate kommandoen
Der er en anden kommando Finde der kan bruges til at søge efter filer i Linux. Det har ikke så mange søgebetingelser som Find utility tilbyder, men det er meget bedre og hurtigere end Find utility. Årsagen bag er baggrunden proces, der rent faktisk kører i dit system og søger og gemmer nye filer i sin egen database., I modsætning til Find kommando søger den ikke på din lokale harddisk efter filer og mapper, men i stedet søger den dem i sin egen database. Dens database skal opdateres regelmæssigt for søgeværktøjet til at fungere.
installation af Locate
Locate er som standard ikke installeret i Linu.os. Du skal installere det manuelt. Tryk på Ctrl+Alt+T for at starte en Terminal og skriv derefter følgende kommando som sudo for at installere Locate-værktøjet:
$ sudo apt-get install locate
Når installationen er færdig, kan du bruge Find nytte højre væk.,
den generelle syntaks for kommandoen er:
$ locate –i filename
hvor-I bruges til at ignorere sagsforskelle.
Søgning efter en fil
For eksempel, for at søge efter et filnavn “centos”, skal du bruge følgende kommando i en Terminal:
$ locate –i centos
Det vil søge efter alle filer, der indeholder strengen “centos” i deres filnavne.
Søg efter flere filer
Du kan også søge efter flere filnavne samtidigt. Brug for eksempel følgende kommando i Terminal til at søge efter to filer “sdn.,txt” og “centos”:
$ locate –i sdn.txt centos
Søgning ved hjælp af Jokertegn
Du kan også bruge jokertegn, til at finde de filer, der matcher forespørgslen. For eksempel at søge efter alle de filer, der ender i “.iso”, brug følgende kommando i Terminal:
$ locate –i *.iso
Opdater find database
Find kommando er afhængig af, at dens database fungerer, så den skal opdateres regelmæssigt., Kør følgende kommando i Terminal for at opdatere Finde nytte database:
$ sudo updatedb
Metode 3: Brug af Grep kommandoen
Selv om Grep er ikke til direkte søgning i filer i dit system, det er i stedet bruges til at søge i teksten. Du kan dog bruge den til at vise navnene på filer, der indeholder den bestemte streng af tegn, der matcher din søgeforespørgsel. For at søge efter en streng skal du vedlægge den i dobbelt citater.,
den generelle syntaks for kommandoen er:
Hvis du leder efter en fil, der indeholder et ord, som du har mistanke om, kan være i din specifikke mappe, kan du søge efter den ved hjælp af ovenstående kommandosynta.i Terminal.
For eksempel, kan du søge efter en fil, der indeholder ordet “tintin” og vi tror, at filen kan være i vores download-mappe, kan vi bruge følgende kommando til at finde filen.,
$ grep -r –i "tintin” /home/tin/Downloads
Hvor
-jeg er vant til at ignorere sagen sondringer
–r bruges til at søge efter den angivne mappe rekursivt
Søg efter Flere forskellige ord
Du kan også søg efter flere strenge samtidig. Du skal bruge backslash ” \ ” og pipe sign “|” tegn blandt dine strenge.,
For eksempel for at søge efter to strenge “tintin” og “ping”, kan vi bruge følgende kommando i en Terminal:
$ grep –r –I "tintin\|ping” /home/tin/Downloads
Så, at der var kort oversigt over, hvordan du kan søge efter filer ved hjælp af command line i Ubuntu. I denne artikel har vi set tre nyttige kommandolinjemetoder til at søge efter filer. Du kan vælge en af disse metoder afhængigt af søgehastigheden og betingelserne.
Sådan finder du filer på Ubuntu-kommandolinjen