C లో Linux chdir సిస్టమ్ కాల్

C Lo Linux Chdir Sistam Kal



పరికరం యొక్క ప్రస్తుత పని డైరెక్టరీకి మార్పులు 'CHDIR' పద్ధతిని ఉపయోగించి చేయబడతాయి. వివిధ పరిస్థితులలో, మీరు మీ పరికరంలో ప్రస్తుతం పనిచేస్తున్న ఫోల్డర్‌ని మార్చాలని నిర్ణయించుకోవచ్చు. లేదా మీరు ప్రస్తుతం పనిచేస్తున్న డైరెక్టరీకి బదులుగా ఫోల్డర్ నుండి C స్క్రిప్ట్‌ని అమలు చేయాలనుకుంటున్నారు. పర్యవసానంగా, నిర్దిష్ట C కోడ్‌ని అమలు చేయడానికి, మీరు మీ ప్రస్తుత పని ఫోల్డర్‌ను తప్పనిసరిగా సవరించాలి. అదనంగా, ప్రస్తుతం పని చేస్తున్న ఫోల్డర్ మారినప్పుడు త్వరగా గుర్తించడానికి కోడింగ్ భాష C యొక్క “getcwd” పద్ధతిని ఉపయోగించవచ్చు. ఇప్పుడు, వర్కింగ్ డైరెక్టరీని మార్చడానికి ఈ ఆర్టికల్‌లో C యొక్క chdir() ఫంక్షన్‌ని ఉపయోగిస్తాము.

ఉదాహరణ 01:

Linux ఆపరేటింగ్ సిస్టమ్‌లో C యొక్క chdir() ఫంక్షన్ పని చేయడంతో ప్రారంభిద్దాం. దీని కోసం, C యొక్క కంపైలర్ ఇప్పటికే మీ చివరన అమర్చబడిందని మీరు ఖచ్చితంగా నిర్ధారించుకోవాలి. చాలా సందర్భాలలో, మేము మా Kali Linux ఆపరేటింగ్ సిస్టమ్‌లో C యొక్క “gcc” కంపైలర్‌ని ఉపయోగిస్తాము. ఈ ఉదాహరణతో ప్రారంభించడానికి, మనకు తప్పనిసరిగా “c” పొడిగింపుతో కూడిన C ఫైల్ ఉండాలి. మేము దీనికి p1.c అని పేరు పెట్టాము మరియు దిగువ అందించిన విధంగా Linux యొక్క “నానో” ఎడిటర్‌తో దాన్ని తెరవడానికి ప్రయత్నించాము.







మీ ఫైల్ ఎడిటర్‌లో తెరవబడినప్పుడు, మీరు దానిలో కోడింగ్ ప్రారంభించాలి. ఏదైనా C ప్రోగ్రామ్‌లో తప్పనిసరిగా ఉండాల్సిన C యొక్క ప్రధాన హెడర్ లైబ్రరీలను జోడించడం ద్వారా మేము మా C ప్రోగ్రామ్‌ను ప్రారంభించాము. అందువల్ల, ప్రోగ్రామ్‌లో ప్రామాణిక ఇన్‌పుట్ మరియు అవుట్‌పుట్ ప్రవహించగలవని నిర్ధారించుకోవడానికి stdio.h మరియు unistd.h హెడర్ లైబ్రరీలు ఉపయోగించబడతాయి. ఈ ఉదాహరణకి ప్రత్యేకంగా అవసరమైన C యొక్క కొన్ని ప్రామాణిక ఫంక్షన్‌లను ఉపయోగించేందుకు unistd.h హెడర్ ఉపయోగించబడింది. ఇప్పుడు, మేము అమలులో స్వయంచాలకంగా అమలు చేయడానికి ఈ కోడ్‌లో C యొక్క ప్రధాన() డ్రైవర్ ఫంక్షన్‌ను ప్రారంభించాము. అక్షర రకం శ్రేణి వేరియబుల్ “పాత్” 100 పరిమాణంతో నిర్వచించబడింది ఎందుకంటే ఇది 100 విలువలను మాత్రమే నిల్వ చేస్తుంది.



“getcwd()” ఫంక్షన్‌ని ఉపయోగించి ఈ C ఫైల్ యొక్క ప్రస్తుత వర్కింగ్ డైరెక్టరీ ఫోల్డర్‌ను ప్రింట్ చేయడానికి printf() ఫంక్షన్ స్టేట్‌మెంట్ ఉపయోగించబడింది. ఈ ఫంక్షన్ ప్రస్తుత వర్కింగ్ డైరెక్టరీని పొందడానికి 100 పరిమాణంతో “పాత్” శ్రేణి వేరియబుల్‌ని ఉపయోగిస్తుంది మరియు దానిని ప్రదర్శించడానికి printf() ఫంక్షన్ స్టేట్‌మెంట్‌కు పంపుతుంది. ఇప్పుడు, chdir() ఫంక్షన్‌ని ఉపయోగించాల్సిన సమయం వచ్చింది. మనం డైరెక్టరీలో ముందుకు వెళ్లాలనుకుంటున్నామా లేదా అదే డైరెక్టరీలో వెనుకబడిన దిశలో కదలాలనుకుంటున్నామా అని పేర్కొనడానికి ఏ విధమైన క్యారెక్టర్‌లను పాస్ చేయవచ్చు.



కాబట్టి, మేము chdir() ఫంక్షన్ స్టేట్‌మెంట్‌లోని “..” అక్షరాలను ప్రస్తుత వర్కింగ్ డైరెక్టరీ నుండి బ్యాక్‌వర్డ్ డైరెక్షన్‌లో అంటే ప్రస్తుత వర్కింగ్ డైరెక్టరీకి దిగువన ఉన్న ఒక స్థాయికి తరలించడానికి ప్రయత్నించాము. ప్రస్తుతం, మేము కాలీ లైనక్స్ సిస్టమ్ యొక్క మా ప్రధాన “లైనక్స్” వర్కింగ్ డైరెక్టరీ యొక్క ప్రాజెక్ట్ ఫోల్డర్‌లో పని చేస్తున్నామని గమనించండి. ఇప్పుడు, మనం “chdir” ఫంక్షన్‌ని ఉపయోగించిన తర్వాత “ప్రాజెక్ట్” డైరెక్టరీకి బదులుగా “Linux” డైరెక్టరీ వద్ద ఉన్నాము. ఇప్పుడు, ప్రస్తుత వర్కింగ్ డైరెక్టరీని దానిలోని “getcwd” ఫంక్షన్‌ని ఉపయోగించి ప్రదర్శించడానికి “printf()” ఫంక్షన్ స్టేట్‌మెంట్‌ని మరోసారి ప్రయత్నించాము. మా ప్రోగ్రామ్ రిటర్న్ 0 స్టేట్‌మెంట్‌తో ముగుస్తుంది.





ఈ C ప్రోగ్రామ్‌ను సేవ్ చేసిన తర్వాత, మన చివరిలో ఇప్పటికే కాన్ఫిగర్ చేసిన “gcc” కంపైలర్‌ని ఉపయోగించి దాన్ని కంపైల్ చేయాలి. ఈ gcc సూచనను ఉపయోగించి, మేము ఈ C ఫైల్ యొక్క ఆబ్జెక్ట్ ఫైల్‌ని “p1.out” అనే పేరుతో క్రింద ప్రదర్శించిన –o ఎంపికను ఉపయోగించి సృష్టించాము.



ఇప్పుడు, మీరు మీ Linux టెర్మినల్‌లో దాని ఆబ్జెక్ట్ ఫైల్‌ని రన్ చేసినప్పుడు, మీరు chdir() ఫంక్షన్‌ని ఉపయోగించే ముందు ప్రోగ్రామ్ ఉపయోగించే వర్కింగ్ డైరెక్టరీని పొందుతారు. chdir() ఫంక్షన్‌ని ఉపయోగించిన తర్వాత, మేము దిగువ ఉన్న ఒక డైరెక్టరీకి తరలించాము మరియు నిర్దిష్ట డైరెక్టరీ “హోమ్” ప్రదర్శించబడుతుంది.

ఉదాహరణ 02:



అదే హెడర్ లైబ్రరీలను ఉపయోగించి, మేము ఈ ప్రోగ్రామ్ కోడ్‌ని ప్రారంభించాము. ఈ ప్రోగ్రామ్ యొక్క మెయిన్() ఫంక్షన్‌లో, మేము దానిలోని chdir() ఫంక్షన్‌ని ఉపయోగించి “if” స్టేట్‌మెంట్‌ని ఉపయోగిస్తున్నాము.

ఈ ఫంక్షన్ సిస్టమ్‌లో '/user' ఉందో లేదో '/user!=0'ని సెట్ చేయడం ద్వారా తనిఖీ చేస్తుంది. ప్రస్తుత సిస్టమ్‌లో డైరెక్టరీ ఉనికిలో లేకుంటే, సంబంధిత దోష సందేశాన్ని ప్రదర్శించడానికి పెరర్ ఫంక్షన్ కాల్ ఉపయోగించబడుతుంది, అనగా “యూజర్ డైరెక్టరీ ఉనికిలో లేదు. మేము దానిలోని chdir() ఫంక్షన్‌ని ఉపయోగించి మరొక “if” స్టేట్‌మెంట్‌ను ఉపయోగిస్తున్నాము. ఇక్కడ chdir() ఫంక్షన్‌ని ఉపయోగించడం యొక్క ఉద్దేశ్యం కూడా పైన పేర్కొన్న if స్టేట్‌మెంట్‌లో మనం చేసినట్లుగానే ఉంటుంది, ఇది డైరెక్టరీ ఉందో లేదో తనిఖీ చేయడం కోసం “/temp”!=0 షరతును ఉపయోగించడం. మీరు దిగువ కోడ్ ఇమేజ్ నుండి చూడగలిగే విధంగా “/user”కి బదులుగా “/temp” అనే కొత్త డైరెక్టరీ పేరును ఉపయోగించడం మాత్రమే తేడా.







సిస్టమ్‌లో /temp డైరెక్టరీ లేనట్లయితే, 'if' స్టేట్‌మెంట్‌లో ఉపయోగించిన తప్పు ఫంక్షన్ దిగువ చిత్రం నుండి ప్రదర్శించబడినట్లుగా '/temp డైరెక్టరీ ఉనికిలో లేదు' అనే దోష సందేశాన్ని పంపుతుంది. రెండు “if” స్టేట్‌మెంట్‌లను ఉపయోగించిన తర్వాత, మేము ఈ కోడ్‌ను C యొక్క రిటర్న్ 0 స్టేట్‌మెంట్‌తో ముగించాము. ఇప్పుడు, కార్యక్రమం ముగిసింది. మేము మా C కోడ్‌ని అమలు చేయడానికి ముందు Ctrl+S సత్వరమార్గాన్ని ఉపయోగించి సేవ్ చేస్తున్నాము.





ఇప్పుడు ఫైల్ మీ సిస్టమ్‌లో సేవ్ చేయబడింది, మేము ఇప్పటికే మా చివరన మౌంట్ చేసిన “gcc” కంపైలర్‌తో C కోడ్‌ని కంపైల్ చేయాలి. ఈ సూచనను ఉపయోగించి, మేము సూచనలో –o ఎంపికను ఉపయోగించి దాని ఆబ్జెక్ట్ ఫైల్ “p2.out”ని సృష్టిస్తున్నాము.





సృష్టించిన ఆబ్జెక్ట్ ఫైల్ “p2.out”ని “./” అక్షరాలతో అమలు చేసిన తర్వాత, “chdir” పాత్‌లో పేర్కొన్న రెండు డైరెక్టరీలు సిస్టమ్‌లో లేవని లేదా షెల్ వద్ద ప్రదర్శించబడిన ఎర్రర్‌ని ప్రదర్శిస్తున్నట్లు మేము తెలుసుకున్నాము. అది సరిగ్గా.



ముగింపు

ఈరోజు ఈ కథనంలో, మేము కాలీ లైనక్స్ ఆపరేటింగ్ సిస్టమ్‌లో C యొక్క chdir() ఫంక్షన్‌ని ఉపయోగించడాన్ని ప్రదర్శించాము. మొదటి ఉదాహరణ వర్కింగ్ డైరెక్టరీని మార్చడానికి chdir() ఫంక్షన్ ఎలా ఉపయోగించబడుతుందో వివరిస్తుంది అంటే, ఒక డైరెక్టరీ నుండి మరొక డైరెక్టరీకి తరలించడం. C యొక్క చివరి ఉదాహరణ chdir() పాత్‌లో పేర్కొన్న ప్రస్తుత వర్కింగ్ డైరెక్టరీ ఉనికిలో ఉందో లేదో మనం ఎలా తనిఖీ చేయవచ్చో చూపిస్తుంది.