Skip to main content

كيفية إنشاء الدلائل في لينكس مع القيادة 'mkdir'

Environment Variables : Linux Tutorial #11 (أبريل 2024)

Environment Variables : Linux Tutorial #11 (أبريل 2024)
Anonim

سيوضح لك هذا الدليل كيفية إنشاء مجلدات أو أدلة جديدة في Linux باستخدام سطر الأوامر.

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

كيفية إنشاء دليل جديد

إن أبسط طريقة لإنشاء دليل جديد هي كما يلي:

مكدير

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

اختبار mkdir

تغيير أذونات الدليل الجديد

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

في القسم الأخير ، عرضت لك كيفية إنشاء دليل يسمى الاختبار. سيؤدي تشغيل الأمر ls إلى إظهار أذونات هذا الدليل:

ليرة سورية

فرص لديك شيء على طول هذه الخطوط:

drwxr-xr-x 2 مجموعة المالك 4096 مارس 9 19:34 اختبار

الأجزاء التي نحن مهتمون بهامالك drwxr-xr-xو مجموعة

يخبرنا d أن الاختبار هو دليل.

الأحرف الثلاثة الأولى بعد الحرف d هي أذونات المالك للدليل المحدد بواسطة اسم المالك:

  • ص يقف للقراءة
  • W لتقف على الكتابة
  • x تعني التنفيذ (وهو ما يعني أنه يمكنك الوصول إلى المجلد)

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

الأحرف الثلاثة الأخيرة هي الأذونات التي يمتلكها جميع المستخدمين وكما تراه في المثال أعلاه ، هي نفس أذونات المجموعة.

لتغيير أذونات الملف أو المجلد ، يمكنك استخدامشمودأمر. يتيح لك الأمر chmod تحديد 3 أرقام تقوم بتعيين الأذونات:

  • قراءة الأذونات = 4
  • أذونات الكتابة = 2
  • تنفيذ الأذونات = 1

للحصول على مزيج من الأذونات ، يمكنك إضافة الأرقام معًا. على سبيل المثال للحصول على قراءة وتنفيذ أذونات الرقم الذي تحتاجه هو 5 ، للحصول على أذونات القراءة والكتابة الرقم هو 6 وللحصول على الكتابة وتنفيذ أذونات الرقم هو 3.

تذكر أنك تحتاج إلى تحديد 3 أرقام كجزء من الأمر chmod. الرقم الأول هو لأذونات المالك ، أما الرقم الثاني فهو لأذونات المجموعة والرقم الأخير مخصص لكل شخص آخر.

على سبيل المثال للحصول على أذونات كاملة على المالك ، اقرأ الأذونات وتنفيذها على المجموعة ولا أذونات لأي شخص اكتب ما يلي:

اختبار chmod 750

إذا كنت ترغب في تغيير اسم المجموعة الذي يمتلك مجلدًا ، استخدم الأمر chgrp.

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

بادئ ذي بدء ، قم بإنشاء حسابات المجموعة بكتابة ما يلي:

حسابات groupadd

إذا لم يكن لديك الإذن الصحيح لإنشاء مجموعة ، فقد تحتاج إلى استخدام sudo للحصول على امتيازات إضافية أو التبديل إلى حساب ذي أذونات صالحة باستخدام الأمر su.

يمكنك الآن تغيير المجموعة لمجلد عن طريق كتابة ما يلي:

حسابات chgrp

فمثلا:

اختبار حسابات chgrp

لإعطاء أي شخص في مجموعة الحسابات القراءة والكتابة وتنفيذ الوصول بالإضافة إلى المالك ولكن للقراءة فقط لكل شخص آخر يمكنك استخدام الأمر التالي:

اختبار chmod 770

لإضافة مستخدم إلى مجموعة الحسابات ، قد ترغب في استخدام الأمر التالي:

حسابات usermod -a -G

يقوم الأمر السابق بإلحاق مجموعة الحسابات بقائمة المجموعات الثانوية التي يستطيع المستخدم الوصول إليها.

كيفية إنشاء دليل وتعيين أذونات في الوقت نفسه

يمكنك إنشاء دليل وتعيين الأذونات لهذا الدليل في نفس الوقت باستخدام الأمر التالي:

mkdir -m777

سيعمل الأمر أعلاه على إنشاء مجلد يمكن للجميع الوصول إليه. من النادر جدًا أنك تريد إنشاء أي شيء باستخدام هذا النوع من الأذونات.

إنشاء مجلد وأي الآباء والأمهات التي مطلوبة

تخيل أنك تريد إنشاء بنية دليل ولكنك لا ترغب في إنشاء كل مجلد فردي مع الطريقة والعمل في طريقك إلى أسفل شجرة.

على سبيل المثال ، قد تقوم بإنشاء مجلدات لموسيقاك كما يلي:

  • / الوطن / الموسيقى / صخرة / أليس كوبر
  • / الوطن / الموسيقى / صخرة / ملكة
  • / الوطن / الموسيقى / راب / drdre
  • / الوطن / الموسيقى / موسيقى الجاز / louisjordan

سيكون من المزعج أن يكون لديك لإنشاء مجلد الروك ، ثم مجلد أليس كوبر وملكة ، ثم إنشاء مجلد الراب والمجلد dr dre ثم مجلد jazz ثم مجلد louisjordan.

عن طريق تحديد رمز التبديل التالي يمكنك إنشاء كافة المجلدات الأصل على الطاير إذا لم تكن موجودة بالفعل.

mkdir -p

على سبيل المثال ، لإنشاء أحد المجلدات المذكورة أعلاه ، حاول استخدام الأمر التالي:

mkdir -p ~ / music / rock / alicecooper

الحصول على تأكيد أنه تم إنشاء دليل

بشكل افتراضي ، لا يخبرك الأمر mkdir إذا تم إنشاء الدليل الذي تقوم بإنشائه بنجاح. إذا لم تظهر أية أخطاء ، فيمكنك افتراض أنها تملك.

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

mkdir -v

سيكون الإخراج على طول خطوطmkdir: تم إنشاء الدليل / المسار / إلى / اسم الدليل.

باستخدام "mkdir" في برنامج نصي شل

في بعض الأحيان ستحتاج إلى استخدام الأمر "mkdir" كجزء من برنامج نصي shell. على سبيل المثال ، لنلق نظرة على نص برمجي يقبل مسارًا. عند تنفيذ البرنامج النصي ، سيقوم بإنشاء المجلد وإضافة ملف نصي واحد يسمى "hello".

#! / bin / bash mkdir $ @ cd $ @ touch hello

يجب تضمين السطر الأول في كل برنامج نصي تكتبه ويستخدم لإظهار أن هذا البرنامج النصي BASH هو بالفعل.

يتم استخدام الأمر "mkdir" لإنشاء مجلد. يتم استبدال "$ @" (المعروف أيضًا باسم معلمات الإدخال) في نهاية السطر الثاني والثالث بالقيمة التي تحددها عند تشغيل البرنامج النصي.

يتغير أمر "cd" إلى الدليل الذي تحدده ، وأخيرا يقوم الأمر touch بإنشاء ملف فارغ يسمى "hello".

يمكنك تجربة البرنامج النصي بنفسك. للقيام بذلك اتبع هذه التعليمات:

  1. افتح نافذة طرفية (اضغط على Alt و T يجب أن تقوم بذلك)
  2. أدخل نانو createhellodirectory.sh
  3. اكتب في الأوامر أعلاه في المحرر
  4. احفظ الملف بالضغط على CTRL و O في نفس الوقت
  5. قم بإنهاء الملف بالضغط على CTRL و X في نفس الوقت
  6. تغيير الأذونات عن طريق الكتابة chmod + x createhellodirectory.sh
  7. قم بتشغيل البرنامج النصي بكتابة اختبار ./createhellodirectory.sh

عند تشغيل البرنامج النصي سيتم إنشاء دليل يسمى "اختبار" وإذا قمت بالتغيير إلى هذا الدليل (اختبار cd) وتشغيل قائمة الدليل (ليرة سورية)، سترى ملف واحد يسمى "مرحبا".

حتى الآن جيد جدا ولكن الآن حاول تشغيل الخطوة 7 مرة أخرى.

  1. سيظهر خطأ يفيد أن المجلد موجود بالفعل.

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

#! / bin / bash mkdir -p $ @ cd $ @ touch hello

إذا قمت بتحديد -p كجزء من الأمر mkdir ، فلن يحدث خطأ إذا كان المجلد موجودًا بالفعل ، ولكن إذا لم يكن موجودًا ، فسيتم إنشاؤه.

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

تخيل بيان اللمس تم استبداله ببيان صدى يكتب النص إلى الملف كما يلي:

#! / bin / bash mkdir -p $ @ cd $ @ echo "hello" >> hello

إذا قمت بتشغيل الأمر "./createhellodirectory.sh اختبار" مرارا وتكرارا سيكون التأثير أن ملف يسمى "مرحبا" في دليل الاختبار سوف تنمو أكبر وأكبر مع خطوط أكثر وأكثر مع كلمة "مرحبا" في ذلك.

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

#! / bin / bash mkdir $ @ 2> / dev / null؛ إذا $؟ -eq 0؛ ثم cd $ @ echo "hello" >> hello exit fi

البرنامج النصي أعلاه هو الطريقة المفضلة للتعامل مع إنشاء المجلدات. ينشئ الأمر mkdir المجلد الذي تم تمريره كمعلمة إدخال ولكن يتم إرسال أي خطأ الإخراج إلى / dev / null (والذي يعني أساسا في أي مكان).

يتحقق السطر الثالث حالة إخراج الأمر السابق وهو عبارة "mkdir" وإذا نجح فإنه سيتم تنفيذ عبارات حتى يتم الوصول إلى عبارة "fi".

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

#! / bin / bash mkdir $ @ 2> / dev / null؛ إذا $؟ -eq 0؛ thencd $ @ echo "hello" >> helloexitelsecd $ @ echo "hello"> helloexitfi

في النص البرمجي أعلاه ، إذا كانت العبارة mkdir تعمل ، فإن عبارة echo ترسل كلمة "hello" إلى نهاية الملف المسمى "hello" ، أما إذا لم تكن موجودة ، فسيتم إنشاء ملف جديد يسمى "hello" بالكلمة " مرحبا "في ذلك.

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