आप टर्मिनल में उपयोग के लिए फ़ाइल का पूरा पथ कैसे प्राप्त कर सकते हैं?


जवाबों:


44
readlink -f foo.bar

या (पहले इसे स्थापित करें)

realpath foo.bar

यह उत्तर स्वीकृत एक से अधिक सटीक है।
कुनोक

पूर्ण फ़ोल्डर के लिए ls | xargs realpath:।
पाब्लो ए

1
नकारात्मक पक्ष readlinkयह है कि यह तब भी काम करेगा जब फ़ाइल मौजूद नहीं है। यह बहुत ही अजीब तरीके से कीड़े को नष्ट कर सकता है।
ग्रेगरोस

32

बस फ़ाइल को टर्मिनल में खींचें और छोड़ें।


1
मैं इसे यहां रख रहा हूं ताकि मैं भूल न जाऊं, आशा करता हूं कि यह आप में से कुछ की मदद करेगा: डी
ओलिवियर लालोंडे

वास्तविक आरोहित पथ के बजाय SMB माउंट किए गए शेयरों के लिए "smb: //" उपसर्ग पथ देता है।
कुपाईकोस

@ कुप्पीकोस: मेरे लिए, गनोम-टर्मिनल खुशी से गिरी हुई फ़ाइल पथ का अनुवाद करता है'/home/alexcohn/.gvfs/…'
एलेक्स कोहेन

11

सभी अच्छे उत्तर; यहाँ एक और स्थिति के लिए एक टिप है।

यदि आप nautilus का उपयोग करके अपनी फ़ाइलों को ब्राउज़ कर रहे हैं और आप अपनी वर्तमान निर्देशिका का पूरा पथ चाहते हैं, तो दबाएँ CTRL+L। यह ब्रेडक्रंब बटन को अस्थायी रूप से पुराने शैली के पता बार में वापस बदल देता है, जिससे आप पथ को कॉपी कर सकते हैं।


... लेकिन यह अभी भी smb://-स्टाइल है, इसलिए इसे टर्मिनल में पुन: उपयोग नहीं किया जा सकता है।
एलेक्स कोहन

दिलचस्प; मेरे सिस्टम पर (Ubuntu 13.10) मुझे एक smb://-पथ शैली नहीं मिलती है ।
13

वास्तव में मैं क्या देख रहा था, मेरा मतलब है कि टर्मिनल एक महान जगह है ls लेकिन वहाँ एक बार जब आप एक फ़ाइल फ़ोल्डर दृश्य में काम करते हैं: ')
edencorbin

3

यदि यह एक निष्पादन योग्य है, तो निष्पादित करें (एक टर्मिनल में):

$ which your_executable

उदाहरण के लिए: $ which ls


यह वह उत्तर है जिसकी मुझे तलाश थी
शारजील अहमद

1

आइकन को खींचने के अलावा, नॉटिलस (या थूनर, कोनेकर, एट अल।) के बिना पूरा रास्ता पाने के कुछ तरीके हैं। फिर आप ट्रिपल-क्लिक या क्लिक-ड्रैग और कॉपी करेंगे, संभावित रूप से इसे अपने क्लिपबोर्ड मैनेजर * में सेव कर सकते हैं, और जहां जरूरत हो, वहां पेस्ट करें।
(पेस्टी, क्लीपर, ग्लिप्पी, ग्लिपर, एनामनेसिस)

  • आप findअपनी फ़ाइल के ऊपर एक निर्देशिका में उपयोग कर सकते हैं । (यदि आप नहीं जानते कि यह कहाँ है, तो शुरू करें जहाँ आपका शेल आपको छोड़ देता है, [आम तौर पर] आपके होम डायरेक्टरी के शीर्ष में।)
    find . | egrep filename

  • आप locateफ़ाइल नाम प्राप्त करने के लिए उपयोग कर सकते हैं । ( sudo updatedbयदि हाल ही में ऐसा नहीं किया गया है तो चलाएं ।)

खोज का उपयोग करने का एक और अधिक यथार्थवादी उदाहरण कुछ इस तरह होगा:

$ find | egrep askubuntu | grep txt
./askubuntu-temp.txt
./drDocuments/web/meta.askubuntu.txt
./other/stuff/askubuntu.txt.iteration.1
./other/stuff/askubuntu.txt.iteration.2
[...]

उन लोगों को बाहर निकालने के लिए जिन्हें आप पसंद नहीं करते हैं, जैसे:

find | egrep askubuntu | grep txt | egrep -v iteration
find | egrep askubuntu | grep txt | egrep -v 'iteration|meta|other'

पता लगाने का उपयोग उसी तरह किया जाता है, हालांकि grep अक्सर अधिक आवश्यक होता है:

locate myfile | egrep home | egrep -v 'mozilla|cache|local|bin|\.pyc|test' | grep \.py

इसे टाइप करने का यह सबसे कारगर तरीका नहीं है, लेकिन आमतौर पर अगर मैंने कोई फाइल खो दी है, तो मैं इसे पूरी तरह से करता हूं, जैसे मैं जाता हूं, वैसे ही grep क्लॉस को जोड़ देता हूं।



0

यदि आप बस Nautilus में फाइल कॉपी करते हैं, तो पूरा रास्ता कॉपी हो जाता है।
फिर इसे टर्मिनल में पेस्ट करें। बस चिपकाने से आपको मिलता है:

file:///home/juan/2017/agenda20170101.html

यदि आप राइट-क्लिक करते हैं और "पेस्ट फाइलनाम" चुनते हैं, तो आपको मिलता है:

'/home/juan/2017/agenda20170101.html'

दिखाए गए उद्धरणों के साथ।
यह विंडोज से अलग है, जो फ़ाइल सामग्री को उसके नाम के बजाय कॉपी करता है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.