Linux chdir systemanrop i C

Linux chdir systemanrop i C
Endringer i enhetens nåværende arbeidskatalog gjøres ved hjelp av "CHDIR" -metoden. Under forskjellige omstendigheter kan du bestemme deg for å endre enhetens nåværende arbeidsmappe. Eller du vil kjøre et C -skript fra en mappe i stedet for din nåværende arbeidskatalog. For å kjøre den spesifikke C -koden, må du endre den nåværende arbeidsmappen. I tillegg kan "getCwd" -metoden til kodingsspråket C brukes til å raskt bestemme når den nåværende arbeidsmappen har endret seg. Nå bruker vi CHDIR () -funksjonen til C i denne artikkelen for å endre en fungerende katalog.

Eksempel 01:

La oss starte med arbeidet med CHDIR () -funksjonen til C i Linux -operativsystemet. For dette må du gjøre det ganske sikkert at kompilatoren av C allerede er montert på slutten. I de fleste tilfeller har vi en tendens til å bruke "GCC" -kompilatoren til C i vårt operativsystem for Kali Linux. Til å starte med dette eksemplet, må vi ha en C -fil med "C" -utvidelsen. Vi kalte det P1.C og prøvde å åpne den med “Nano” -redaktøren av Linux som presentert nedenfor.

Når filen din blir åpnet i redaktøren, må du begynne å kode i den. Vi har startet vårt C-program ved å legge til hovedhodebibliotekene til C som er must-haves i et hvilket som helst C-program. Derfor stdio.H og Unistd.H headerbiblioteker brukes til å sikre at standardinngangen og utgangen kan flyte i programmet. Unistd.H header har blitt brukt til å benytte seg av noen standardfunksjoner av C som kreves for dette eksemplet spesielt. Nå har vi startet Main () driverfunksjonen til C i denne koden for å kjøre automatisk ved utførelse. Karaktertypens variabel “bane” er blitt definert med en størrelse på 100 fordi den bare lagrer 100 verdier.

PRINTF () -funksjonen er blitt brukt til å bare skrive ut den gjeldende arbeidskatalogmappen i denne C -filen ved å bruke "getCwd ()" -funksjonen. Denne funksjonen bruker "bane" -arrayvariabelen med en størrelse på 100 for å få den gjeldende arbeidskatalogen i den og overføre den til printf () -funksjonsuttalelsen for visning. Nå er det på tide å bruke chdir () -funksjonen. Vi kan passere alle slags tegn for å spesifisere om vi ønsker å komme videre i katalogen eller bevege oss i bakoverretning i samme katalog.

Så vi har prøvd “...” -karakterene i CHDIR () -funksjonserklæringen for å gå fra den nåværende arbeidskatalogen i bakoverretning I.e. Ett nivå under den gjeldende arbeidskatalogen. Merk at akkurat nå har vi jobbet i prosjektmappen til vår viktigste "Linux" -arbeidskatalog for Kali Linux -systemet. Nå er vi på "Linux" -katalogen i stedet for "Project" -katalogen etter å ha brukt "CHDIR" -funksjonen. Nå prøvde vi "printf ()" -funksjonserklæringen igjen for å vise den gjeldende arbeidskatalogen ved å bruke "getCwd" -funksjonen i den. Programmet vårt avsluttes med Return 0 -uttalelsen.

Etter å ha lagret dette C -programmet, må vi sammenstille det ved å bruke "GCC" -kompilatoren som vi allerede har konfigurert på slutten. Ved hjelp av denne GCC -instruksjonen har vi opprettet en objektfil av denne C -filen som heter “P1.ut ”ved hjelp av -o -alternativet som vist nedenfor.

Når du kjører objektfilen i Linux -terminalen, vil du først få arbeidskatalogen som brukes av programmet før bruken av CHDIR () -funksjonen. Etter bruk av CHDIR () -funksjonen flyttet vi til den ene katalogen nedenfor, og den aktuelle katalogen "Hjem" vises.

Eksempel 02:

Ved hjelp av de samme topptekstbibliotekene har vi startet denne programkoden. Innenfor hovedfunksjonen for dette programmet har vi brukt "IF" -uttalelsen ved å bruke CHDIR () -funksjonen i det.

Denne funksjonen vil sjekke om “/brukeren” eksisterer i systemet eller ikke ved å stille tilstanden “/bruker!= 0 ”. Hvis katalogen ikke eksisterer i det nåværende systemet, vil Perror -funksjonssamtalen bli brukt til å vise den respektive feilmeldingen i.e “Brukerkatalog eksisterer ikke. Vi har brukt en annen "hvis" -uttalelse ved hjelp av chdir () -funksjonen i den. Hensikten med å bruke CHDIR () -funksjonen her er også den samme som vi gjorde i ovennevnte IF -uttalelse, som er for å sjekke om katalogen eksisterer eller ikke bruker “/temp”!= 0 tilstand. Den eneste forskjellen er bruken av et nytt katalognavn “/temp” i stedet for “/bruker” som du kan se fra kodebildet nedenfor.

Hvis /temp -katalogen ikke eksisterer i systemet, vil Perror -funksjonen som brukes i "hvis" -uttalelsen kaste en feilmelding " /Temp -katalogen ikke eksisterer" som vist fra bildet nedenfor. Etter bruk av både "hvis" -uttalelsene, har vi avsluttet denne koden med C's Return 0 -uttalelsen. Nå er programmet over. Vi har lagret C -koden vår ved hjelp av CTRL+S -snarveien før utførelsen.

Nå som filen er lagret i systemet ditt, må vi kompilere C -koden med "GCC" -kompilatoren vi allerede har montert på slutten. Ved hjelp av denne instruksjonen har vi opprettet objektfilen “P2.ut ”ved hjelp av -o -alternativet i instruksjonen.

Etter å ha utført den opprettede objektfilen “P2.ut ”med“./”Tegn, lærte vi at begge katalogene som er nevnt i banen til“ chdir ”ikke eksisterer i systemet, eller feilen som vises på skallet har demonstrert det riktig.

Konklusjon

Innenfor denne artikkelen i dag har vi demonstrert bruken av CHDIR () -funksjonen til C i Kali Linux -operativsystemet. Det aller første eksemplet illustrerer hvordan CHDIR () -funksjonen kan brukes til å endre en fungerende katalog I.e., Flytt fra en katalog til en annen. Det siste eksemplet med C demonstrerer hvordan vi kan sjekke om den gjeldende arbeidskatalogen som er spesifisert i banen til chdir () har eksistert eller ikke.