fd, find कमांड का एक सरल विकल्प है। यह आपके टाइप किए गए कमांड को छोटा और मुद्दे पर रखने के लिए एक छोटे सिंटैक्स और संक्षिप्त कमांड संरचना का उपयोग करता है। हालांकि, वह वर्बोसिटी की कमी जो fd को टाइप करना आसान बनाती है, इसे समझना अधिक कठिन बना देती है। fd डिफ़ॉल्ट find कमांड की तुलना में पैटर्न-मैचिंग को अधिक तेजी से चलाता है। लिनक्स और macOS पर fd का उपयोग करना सीखें।
लिनक्स पर fd इंस्टॉल करें
fd कई सिस्टम पर डिफ़ॉल्ट रूप से नहीं आता है। आपको अपने पसंदीदा पैकेज मैनेजर का उपयोग करके एप्लिकेशन को डाउनलोड और इंस्टॉल करना होगा, और फिर आप इसे टर्मिनल के भीतर से चला सकते हैं।
उबंटू
यह उबंटू डिस्को डिंगो 19.04 पर शिप करेगा, लेकिन अन्यथा आपको इसे डाउनलोड और इंस्टॉल करना होगा। उबंटू और अन्य डेबियन-आधारित लिनक्स डिस्ट्रो के लिए, आप प्रोग्राम को डाउनलोड और इंस्टॉल करने के लिए निम्न कमांड चलाना चाहेंगे।
wget https://github.com/sharkdp/fd/releases/download/v7.3.0/fd-musl_7.3.0_amd64.deb sudo dpkg -i fd-musl_7.3.0_amd64.deb
यदि आपको 32-बिट संस्करण या अलग बिल्ड की आवश्यकता है, तो इसे fd के लिए GitHub रिलीज़ पेज से डाउनलोड करें।
डेबियन
डेबियन बस्टर या नए पर, आप fd को आधिकारिक डेबियन-रखरखाव वाले रिपॉजिटरी से इंस्टॉल कर सकते हैं।
sudo apt-get install fd-find
फेडोरा
फेडोरा 28 से, fd को आधिकारिक पैकेज संस्करणों से इंस्टॉल किया जा सकता है।
dnf install fd-find
आर्क लिनक्स
इसी तरह, आर्क उपयोगकर्ता आधिकारिक रिपोज से fd ले सकते हैं:
pacman -S fd
जेंटू लिनक्स
जेंटू उपयोगकर्ता fd ebuild डाउनलोड करने के लिए निम्न कमांड का उपयोग कर सकते हैं:
emerge -av fd
macOS
यदि आप macOS चला रहे हैं, तो Homebrew इंस्टॉल करें, फिर fd इंस्टॉल करने के लिए नीचे दी गई कमांड का उपयोग करें:
brew install fd
लिनक्स पर fd का उपयोग करना
fd कमांड की एक बुनियादी संरचना fd pattern है, जिसकी तुलना find . -iname 'pattern' से की जाती है।
फ़ाइल को उसके नाम से खोजने के लिए, निम्न कमांड का उपयोग करें:
fd filename
यह प्रीसेट वर्किंग डायरेक्टरी के भीतर, सबडायरेक्टरीज़ सहित खोजता है। किसी विशिष्ट निर्देशिका के भीतर खोजने के लिए, इसे अपने खोज शब्द के बाद निर्दिष्ट करें:
fd filename /path/to/search
परिणामों पर कमांड निष्पादित करना
find की तरह, fd में एक कार्यक्षमता है जो खोजी गई फ़ाइलों को निष्पादन के लिए दूसरी कमांड में पास करती है। जहां find find . -iname pattern -exec command का उपयोग करता है, fd -x फ्लैग का उपयोग करता है:
fd -e zip -x unzip
यह कमांड डायरेक्टरी में सभी ज़िप फ़ाइलों को unzip कमांड में भेज देगा। आप "वाक्यांश" के भीतर निम्न प्रतीकों का उपयोग करके जानकारी को विशिष्ट तरीकों से पास कर सकते हैं।
{}: एक प्लेसहोल्डर जिसे खोज परिणाम के पथ (files/images/portrait.jpg) से बदल दिया जाता है।{/}: एक प्लेसहोल्डर जिसे केवल परिणाम के फ़ाइल नाम से बदल दिया जाएगा, जिसे UNIX पारखी बेसनेम (portrait.jpg) के रूप में जानते हैं।{//}: प्लेसहोल्डर जिसे पाए गए आइटम्स की पैरेंट डायरेक्टरीज़ (files/images) से बदल दिया जाता है।{.}: प्लेसहोल्डर जिसे फ़ाइल नाम के पथ से बदल दिया जाता है, बिना एक्सटेंशन के (files/images/portrait)।{/.}: प्लेसहोल्डर जिसे पाए गए आइटम के बेसनेम से बदल दिया जाता है, बिना एक्सटेंशन के (portrait)।
उपरोक्त उद्धृत दो प्लेसहोल्डर प्रतीकों का उपयोग करके निम्न उदाहरण पर विचार करें:
fd -e flac -x ffmpeg -i {} -c:a libopus {.}.opus
अन्य उपयोगी fd फ्लैग्स
-e: फ़ाइलों के एक्सटेंशन को केवल खोजें, बिना अलग डॉट के।-E pattern: निम्न पैटर्न से मेल खाने वाले परिणामों को बाहर करें।--changed-newer-than date|duration: फ़ाइल संशोधन के बाद के समय के आधार पर परिणाम फ़िल्टर करें। यह केवल उन फ़ाइलों को दिखाएगा जिनकी संशोधन तिथि निर्दिष्ट तिथि से बाद की है। समय को एक अवधि के रूप में दिया जा सकता है जो वर्तमान क्षण से पीछे की ओर गिनता है (10h,1d,35min) या एक विशिष्ट समय पर सेट किया जा सकता है ("YYYY-MM-DD HH:MM:SS")।- --changed-older-than date|duration: --change-newer जैसा लेकिन निर्दिष्ट तिथि या अवधि से पहले संपादित फ़ाइलों को दिखाएगा, बाद में नहीं।
-t: केवल निर्दिष्ट प्रकार की फ़ाइलें दिखाएं (-tf फ़ाइलों के लिए, -td निर्देशिकाओं के लिए, -tx निष्पादन योग्य के लिए, -tl सिमलिंक्स के लिए, -te खाली फ़ाइलों के लिए)।-p: केवल फ़ाइल नाम ही नहीं, संपूर्ण पथनाम के भीतर खोजें।-s: केस-सेंसिटिविटी लागू करें। डिफ़ॉल्ट रूप से, fd केस को अनदेखा करता है जब तक कि खोज पैटर्न में एक अपरकेस अक्षर टाइप न किया जाए।-H: परिणामों के भीतर छिपी हुई फ़ाइलों और निर्देशिकाओं को दिखाएं।-L: सिमलिंक्ड निर्देशिकाओं में लिंक का पालन करें।
fd find कमांड के लिए एक अच्छा विकल्प है। यदि आपका अनुभव है कि "find" कमांड उपयोग करना कठिन है, तो fd का उपयोग करके आपको बेहतर भाग्य मिल सकता है। इसे आज़माएं और हमें बताएं कि क्या यह आपके लिए उपयोगी है।