البدل باش قوية في لينكس

بطاقات البدل القوية - 2.0

بدون هذه الأشياء الصغيرة الرائعة تسمى shell wildcards ، فإن العمل على سطر أوامر Linux أمر مؤلم للغاية. لذلك تأكد من استخدام أحرف البدل في الاستخدام الجيد.

ما هي أحرف البدل قذيفة >

البدل هي ميزة shell التي تجعل سطر الأوامر أقوى بكثير من أي مديري ملفات GUI. كما ترى ، إذا كنت ترغب في تحديد مجموعة كبيرة من الملفات في مدير ملفات رسومي ، فعادة ما يتعين عليك تحديدها بالماوس. قد يبدو هذا بسيطًا ، لكن في بعض الحالات قد يكون محبطًا للغاية. على سبيل المثال ، لنفترض أن لديك دليلًا به قدر كبير من جميع أنواع الملفات والأدلة الفرعية ، وقررت نقل جميع ملفات HTML ، التي تحتوي على كلمة "linux" في مكان ما في منتصف أسمائها ، من هذا الدليل الكبير إلى دليل آخر. ما هي الطريقة البسيطة للقيام بذلك؟ إذا كان الدليل يحتوي على كمية كبيرة من ملفات HTML ذات الأسماء المختلفة ، فإن مهمتك ليست بسيطة!

في Linux CLI ، تكون هذه المهمة بسيطة مثل نقل ملف HTML واحد فقط ، وهي سهلة للغاية بسبب ملف شل البدل. أحرف البدل هي أحرف خاصة تسمح لك بتحديد أسماء الملفات التي تتطابق مع أنماط معينة من الأحرف. يساعدك هذا في تحديد مجموعة كبيرة من الملفات بكتابة بضعة أحرف فقط ، وفي معظم الحالات يكون ذلك أسهل من تحديد الملفات باستخدام الماوس.

فيما يلي قائمة بأحرف البدل الأكثر استخدامًا في bash:

البدل مباريات
* صفر أو أكثر من الشخصيات
? شخصية واحدة بالضبط
[ABCDE] حرف واحد بالضبط المدرجة
[عبد اللطيف] حرف واحد بالضبط في النطاق المحدد
[! ABCDE] أي شخصية غير مدرجة
[! عبد اللطيف] أي شخصية ليست في نطاق معين
{ديبيان، لينكس} بالضبط كلمة واحدة كاملة في الخيارات المقدمة

يمكنك استخدام أحرف البدل مع أي أمر يقبل أسماء الملفات كوسائط.

 

أمثلة البدل >

دعونا نحصل على بعض الأمثلة. ربما تكون الشخصية * مألوفة لك بالفعل ، لأنها تستخدم على نطاق واسع في العديد من الأماكن الأخرى أيضًا ، وليس فقط في Linux. على سبيل المثال ، يؤدي ما يلي إلى إزالة كل ملف من الدليل الحالي:
rm *

يقوم الأمر التالي بنقل جميع ملفات HTML ، التي تحتوي على كلمة "linux" في أسمائها ، من دليل العمل إلى دليل يسمى dir1:
mv *linux*.html dir1

انظر ، قلت لك إن نقل ملفات متعددة يمكن أن يكون بسيطًا مثل نقل ملف واحد فقط!

يعرض التالي جميع الملفات التي تبدأ بـ d وتنتهي مع .txt:
less d*.txt

يزيل الأمر التالي جميع الملفات التي تبدأ أسماؤها بـ junk.، يليه ثلاثة أحرف بالضبط:
rm junk.???

باستخدام هذا الأمر ، يمكنك سرد جميع الملفات أو الأدلة التي تبدأ أسماؤها بـ hda، يليه رقم واحد بالضبط:
ls hda[0-9]

هذا يسرد جميع الملفات أو الدلائل التي تبدأ بـ hda، متبوعًا برقمين:
ls hda[0-9][0-9]

فيما يلي يسرد جميع الملفات أو الدلائل التي يبدأ اسمها بأي منهما hd or sd، تليها أي شخصية واحدة بين a و  c:
ls {hd,sd}[a-c]

يقوم هذا الأمر بنسخ جميع الملفات ، التي تبدأ بحرف كبير ، إلى الدليل dir2:
cp [A-Z]* dir2

هذا يحذف جميع الملفات التي لا تنتهي بـ ceh or g:
rm *[!cehg]

يمكن أن أستمر في هذه الأمثلة ، لكنك حصلت على هذه الفكرة. يمكنك استخدام أنماط بسيطة أو الجمع بين أحرف البدل المختلفة وإنشاء أنماط معقدة للغاية ، وكما قلت من قبل ، يمكنك استخدامها مع أي أوامر تقبل أسماء الملفات كوسائط.