वैचारिक स्तर
जब आप अपने शेल से एक प्रक्रिया शुरू करते हैं, तो प्रक्रिया की वर्तमान कार्यशील निर्देशिका आपके शेल की वर्तमान कार्यशील निर्देशिका के समान होती है। शेल के संदर्भ में, वर्तमान कार्यशील निर्देशिका वह स्थान है जो आप वर्तमान में "पर" हैं।
किसी भी प्रक्रिया की वर्तमान कार्यशील निर्देशिका का उपयोग रिश्तेदार रास्तों की व्याख्या के लिए किया जाता है। उदाहरण के लिए, यदि आपका खोल के वर्तमान कार्यशील निर्देशिका था /home/rene
और तुम भाग गया ls ..
खोल से, प्रक्रिया के वर्तमान कार्यशील निर्देशिका, /home/rene
, संकल्प करने के लिए इस्तेमाल किया जाएगा ..
करने के लिए /home
।
आप अपने सिस्टम पर चलने वाली सभी प्रक्रियाओं की वर्तमान कार्यशील निर्देशिका देख सकते हैं lsof | grep '\scwd\s'
(ध्यान दें कि आपको संभवतः उन उपयोगकर्ताओं की प्रक्रियाओं को देखने के लिए रूट होने की आवश्यकता होगी।) इससे आप अंदाजा लगा सकते हैं कि वर्तमान कार्य निर्देशिकाएँ किस प्रकार संबंधित हैं। आपके सिस्टम पर चल रही प्रक्रियाएं।
कार्यक्रम का स्तर
शेल की वर्तमान कार्यशील निर्देशिका वह निर्देशिका है जिसे आप शेल-इन pwd
और cd
क्रमशः शेल के साथ देखते और संशोधित करते हैं। ये कमांड कॉल सिस्टम कॉल जैसे कि getcwd
और chdir
आपके शेल की वर्तमान कार्यशील निर्देशिका के साथ काम करते हैं।
bash
एक उदाहरण के रूप में उपयोग करते हुए , cd
अंत में अंतर्निहित यह रेखा चलती है:
if (chdir (nolinks ? newdir : tdir) == 0)
और pwd
अंत में इस लाइन को चलाता है:
the_current_working_directory = getcwd (0, PATH_MAX);
शेल वर्तमान कार्यशील निर्देशिका के उपयोग का एक सुविधाजनक उदाहरण है; ये समान सिस्टम कॉल अन्य कार्यक्रमों द्वारा भी उपयोग किए जाते हैं। एक प्रोग्राम अपनी वर्तमान कार्यशील निर्देशिका को बदल सकता है /usr
और किसी भी रिश्तेदार पथ को, जो प्रोग्राम का उपयोग करता है, /usr
निर्देशिका से शुरू होगा ,
कर्नेल स्तर
प्रक्रिया की वर्तमान कार्यशील निर्देशिका कर्नेल द्वारा संग्रहीत की जाती है। लिनक्स इसे pwd
एक fs_struct
के fs
सदस्य द्वारा इंगित के सदस्य में संग्रहीत करता है task_struct
। pwd
सदस्य एक है path
struct, जो माउंट के बारे में जानकारी के लिए अंक ( vfsmount
) और फाइल सिस्टम में निर्देशिका का स्थान ( dentry
)। प्रत्येक प्रक्रिया इसके task_struct
साथ जुड़ी हुई है।
chdir
और getcwd
सिस्टम कॉल को संशोधित करने और में जानकारी पुनः प्राप्त pwd
।