الأخبار التكنولوجية والاستعراضات والنصائح!

كيفية استخدام الأمر chgrp على نظام Linux

يغير الأمر chgrp في Linux ملكية المجموعة لملف أو دليل. لماذا تستخدم بدلا من chown؟ أحيانًا يكون سكين الجيش السويسري جيدًا ، ولكن عندما تحتاج حقًا إلى مشرط ، يكفي استخدام مشرط.

متى تستخدم chgrp

يمكنك استخدام الأمر chgrp لتغيير ملكية المجموعة لملف أو دليل. يسمح لك الأمر chown بتغيير مالك المستخدم ومالك المجموعة لملف أو دليل. فلماذا تحتاج أو تستخدم chgrp؟

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

صيغة chgrp هي ببساطة أبسط. كما أن لديها ميزة أنيقة تخبرك بعبارات بسيطة ما هي التغييرات التي أجراها للتو.

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

تغيير ملكية المجموعة لملف

من السهل جدًا تغيير ملكية المجموعة لملف. يجب عليك استخدام sudo مع chgrp. المجموعات ليست مملوكة للمستخدمين ، لذا فإن نقل ملف أو دليل من مجموعة إلى أخرى ليس قرارًا يقع على عاتق المستخدم العادي. هذه وظيفة لشخص يتمتع بامتيازات الجذر.

سنقوم بتغيير ملكية المجموعة لملف المصدر C المسمى “gc.c.” سنقوم بتغييره إلى مجموعة “devteam”.

يمكننا التحقق من قيم المالك الحالي باستخدام ls مع الخيار -l (القائمة الطويلة).

ls -l

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

sudo chgrp devteam gc.c.

نتحقق من إجراء التغيير باستخدام ls -l مرة أخرى.

ls -l

يمكننا أن نرى أن ملكية المجموعة قد تغيرت من “ديف” إلى “فريق التطوير”.

لتغيير ملكية المجموعة لمجموعة من الملفات مرة واحدة ، يمكنك استخدام أحرف البدل. دعنا نغير ملكية المجموعة لجميع ملفات المصدر C في الدليل الحالي. سنستخدم هذا الأمر:

sudo chgrp devteam * .c

يمكننا التحقق من إجراء التغيير كما توقعنا باستخدام ls -l.

ls -l

كيفية استخدام الأمر chgrp على نظام Linux 1

تم تغيير جميع ملفات مصدر C في هذا الدليل بحيث تكون ملكية مجموعتهم هي “devteam”.

سيؤدي استخدام الخيار -c (التغييرات) إلى جعل chgrp يسرد التغييرات التي أجراها على كل ملف. لنفترض أننا ارتكبنا خطأ ، أردنا تعيين ملكية المجموعة لملفات المصدر C على “Researchlab”. دعنا نصلح ذلك الآن. نستخدم هذا الأمر:

sudo chgrp -c Researchlab * .c

كيفية استخدام الأمر chgrp على نظام Linux 2

يتم إجراء التغييرات من أجلنا ، ويتم سرد كل منها فور حدوثها ، مما يسمح لنا بالتحقق من صحة ما قمنا بتغييره.

تغيير ملكية المجموعة لدليل

تغيير ملكية المجموعة لدليل هو بنفس السهولة. يمكننا استخدام هذا الأمر لتغيير ملكية المجموعة لمجلد “backup”.

sudo chgrp -c devteam ./backup

للتوضيح ، سيغير هذا الأمر ملكية المجموعة للدليل نفسه ، وليس الملفات الموجودة في الدليل. سنستخدم ls -l مع الخيار -d (الدليل) للتحقق من أن هذه هي الحالة.

ls -l -d

كيفية استخدام الأمر chgrp على نظام Linux 3

تم تغيير ملكية المجموعة للدليل نفسه إلى “devteam”.

الخيار العودي

إذا أردنا تغيير ملكية المجموعة للملفات والأدلة المخزنة في دليل ، فيمكننا استخدام الخيار -R (متكرر). سيؤدي هذا إلى تغيير chgrp ملكية المجموعة لجميع الملفات والأدلة الفرعية ضمن الدليل الهدف.

لنجرب هذا مع دليل “النسخ الاحتياطي”. هذا هو الأمر:

sudo chgrp -R devteam ./backup

سنفحص الملفات في أحد المجلدات الفرعية المتداخلة باستخدام الأمر ls ، وسنتحقق أيضًا من إعدادات أحد الأدلة الفرعية المتداخلة باستخدام الأمر ls.

ls -l ./backup/images ls -l -d ./backup/images

كيفية استخدام الأمر chgrp على نظام Linux 4

يمكننا أن نرى أن ملكية المجموعة قد تغيرت لكل من الملفات الموجودة في الدلائل الفرعية المتداخلة والأدلة الفرعية المتداخلة.

باستخدام ملف مرجعي

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

فلنقم بتعيين ملكية المجموعة لـ “gc.h” لتكون مماثلة لـ “gc.c.”

يمكننا التحقق من الإعدادات الحالية لـ “gc.c” و “gc.h” باستخدام ls.

ls -l gc.c ls -l gc.h

الخيار الذي نحتاج إلى استخدامه هو خيار المرجع. يتم نسخ ملكية المجموعة من الملف المرجعي إلى الملف الآخر. تأكد من الحصول على الملفات في الاتجاه الصحيح.

sudo chgrp – مرجع = gc.c gc.h

نستخدم ls للتحقق من نقل الإعدادات إلى “gc.h.”

ls -l GC.h

كيفية استخدام الأمر chgrp على نظام Linux 5

الملف “gc.h” الآن يمتلك نفس ملكية المجموعة مثل “gc.c.”

استخدام chgrp مع روابط رمزية

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

في هذا المثال ، قمنا بإنشاء ارتباط رمزي يسمى “button_link”. يشير هذا إلى ملف يسمى “./backup/images/button_about.png.” لتغيير ملكية المجموعة للملف ، نحتاج إلى استخدام الخيار –dereference. سيؤدي هذا إلى تغيير إعدادات الملف وترك الارتباط الرمزي دون تغيير.

دعنا نتحقق من إعدادات الارتباط الرمزي باستخدام ls -l.

ls -l button_link

أمر تعديل الملف هو:

sudo chgrp – مرجع devteam button_link

نتحقق من أن الرابط الرمزي لم يتغير مع ls ، ونتحقق أيضًا من إعدادات ملكية المجموعة للملف.

ls -l button_link ls -l ./backup/images/button_about.png

كيفية استخدام الأمر chgrp على نظام Linux 6

الارتباط الرمزي لم يتغير وتغيرت ملكية المجموعة لملف “button_about.png”.

لتغيير ملكية المجموعة للرابط الرمزي نفسه ، نحتاج إلى استخدام خيار – no-dereference.

الأمر الذي يجب استخدامه هو:

sudo chgrp – رابط devteam بدون إشارة مرجعية

نستخدم ls -l للتحقق من تعيين ملكية المجموعة الجديدة للرابط الرمزي.

ls -l زر الارتباط

كيفية استخدام الأمر chgrp على نظام Linux 7

هذه المرة كان الكائن المتأثر هو الارتباط الرمزي نفسه ، وليس الملف الذي يشير إليه.

جميل وبسيط

البساطة جيدة. هذا يعني أنه لا يوجد ما يجب تذكره وأقل يجب الخلط معه. هذا يعني أخطاء أقل.