fd هو بديل أبسط للأمر find . يستخدم بناء جملة مبتوراً وبنية أمر مختصرة لإبقاء أوامرك المكتوبة قصيرة وإلى هذه النقطة. ومع ذلك ، فإن قلة الفعل التي تجعل من السهل الكتابة تجعل من الصعب فهمها. يعمل fd أيضًا على مطابقة النمط بسرعة أكبر من أوامر البحث الافتراضية. تعلم كيفية استخدام fd على Linux و macOS.
تثبيت fd على لينكس
لا تشحن fd على العديد من الأنظمة بشكل افتراضي. ستحتاج إلى استخدام مدير الحزمة المفضل لديك لتنزيل التطبيق وتثبيته ، وبعد ذلك يمكنك تشغيله من داخل Terminal.
أوبونتو
سيتم الشحن على Ubuntu Disco Dingo 19.04 ، ولكن ستحتاج إلى تنزيله وتثبيته. بالنسبة إلى Ubuntu وغيرها من توزيعات Linux المستندة إلى دبيان ، ستحتاج إلى تشغيل الأوامر التالية لتنزيل البرنامج وتثبيته.
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.de
إذا كنت بحاجة إلى الإصدار 32 بت أو إصدار مختلف ، فقم بتنزيله من صفحة إصدارات GitHub لـ fd .
ديبيان
في دبيان باستر أو الأحدث ، يمكنك تثبيت fd من مستودع دبيان الرسمي.
sudo -apt-get install fd-find
فيدورا
من Fedora 28 ، يمكن تثبيت fd من إصدارات الحزمة الرسمية.
dnf install fd-find
قوس لينكس
وبالمثل ، يمكن لمستخدمي Arch الاستيلاء على fd من الموقع الرسمي:
pacman -S fd
جنتو لينكس
يمكن لمستخدمي Gentoo استخدام الأمر التالي لتنزيل fd ebuild:
emerge -av fd
ماك
إذا كنت تقوم بتشغيل 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
سيرسل هذا الأمر جميع ملفات zip في الدليل إلى الأمر unzip. يمكنك استخدام الرموز التالية داخل "عبارة" من أمر التنفيذ لتمرير المعلومات بطرق محددة.
{}
: يتم استبدال عنصر نائب بمسار نتيجة البحث (files/images/portrait.jpg
).{/}
: عنصر نائب سيتم استبداله باسم ملف النتيجة فقط ، والمعروف باسم هواة UNIX باسم basename (portrait.jpg
).{//}
: تم استبدال العنصر النائب بالأدلة الأصل للعناصر التي تم العثور عليها (files/images
).{.}
: تم استبدال العنصر النائب بالمسار إلى اسم الملف ، بدون امتداد (files/images/portrait
).{/.}
: تم استبدال العنصر النائب باسم اسم العنصر الموجود ، دون امتداد (portrait
).
خذ بعين الاعتبار المثال التالي ، باستخدام اثنين من رموز العنصر النائب المذكورة أعلاه:
fd -e flac -x ffmpeg -i { } -c: libopus { . } .opus
أعلام أخرى مفيدة fd
-e
: البحث في امتداد الملفات فقط ، مع عدم وجود نقطة فصل.-E pattern
: استبعاد النتائج المطابقة للنمط التالي.--changed-newer-than date|duration
: تصفية النتائج استنادا إلى الوقت منذ تعديل الملف. سيُظهر هذا فقط الملفات ذات تواريخ التعديل التي تلي التاريخ المحدد. يمكن إعطاء الوقت مدة تحسب للخلف من اللحظة الحالية (10h
،1d
،35min
) أو يمكن ضبطها على وقت محدد ("YYYY-MM-DD HH:MM:SS"
).- - تغيير - أقدم من التاريخ | المدة : مثل - تغيير - الأحدث ولكن سيتم عرض الملفات التي تم تحريرها قبل التاريخ أو المدة المحددة ، وليس بعد ذلك.
-t
: فقط إظهار الملفات من النوع المحدد (-tf للملفات ، -td للأدلة ، -tx عن الملفات التنفيذية ، -tl للارتباطات -te للملفات الفارغة).-p
: ابحث داخل اسم المسار بالكامل ، وليس فقط اسم الملف.-s
: قوة حساسية القضية. بشكل افتراضي ، يتجاهل fd الحالة ما لم يتم كتابة حرف كبير في نمط البحث.-H
: إظهار الملفات المخفية والدلائل ضمن النتائج.-L
: اتبع الروابط في الدلائل المترابطة.
fd بديل جيد لأمر find. إذا كانت تجربتك هي أن أمر "find" صعب الاستخدام ، فقد يكون من الأفضل حظك باستخدام fd. جربه وأخبرنا إذا كان مفيدًا لك.