Lseek -systemanropet har blitt brukt til å lese noen spesifikke tegn eller data fra en fil eller for å skrive noe innhold på det spesifikke stedet for en hvilken som helst fil. Dette betyr at du kan lese eller skrive fra mellom innholdet i en fil.
Syntaks:
Off_t lseek (int fd, off_t offset, int hvorfra);
Denne "lseek" -systemanropet krever to overskriftsfiler, e.g., “Sys/typer.H ”og“ Unistd.h ”. Lseek -systemanropet krever tre parametere. Den første er "FD", som er en filbeskrivelse. Den andre er "forskjøvet", brukes til å plassere pekeren. Og den tredje parameteren, "hvorfra", brukes til å spesifisere plasseringen av en filpeker, e.g., begynnelse, slutt, midt.
Installer Manpages:
For å sjekke den ekstra informasjonen angående systemanrop, må du installere Manpages-Dev-pakken. Så prøv å starte Linux Shell -terminalen ved hjelp. Etter at du har lansert kommandoteterminalen, utfør den APT-installasjonsspørsmålet nedenfor for å installere Manpages-Dev-biblioteket. Det krever at gjeldende kontokode for kontoen din fortsetter med installasjonen. Skriv inn passordet og trykk på Enter -tasten fra skrivemaskinen. Installasjonsprosessen vil bli startet og begynne å samle informasjon.
$ sudo apt installer manpages-devInstallasjonsprosessen får deg til å vente litt tid. Etter at installasjonen var fullført, kan du nå sjekke informasjonen om “Lseek” -kommandoen. Så skriv nedenfor “Man 2” -kommandoen sammen med navnet på systemanropet. Som du kan se, har vi sjekket for "lseek" i instruksjonen nedenfor.
$ mann 2 lseekMannsiden for "Lseek" -systemanropet er åpnet nedenfor. Du kan få all informasjonen om den.
Installer GCC -kompilator:
Nå er det på tide at vi installerer GCC -kompilatoren for sammenstilling av C -språkfiler. Så du må bruke en veldig enkel apt installasjonskommando i skallet for å installere den mens du bruker kompilatorutvidelsen som nøkkelordnavn nedenfor.
$ sudo apt install GCCDet vil ta din lille tid å få installasjonen gjort. Etter å ha installert GCC -pakken, er Linux -systemet ditt klart til å bruke C -språkfiler i den.
Eksempel 01:
Før du går dypt for å forstå konseptet med lseek -systemanropet, må du starte det med en enkel type fil. Så start terminalen og prøv nedenfor Touch -kommandoen for å opprette en enkel fil som heter "Seek" i hjemmekatalogen til Linux -distribusjonen din.
$ berøringssøkLegg til noen data i filen "Søk" og lagre den. Du kan se filen "søke" innhold i kommandolinjeskallet ved å bruke den enkle "katten" -spørringen nedenfor. Innholdet i en fil har noen alfabeter og tall sammen med tegnet “*”.
$ katt søkerLa oss opprette en C -type fil “Test.C ”Bruke nano -nøkkelordet for å åpne det direkte med Nano Editor. Prøv å utføre kommandoen nedenfor for å gjøre det.
$ nano test.cLa oss sjekke ett program uten Lseek -kommandoen. Det vil åpne en Nano-tekstredigerer med en C-Type-fil nevnt på oversiden. Skriv nå den nedenfor-skurrende koden fra bildet i redigeringsprogrammet. De første 4 linjene inneholder toppfilene som er nødvendige for å implementere “Lseek” -kommandoen. Etter det er hovedfunksjonen startet. I denne hovedmetoden har vi definert heltall og karaktertype data for videre bruk. Den tredje linjen i hovedfunksjonen har brukt den åpne samtalen for å åpne en fil som heter "Seek", som vi nettopp har opprettet ovenfor, og forskyvningen “O_RDWR” har blitt brukt til å lese og skrive tillatelser. Innholdet fra filen er returnert til filbeskrivende “f”. Etter dette har vi brukt den første lesemetoden for å lese 12 tegndata fra søkefilen. Skrivfunksjonen har blitt brukt til å skrive data på skjermen. En annen Read -kommando har blitt brukt for å få de neste 12 tegnene fra filbeskrivelsen “F”, og skrivekommandoen er å lese de neste 12 tegnene til utdata -skjermen. Fra dette kan vi anta at utdataene vil vise totalt 24 tegn fra filen "Seek". Trykk CTRL+S for å lagre denne filen og prøv Ctrl+X for å lukke den.
La oss bare kompilere “testen.c ”-fil ved å bruke GCC Compiler -kommandoen nedenfor.
$ GCC -test.cKjør nå koden til “Testen.C ”-fil for å sjekke utdataene til C -koden som gitt nedenfor. Utgangen har vist 24 -tegnsettet med innhold fra filsøket som nedenfor.
$ ./en.uteLa oss bruke “Lseek” -kommandoen i koden for å sjekke utdataene fra et systemanrop. Så åpne den samme testen.C -fil ved hjelp av Nano -kommandoen nedenfor.
$ nano test.cOppdater koden din slik den er. Denne gangen har vi brukt 6 tegn fra innholdsfilen for å bli lest og skrive. Lseek -kommandoen har blitt brukt til å hoppe over de neste 5 tegnene fra innholdsfilen og hoppe til de neste tegnene ved å bruke "Seek_cur" -forskyvningen.
La oss kompilere denne koden igjen.
$ GCC -test.cUtgangen fra C -koden ved hjelp av a.Ut -kommandoen viser de 6 første tegnene, så hopper den over de neste 5 tegnene og viser deretter de påfølgende neste 6 tegnene.
$ ./en.uteEksempel 02:
For å ha noen endringer, la oss endre koden. Åpne filen først.
$ nano test.cNå skal vi bruke "Seek_set" -forskyvningen for å fortelle "Lseek" -systemanropet for å vise de neste 6 tegnene fra 10. plassering av en streng.
Sett sammen C -filen.
$ GCC -test.cOutput -kommandoen a.Ut har vist de 6 tegnene fra den 10. indeksen for en streng.
Konklusjon:
Denne guiden har gjort noen enkle eksempler på å bruke “Lseek” systemanropskommandoen for å sjekke eller vise innhold eller data fra hvilken som helst stilling vi ønsker.