लिनक्स पर,
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