लिनक्स पर,
cd /tmp
mkdir foo; cd foo
अब चल रहा है
find . -name 'foo'
कोई आउटपुट नहीं देता। जबकि चल रहा है
find /tmp/foo -name 'foo'
आउटपुट देता है /tmp/foo
जो मेरे लिए समझ में नहीं आता है। कोई समझा सकता है क्यों?
find
।
bar
एक फ़ाइल की ओर इशारा foo
करता है जो खोज पथ के बाहर है। मैच होगा या नहीं?
.
और /tmp/foo
एक ही नहीं हैं - वे एक ही निर्देशिका में दो अलग-अलग हार्ड लिंक कर रहे हैं; find /tmp/foo/. -name 'foo'
कुछ भी नहीं पाता है।
find /tmp/foo -name 'foo'
, तो मैं निर्देशिका में खोजने के लिए बैश पूछ रहा था /tmp/foo
, एक फाइल जिसका नाम "फू" है। क्योंकि निर्देशिका /tmp/foo
खाली है, उसे कुछ भी नहीं लौटाना चाहिए था। मुझे समझ नहीं आता कि यह क्यों लौटता है /tmp/foo
। दूसरी ओर, जब मैं दौड़ता हूं, तो मैं find . -name 'foo'
एक ही चीज़ को बैश करने के लिए कह रहा था, यानी, वर्तमान निर्देशिका (जो हुआ /tmp/foo
) में एक फ़ाइल ढूंढ रहा है , जिसका नाम 'फू' है, और यह कुछ भी नहीं देता है जो समझ में आता है।
./
करते हैं तो यह मेल नहीं खाताfoo