Linux chdir System Call sa C

Linux Chdir System Call Sa C



Ang mga pagbabago sa kasalukuyang gumaganang direktoryo ng isang device ay ginagawa gamit ang 'CHDIR' na paraan. Sa iba't ibang pagkakataon, maaari kang magpasya na baguhin ang kasalukuyang gumaganang folder ng iyong device. O gusto mong magpatakbo ng isang C script mula sa isang folder sa halip ng iyong kasalukuyang gumaganang direktoryo. Dahil dito, upang patakbuhin ang partikular na C code na iyon, dapat mong baguhin ang iyong kasalukuyang gumaganang folder. Bukod pa rito, ang 'getcwd' na paraan ng coding na wika C ay maaaring gamitin upang mabilis na matukoy kung kailan nagbago ang kasalukuyang gumaganang folder. Ngayon, gagamitin namin ang chdir() function ng C sa artikulong ito upang baguhin ang isang gumaganang direktoryo.

Halimbawa 01:

Magsimula tayo sa paggana ng chdir() function ng C sa Linux operating system. Para dito, kailangan mong tiyakin na ang compiler ng C ay naka-mount na sa iyong dulo. Sa karamihan ng mga kaso, madalas naming gamitin ang 'gcc' compiler ng C sa aming operating system ng Kali Linux. Upang magsimula sa halimbawang ito, dapat tayong magkaroon ng C file na may extension na 'c'. Pinangalanan namin itong p1.c at sinubukan naming buksan ito gamit ang 'nano' na editor ng Linux tulad ng ipinakita sa ibaba.







Kapag nabuksan ang iyong file sa editor, kailangan mong simulan ang pag-coding dito. Sinimulan na namin ang aming programang C sa pamamagitan ng pagdaragdag ng mga pangunahing aklatan ng header ng C na kailangang-kailangan sa anumang programang C. Samakatuwid, ang stdio.h at unistd.h header library ay ginagamit upang matiyak na ang karaniwang input at output ay maaaring dumaloy sa loob ng programa. Ang unistd.h header ay ginamit upang gamitin ang ilang karaniwang function ng C na kinakailangan para sa halimbawang ito lalo na. Ngayon, sinimulan na namin ang main() driver function ng C sa code na ito upang awtomatikong tumakbo sa pagpapatupad. Ang uri ng character na array variable na 'path' ay tinukoy na may sukat na 100 dahil nag-iimbak lamang ito ng 100 value.



Ang printf() function statement ay ginamit upang i-print lamang ang kasalukuyang gumaganang folder ng direktoryo ng C file na ito gamit ang function na 'getcwd()'. Ang function na ito ay gumagamit ng 'path' array variable na may sukat na 100 upang makuha ang kasalukuyang gumaganang direktoryo dito at ipasa ito sa printf() function statement para ipakita. Ngayon, oras na para gamitin ang chdir() function. Maaari naming ipasa ang anumang uri ng mga character upang tukuyin kung gusto naming sumulong sa direktoryo o lumipat sa pabalik na direksyon sa loob ng parehong direktoryo.



Kaya, sinubukan namin ang '..' na mga character sa chdir() function na pahayag upang lumipat mula sa kasalukuyang gumaganang direktoryo sa pabalik na direksyon i.e. isang antas sa ibaba ng kasalukuyang gumaganang direktoryo. Tandaan na sa ngayon, nagtatrabaho kami sa folder ng proyekto ng aming pangunahing direktoryo ng 'Linux' na gumagana ng Kali Linux system. Ngayon, kami ay nasa direktoryo ng 'Linux' sa halip na sa direktoryo ng 'proyekto' pagkatapos gamitin ang function na 'chdir'. Ngayon, sinubukan naming muli ang 'printf()' function statement upang ipakita ang kasalukuyang gumaganang direktoryo gamit ang 'getcwd' function dito. Ang aming programa ay nagtatapos sa return 0 na pahayag.





Pagkatapos i-save ang C program na ito, kailangan naming i-compile ito gamit ang 'gcc' compiler na na-configure na namin sa aming dulo. Gamit ang tagubiling ito ng gcc, gumawa kami ng object file ng C file na ito na pinangalanang 'p1.out' gamit ang –o na opsyon tulad ng ipinapakita sa ibaba.



Ngayon, kapag pinatakbo mo ang object file nito sa iyong Linux terminal, makukuha mo muna ang gumaganang direktoryo na ginagamit ng program bago ang paggamit ng chdir() function. Pagkatapos ng paggamit ng chdir() function, lumipat kami sa isang direktoryo sa ibaba at ang partikular na direktoryo na 'home' ay ipinapakita.

Halimbawa 02:



Gamit ang parehong mga library ng header, sinimulan namin ang program code na ito. Sa loob ng main() function ng program na ito, ginagamit namin ang “if” statement na gumagamit ng chdir() function dito.

Ang function na ito ay susuriin kung ang '/user' ay umiiral sa system o wala sa pamamagitan ng pagtatakda ng kundisyon na '/user!=0'. Kung ang direktoryo ay hindi umiiral sa kasalukuyang sistema, ang perror function na tawag ay gagamitin upang ipakita ang kani-kanilang mensahe ng error i.e 'ang direktoryo ng gumagamit ay hindi umiiral. Gumagamit kami ng isa pang 'if' na pahayag gamit ang chdir() function sa loob nito. Ang layunin ng paggamit ng chdir() function dito ay katulad din ng ginawa namin sa itaas na if statement, na para sa pagsuri kung ang direktoryo ay umiiral o hindi gamit ang '/temp'!=0 na kundisyon. Ang pagkakaiba lang ay ang paggamit ng bagong pangalan ng direktoryo na '/temp' sa halip na '/user' gaya ng makikita mo mula sa larawan ng code sa ibaba.







Kung ang /temp na direktoryo ay hindi umiiral sa system, ang perror function na ginamit sa 'if' na pahayag ay magbibigay ng mensahe ng error na '/temp directory ay hindi umiiral' tulad ng ipinapakita mula sa larawan sa ibaba. Pagkatapos ng paggamit ng parehong 'if' na mga pahayag, tinatapos namin ang code na ito sa return 0 na pahayag ng C. Ngayon, tapos na ang programa. Ini-save namin ang aming C code gamit ang Ctrl+S shortcut bago ito isagawa.





Ngayon na ang file ay nai-save na sa iyong system, kailangan naming i-compile ang C code gamit ang 'gcc' compiler na na-mount na namin sa aming dulo. Gamit ang pagtuturong ito, nililikha namin ang object file nito na 'p2.out' gamit ang –o na opsyon sa pagtuturo.





Pagkatapos isagawa ang nilikhang object file na 'p2.out' na may './' na mga character, nalaman namin na ang parehong mga direktoryo na binanggit sa landas ng 'chdir' ay hindi umiiral sa system o ang error na ipinapakita sa shell ay nagpapakita. ito ng maayos.



Konklusyon

Sa loob ng artikulong ito ngayon, ipinakita namin ang paggamit ng chdir() function ng C sa Kali Linux operating system. Ang pinakaunang halimbawa ay naglalarawan kung paano magagamit ang chdir() function upang baguhin ang isang gumaganang direktoryo ibig sabihin, lumipat mula sa isang direktoryo patungo sa isa pa. Ang huling halimbawa ng C ay nagpapakita kung paano natin masusuri kung ang kasalukuyang gumaganang direktoryo na tinukoy sa landas ng chdir() ay umiiral na o hindi.