लिनक्स खोज / रूट विभाजन को ही खोजे?


17

कहो मुझे क्या करना है:

/fname.txt को खोजें

और कहते हैं कि रूट विभाजन /चालू है /dev/sda5; हालाँकि, मान लें कि मेरे पास 250GB विभाजन ( /dev/sda6, /dev/sda7) माउंटेड है /media- और दूसरा स्थान जो मुझे वर्तमान में याद नहीं है। यह भी कहें, कि मुझे पता है कि जिस फ़ाइल की मुझे तलाश है, वह चालू है /dev/sda5

जाहिर है, ऊपर की कमांड भी उतरेगी /mediaऔर वह दूसरी निर्देशिका जो बड़े विभाजन का प्रतिनिधित्व करती है, गलत जगह फाइल की तलाश में समय बर्बाद करती है।

वहाँ खोज (या अन्य आदेश) खोज करने के लिए निर्देश देने के लिए एक रास्ता है ही / पर /dev/sda5, और अगर वे अलग विभाजन पर हैं निर्देशिकाओं करने के लिए उतरना करने नहीं?

जवाबों:


30

-xdevखोजने के लिए तर्क का उपयोग करें

-xdev अन्य filesystems पर निर्देशिका उतरना नहीं है।


1
बहुत बहुत धन्यवाद - केवल संदर्भ के लिए, वाक्यविन्यास होगा: <pre> find / -xdev -name somefile.txt </ pre>
sdaau

1
मैक उपयोगकर्ताओं के लिए: find -x /
name

1
--one-file-systemला के लिए मैनपेज खोजना duमुझे भी अच्छा नहीं लगा। कम से कम वे दोनों -xमुझे लगता है के साथ शुरू करते हैं । और इसका मतलब है "क्रॉस डिवाइस" मुझे लगता है।
श्रीधर सरनोबत

2

POSIX मानक "प्राथमिक" को परिभाषित करता है -xdev:

यह एक अलग डिवाइस आईडी वाले पिछले निर्देशिकाओं के अवरोही नहीं होने का कारण होगा

यह जीएनयू find(यानी ड्यूट्यूटिल्स ; डॉक्स ) में लागू किया गया है ।
GNU findआपको कुछ अन्य संस्करणों के साथ संगतता के लिए-mount " वैकल्पिक नाम के-xdev रूप में उपयोग करने की अनुमति देता है "

-xइसके बजाय बीएसडी सिस्टम और मैकओएस पर विकल्प है । वे (imho भ्रामक) -xdev" पदावनत " होने के लिए कहते हैं । हालाँकि, आप -mountइसके बजाय उपयोग कर सकते हैं । [ FreeBSD और macOS के प्रबंधन ]

अन्य उपकरण, सिर्फ FYI करें

यदि आप ripgrep ( rg) का उपयोग कर रहे हैं rg --files, तो आप --one-file-systemविकल्प का उपयोग कर सकते हैं , जो खोज के -xdevविकल्प को पसंद करता है ।

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