أدوات جنو الأساسية

مجموعة أدوات GNU الأساسية ( coreutils) هي مجموعة من برامج GNU التي تُنفذ العديد من أوامر shell القياسية المبنية على نظام Unix . توفر هذه الأدوات عادةً واجهة متوافقة مع معيار POSIX عند ضبط متغير البيئة POSIXLY_CORRECT ، وإلا فإنها تُقدم مجموعة أوسع من الواجهة القياسية. على سبيل المثال، تدعم هذه الأدوات الخيارات الطويلة والخيارات التي تلي المعاملات. يُتيح متغير البيئة هذا وظائف مختلفة في أنظمة BSD .

تتوفر مجموعات مماثلة في بيئة البرمجيات الحرة والمفتوحة المصدر ، بنطاق وتركيز مختلفين قليلاً (وظائف أقل)، أو بترخيص مختلف. على سبيل المثال، BusyBox مرخصة بموجب رخصة GPL-2.0 فقط ، و Toybox مرخصة بموجب رخصة 0BSD .

الأوامر

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

أدوات إدارة الملفات

  • chcon تغيير سياق أمان الملفات ( SELinux )
  • chgrp تغيير ملكية مجموعة الملفات
  • chown تغيير ملكية المستخدم للملف
  • chmod تغيير أذونات الملفات
  • cp- نسخ الملفات
  • dd- نسخ وتحويل بيانات الملفات
  • df تقارير عن المساحة الحرة في أنظمة الملفات
  • dir مثل ls -C -b؛ يعرض افتراضياً الملفات في أعمدة، مرتبة عمودياً
  • dircolors- يحدد الألوان المستخدمة في lsالإخراج
  • install- ينسخ الملفات ويضبط خصائصها
  • ln ينشئ رابطًا لملف
  • ls قوائم الملفات
  • mkdir إنشاء الدلائل
  • mkfifo إنشاء أنابيب مسماة (FIFOs)
  • mknod ينشئ ملفات خاصة بالكتل أو الأحرف
  • mktemp ينشئ ملفات أو مجلدات مؤقتة عادية
  • mv- ينقل الملفات ويعيد تسميتها
  • realpath يعرض المسار المطلق أو النسبي للملف
  • rm حذف الملفات
  • rmdir حذف المجلدات الفارغة
  • shred- يقوم باستبدال ملف لإخفاء محتوياته، ويمكنه حذفه اختيارياً.
  • sync يقوم بتفريغ مخازن نظام الملفات المؤقتة
  • touch يقوم بتغيير الطوابع الزمنية للملفات، وإنشاء الملفات إذا لم تكن موجودة.
  • truncate يحدد حجم الملف عن طريق الاقتطاع أو التمديد
  • vdir مثل ls -l -b؛ يعرض الملفات افتراضيًا بتنسيق طويل

أدوات معالجة النصوص

  • b2sum يقوم بحساب ومراجعة ملخص رسالة BLAKE2b
  • base32 يقوم بتشفير أو فك تشفير base32
  • base64 يقوم بتشفير أو فك تشفير base64
  • basenc- يقوم بتشفير أو فك تشفير ترميزات متنوعة بما في ذلك الترميز الست عشري ، والترميز الأساسي 32 ، والترميز الأساسي 64 ، والترميز Z85
  • catدمج الملفات
  • cksum- الإبلاغ عن أو حساب مجموع التحقق من الملفات
  • comm يقارن ملفين مرتبين سطرًا بسطر
  • csplit يقسم الملف إلى أقسام تحددها أسطر السياق
  • cut يزيل أقسامًا من كل سطر من الملفات
  • expand يحول علامات الجدولة إلى مسافات
  • fmt- تنسيق النص
  • fold يلتف كل سطر إدخال ليناسب العرض المحدد
  • head يُخرج الجزء الأول من الملفات
  • join يربط أسطر ملفين بناءً على حقل مشترك
  • md5sum يقوم بحساب ومراجعة ملخص رسالة MD5
  • nl عدد أسطر الملفات
  • numfmt تنسيقات الأرقام
  • od يقوم بتفريغ الملفات بالصيغة الثمانية وغيرها من الصيغ
  • paste يدمج أسطر الملفات
  • ptx يُنتج فهرسًا مُبدَّلًا لمحتويات الملف
  • pr تقسيم الملف إلى صفحات أو أعمدة
  • sha1sum، sha224sum، sha256sum، sha384sum، sha512sum يقوم بحساب وفحص ملخصات رسائل SHA-1 / SHA-2
  • shuf يُولّد تباديل عشوائية
  • sort- فرز أسطر ملفات النصوص
  • split يقسم الملف إلى أجزاء
  • sum- يقوم بحساب المجموع الاختباري وعدد الكتل في الملف
  • tac يقوم بدمج الملفات بترتيب عكسي، سطرًا بسطر
  • tail يُخرج الجزء الأخير من الملفات
  • tr يترجم أو يحذف الأحرف
  • tsort يقوم بفرز طوبولوجي
  • unexpand يحول المسافات إلى علامات جدولة
  • uniq يزيل الأسطر المكررة من ملف مُرتب
  • wc يعرض عدد البايتات والكلمات والأسطر في الملفات

خدمات شل

  • arch يعرض اسم جهاز الكمبيوتر (نفس اسم الجهاز uname -m)
  • basename يزيل بادئة المسار من اسم المسار المحدد
  • chroot تغيير الدليل الجذر
  • date- يقوم بالإبلاغ عن تاريخ ووقت النظام أو ضبطهما
  • dirname يزيل اللاحقة غير المتعلقة بالمجلدات من اسم الملف
  • du- يعرض استخدام القرص في أنظمة الملفات
  • echo يُخرج نصًا
  • env- يقوم بالإبلاغ عن متغيرات البيئة وتعديلها
  • expr تقييم التعبيرات
  • factorعوامل الأعداد
  • false لا يفعل شيئًا سوى الخروج بحالة فشل.
  • groups يعرض التقارير المجموعات التي ينتمي إليها المستخدم
  • hostid يعرض المعرّف الرقمي للمضيف الحالي
  • id– يُبلغ عن المعرف الفريد (UID) والمعرف الجماعي (GID) الحقيقيين أو الفعالين
  • link ينشئ رابطًا لملف
  • logname يعرض اسم تسجيل دخول المستخدم
  • nice- تعديل أولوية الجدولة
  • nohup يسمح باستمرار تشغيل الأمر بعد تسجيل الخروج
  • nproc يستعلم عن عدد المعالجات (النشطة)
  • pathchk- يتحقق مما إذا كانت أسماء الملفات صالحة أو قابلة للنقل
  • pinky نسخة خفيفة الوزن من الإصبع
  • printenv- تقارير عن متغيرات البيئة
  • printf- تنسيق النص
  • pwd يعرض دليل العمل الحالي
  • readlink يُبلغ عن قيمة الرابط الرمزي
  • runcon تشغيل الأمر مع سياق أمان محدد
  • seq يُبلغ عن سلسلة من الأرقام
  • sleep عمليات الحظر (التأخيرات، الانتظارات) لفترة زمنية محددة
  • stat يقدم معلومات حول عقدة بيانات (inode)
  • stdbuf يقوم بتشغيل أمر باستخدام تكوين تدفقات قياسية مخصصة
  • stty- يقوم بتغيير إعدادات خط المحطة الطرفية والإبلاغ عنها
  • tee يرسل المخرجات إلى ملفات متعددة
  • test يقيم تعبيرًا
  • timeout ينفذ أمرًا ضمن مهلة زمنية محددة
  • true لا يفعل شيئًا سوى الخروج بنجاح
  • tty يعرض اسم الجهاز الطرفي
  • uname تقارير معلومات النظام
  • unlink يزيل الملفات عبر unlink()وظيفة
  • uptime- يقدم تقارير عن مدة تشغيل النظام
  • users يعرض أسماء المستخدمين المسجلين حاليًا في المضيف الحالي
  • who تقارير عن المستخدمين المسجلين
  • whoami– يعرض معرف المستخدم الفعال
  • yes يُخرج سلسلة نصية بشكل متكرر
  • [ مرادف للاختبار الذي يُمكّن من استخدام تعابير مثل[ expression ]

تاريخ

في عام 1990، أعلن ديفيد ماكنزي عن GNU fileutils . [ 3 ]

في عام 1991، أعلن ماكنزي عن حزمتي GNU shellutils و GNU textutils . [ 4 ] [ 5 ] علاوة على ذلك، أصبح جيم مايرينغ مسؤولاً عن صيانة الحزم (المعروفة الآن باسم coreutils) وظل كذلك منذ ذلك الحين. [ 6 ]

في سبتمبر 2002، تم إنشاء GNU coreutils عن طريق دمج الحزم السابقة textutils و shellutils و fileutils ، بالإضافة إلى بعض الأدوات المساعدة المتنوعة الأخرى. [ 7 ]

في يوليو 2007، تم تحديث ترخيص GNU coreutils من GPL-2.0-or-later إلى GPL-3.0-or-later . [ 8 ]

في أبريل 2026، تخطط شركة كانونيكال لاستبدال حزمة coreutils القياسية المكتوبة بلغة C بحزمة مكتوبة بلغة Rust في إصدارها من أوبونتو 25.10 و26.04 LTS. [ 9 ] يتوفر حاليًا إصدار تجريبي من الحزمة، على الرغم من أن البعض يشكو من مشاكل في الأداء والأمان. [ 10 ]

انظر أيضاً

مراجع

  1. "تم إصدار coreutils-9.11 [ مستقر ] " . 20 أبريل 2026. تم الاطلاع عليه في 21 أبريل 2026 .
  2. "مشروع أدوات جنو الأساسية مفتوحة المصدر على أوبن هب: صفحة اللغات" . openhub.net . مؤرشف من الأصل بتاريخ 28 مارس 2019. تم الاطلاع عليه بتاريخ 28 مارس 2019 .
  3. ماكنزي، ديفيد ج. (8 فبراير 1990). "أدوات ملفات جنو، الإصدار 1.0" . groups.google.com . مؤرشف من الأصل في 28 أبريل 2023. تم الاطلاع عليه في 24 سبتمبر 2025 .
  4. ماكنزي، ديفيد ج. (16 يوليو 1991). "إصدار أدوات برمجة GNU shell" . groups.google.com . مؤرشف من الأصل في 28 أبريل 2023. تم الاطلاع عليه في 28 أبريل 2023 .
  5. ماكنزي، ديفيد ج. (22 أغسطس 1991). "إصدار أدوات جديدة لملفات ونصوص جنو" . groups.google.com . مؤرشف من الأصل في 3 ديسمبر 2024. تم الاطلاع عليه في 24 سبتمبر 2025 .
  6. "شخصيات جنو" . gnu.org . مؤرشف من الأصل بتاريخ 28 أبريل 2023. تم الاطلاع عليه بتاريخ 28 أبريل 2023 .
  7. مايرينغ، جيم (13 يناير 2003). "readme-package-renamed-to-coreutils" . git.savannah.gnu.org . مؤرشف من الأصل في 25 ديسمبر 2019. تم الاطلاع عليه في 15 أغسطس 2018 .
  8. مايرينغ، جيم (23 يوليو 2007). "النسخ: تحديث إلى الإصدار 3" . git.savannah.gnu.org . مؤرشف من الأصل في 25 ديسمبر 2019. تم الاطلاع عليه في 15 أغسطس 2018 .
  9. رينديك، لوبوس (4 نوفمبر 2025). "أوبونتو 26.04: تاريخ الإصدار والميزات الجديدة في ريزولوت راكون" . linuxconfig.org . تم الاطلاع عليه في 10 نوفمبر 2025 .
  10. لارابيل، مايكل (15 سبتمبر 2025). "كشف انتقال أوبونتو 25.10 إلى Rust Coreutils عن أوجه قصور في الأداء" . فورونيكس . مؤرشف من الأصل في 9 نوفمبر 2025. تم الاطلاع عليه في 9 نوفمبر 2025 .
  • الموقع الرسمي
  • "GNU Coreutils" . gnu.org . تم الاطلاع عليه بتاريخ 24 سبتمبر 2025 .- يدوي
  • "اقرأني" . git.savannah.gnu.org . تم الاطلاع عليه بتاريخ 24 سبتمبر 2025 .
  • "مجموعة أدوات الإرث" . heirloom.sourceforge.net . تم الاطلاع عليه بتاريخ 24 سبتمبر 2025 .– مجموعة بديلة من الأدوات المساعدة
  • بوث، ديفيد (24 أبريل 2018). "مقدمة إلى أدوات جنو الأساسية" . opensource.com . تم الاطلاع عليه في 24 سبتمبر 2025 .
  • "حجر رشيد لـ *Nix" . bhami.com . تم الاطلاع عليه بتاريخ 24 سبتمبر 2025 .– قائمة قابلة للتكوين من البرامج المكافئة لأنظمة *nix.
  • روسلر، وولفرام (2007). "قائمة اختصارات يونكس" . roesler-ac.de . مؤرشف من الأصل في 6 أغسطس 2024. تم الاطلاع عليه في 24 سبتمبر 2025 .– يشرح أسماء العديد من أوامر يونكس.
  • "الصفحة الرئيسية لنظام يونكس" . unix.org . تم الاطلاع عليها بتاريخ 24 سبتمبر 2025 .