Linux / UNIX sh शेल में कौन सी कमांड मेरी वर्तमान निर्देशिका को लौटाती है?


37

shशेल (नहीं bash) का उपयोग करते हुए , लिनक्स / UNIX में कौन सी कमांड मेरे वर्तमान निर्देशिका को प्रिंट करती है?

$ *showmewhereiam*
/sys/kernel/debug
$

4
एक साधारण Google खोज ने जवाब दिया होगा, अभ्यस्त?
मैड-साइंटिस्ट

9
@ पागल-वैज्ञानिक हालांकि यह सच हो सकता है, यह लोगों को Google पर जाने के लिए एक प्रश्न / उत्तर साइट के उद्देश्य को पराजित करता है। हमारा 90% ट्रैफ़िक वेब खोजों से है
slhck


2
SEO के लिए कुछ भी सरल नहीं है!
केन्ज़ो

पर्याप्त रूप से, यह प्रश्न साधारण Google खोज का उत्तर हैunix whereami
Jay Killeen

जवाबों:


60

कोशिश करो pwd

$ pwd
/home/<username>

6
जब मैं पहली बार लिनक्स को छूता हूं, तो मुझे लगता है कि यह पासवर्ड के बारे में एक कमांड है और /devयह विकास के बारे में कुछ है (स्रोत कोड या ऐसा कुछ)
लियूयान 研

2
ओह, देव का मतलब है डिवाइस ?! हमेशा सोचा कि अब तक यह सिर्फ देव का मतलब है ... मैंने सोचा था कि देव / अशक्त था जहां लिनक्स डेवलपर्स ने विशेष अशक्त वस्तु डाल दी थी। साभार @LiuYan 刘 k
1owk3y

@LiuYan 刘 i - अगर आप नहीं जानते हैं तो मैं पूरी तरह से सहमत हूं। मैंने यह देखने के लिए किया था। यह किसी और के लिए "प्रिंट वर्किंग डायरेक्टरी" के लिए खड़ा है, जो इस बात से चकित है कि वे उस कार्यक्षमता के लिए उस कमांड को क्यों चुनेंगे।
स्क्वायरकैंडी

1
@squarecandy, इसीलिए जब मैं बड़े और बूढ़े हो सकते हैं तो जितना हो सके, मैं सम-विषम का उपयोग करने से बचूंगा, यहां तक ​​कि इस समय संक्षिप्त का भी अस्पष्ट अर्थ नहीं है - आप कभी नहीं जानते कि इसका भविष्य में क्या अर्थ होगा। जेफ डनहम की गुड़िया वाल्टर द्वारा कहा गया एक मजाक है : डीसी में YouTube पर क्या होता है! , जहां डीसी का अर्थ डी इगिटल सी अमेरा है लेकिन इसका मतलब वाशिंगटन भी है, डी मजाक में सी ऑलम्बिया का डी
लियूयान

11

हालांकि सामान्य उत्तर है pwd, ध्यान दें कि यह अलग-अलग परिणाम दे सकता है कि आप किसी दिए गए निर्देशिका में कैसे पहुंचे, और क्या मार्ग में प्रतीकात्मक लिंक शामिल हैं।

उदाहरण के लिए, यदि आप एक निर्देशिका कहा जाता है realऔर उस निर्देशिका कहा जाता है के लिए एक प्रतीकात्मक कड़ी virtualहै, और आप cdके लिए virtualनिर्देशिका है, तो pwdहै कि दिखाएगा virtualनिर्देशिका का नाम है, भले ही वास्तविक निर्देशिका आप में कर रहे हैं real

वास्तविक अंतर्निहित निर्देशिका दिखाने के लिए, pwd -Pया तो readlink -f( या एक मनमाना पथ के लिए) का उपयोग करें:

$ mkdir असली
$ ln -s असली आभासी
$ cd आभासी
$ पीडब्ल्यूडी
/ होम / यूज़रनेम / tmp / वर्चुअल
$ pwd-
/ घर / उपयोगकर्ता नाम / tmp / real
$ रीडलिंक -f।
/ घर / उपयोगकर्ता नाम / tmp / real

ध्यान दें कि गोले अक्सर pwdकमांड को अपने स्वयं के आंतरिक संस्करण के साथ बदल देते हैं , इसलिए मेरे सिस्टम पर (आरएचईएल 6), भले ही pwd(1)मैनुअल पेज से पता चलता है कि --physicalकाम करेगा -P, क्योंकि मैं चल रहा हूं bash, यह नहीं है:

$ pwd - रूपात्मक
bash: pwd: -: अमान्य विकल्प
pwd: उपयोग: pwd [-LP]
$ / बिन / pwd --physical
/ घर / उपयोगकर्ता नाम / tmp / real
$ / usr / bin / env pwd --physical
/ घर / उपयोगकर्ता नाम / tmp / real

1

जैसा कि दूसरों ने कहा, pwdआमतौर पर काम काफी अच्छा होता है। हालाँकि, मैं एक विचार जोड़ना चाहूंगा जिसने मुझे मदद की है।

आज सभी सामान्य उपयोगों में, आप कमांड प्रॉम्प्ट की उपस्थिति को अनुकूलित करने में सक्षम हैं। मुझे मेरा अनुकूलित करना पसंद है ताकि यह मुझे कंप्यूटर के नाम और मेरी कार्यशील निर्देशिका, दोनों को दिखा सके। इस तरह, मैं हमेशा जानता हूं कि मैं कहां हूं। (कंप्यूटर का नाम भाग मुझे यह महसूस करने में मदद करता है कि क्या मैं जिस टर्मिनल विंडो का उपयोग कर रहा हूं उसका उपयोग एसएसएच को दूरस्थ सर्वर में किया गया है।) उदाहरण के लिए, जब मैं अपने लैपटॉप पर एक नई टर्मिनल विंडो खोलता हूं, जिसे मैं प्लास्टो कहता हूं, तो मैं यह देखता हूं:

Plastico ~> cd Desktop/
Plastico ~/Desktop> cd ~/Sites/raygunrobot.com
Plastico ~/Sites/raygunrobot.com> cd /usr
Plastico /usr> 

आप देख सकते हैं कि यह मेरे घर की निर्देशिका को संक्षिप्त कर रहा है ~। मुझे लगता है कि मेरे टर्मिनल प्रॉम्प्ट के लिए ऐसा करना अविश्वसनीय रूप से आसान है - मैं हमेशा एक नज़र में जानता हूं कि मैं कहां हूं, इससे भी ज्यादा कि मैं एक खोजक विंडो को देख रहा हूं।

Tcsh पर, मैं set prompt = 'Plastico %~%# ' अपनी होम निर्देशिका में अपनी .tcshrc फ़ाइल में जोड़कर ऐसा करता हूं। मैंने इसे export PS1="Plastico $PWD $ "अपने .profile फ़ाइल में जोड़कर ksh पर भी किया है । लेकिन लिनक्स उपयोगकर्ता होने के नाते, आप शायद बैश का उपयोग करते हैं, जिसका मुझे बहुत अनुभव नहीं है (मैं उस तरह एक अजीब हूं)। लेकिन ऐसा लगता है कि मैं PS1="Plastico \w $ "अपने .bashrc फ़ाइल में जोड़कर इसे करने में सक्षम हो सकता हूं।

संपादित करें: बस ध्यान दें कि ओपी राज्यों को श में दिलचस्पी है, न कि मार। ओह अच्छा; उम्मीद है कि लोगों को यह उपयोगी लगता है।


यह एक अच्छा विचार है। एक साधारण डेस्कटॉप उपयोग के मामले में अच्छी तरह से काम कर सकता है। लगता है जैसे यह सुपर गहरी निर्देशिकाओं के लिए अनजाने में हो सकता है अगर आपका संकेत अकेला है Plastico /var/www/vhosts/myveryexcellentwebsite.com/public_html/wp-content/themes/myveryexcellenttheme/js/vendor/excellentjs/ >या ऐसा कुछ है।
स्क्वायरकैंडी

1
$ pwd
/your/current/directory
$

pwdप्रिंट वर्किंग डायरेक्टरी से आता है ।

लिनक्स मैन पेज से:

नाम

pwd - करंट / वर्किंग डायरेक्टरी का प्रिंट नाम

सार

pwd [विकल्प] ...

विवरण

वर्तमान कार्यशील निर्देशिका का पूरा फ़ाइल नाम प्रिंट करें।

-L , - जलीय

पर्यावरण से पीडब्ल्यूडी का उपयोग करें, भले ही उसमें समिंक हो

-पी , - अपसारी

सभी सिम्बलिंक्स से बचें

--मदद

इस सहायता को प्रदर्शित करें और बाहर निकलें

--version

आउटपुट संस्करण की जानकारी और बाहर निकलें

नोट: आपके शेल में pwd का अपना संस्करण हो सकता है, जो आमतौर पर यहाँ वर्णित संस्करण को उलट देता है। कृपया अपने शेल के दस्तावेज़ीकरण का उल्लेख करें कि यह जिन विकल्पों का समर्थन करता है, उनके बारे में विवरण के लिए।

(...)


यह पाँच साल पहले के स्वीकृत उत्तर में जानकारी की नकल करता है । क्या आप कुछ और भी जोड़ सकते हैं?
बर्टिएब
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.