نظرة عامة
يُعد التحقق من ملفات التكوين المخفية وأذونات الملفات في بيئة لينكس الخطوة الأولى في إدارة النظام والتطوير. في هذا المقال، سنستعرض كيفية استخدام الأمر ls -al للتحقق من الملفات المخفية بسرعة ودقة، بالإضافة إلى تقديم الخيارات الأساسية للاستخدام العملي. تعلم أذونات الملفات وتلميحات الفرز بشكل كامل من خلال التطبيق العملي في الطرفية.
1. مفهوم نظام ملفات لينكس والملفات المخفية (.) والخيار -a
يقوم الأمر mkdir -p ~/ls_practice && cd ~/ls_practice بإنشاء الدليل المطلوب للتطبيق العملي والانتقال إلى هذا الموقع.
بعد إنشاء الدليل باستخدام mkdir، يتم تشغيل الأمر cd بالتتابع باستخدام المعامل && للانتقال.
كنتيجة للتنفيذ، يتم إنشاء الدليل بنجاح في المسار المحدد ويتغير دليل العمل الحالي.
⚙️ [الخيارات الرئيسية]
-p : ينشئ الأدلة الأصلية (Parent directories) إذا لزم الأمر، ولا يعرض خطأً إذا كان الدليل موجوداً بالفعل.-m : يحدد أذونات الوصول مباشرة عند إنشاء الدليل.-v : يعرض معلومات تفصيلية عن عملية إنشاء الدليل على الشاشة.

يقوم الأمر touch sample_file.txt بإنشاء ملف نصي عادي جديد للتطبيق العملي.
يُستخدم الأمر touch في الأصل لتعديل الطابع الزمني للملف، ولكنه ينشئ ملفاً فارغاً بحجم 0 بايت إذا لم يكن الملف موجوداً.
كنتيجة للتنفيذ، يتم إنشاء ملف sample_file.txt فارغ بدون أي محتوى في الدليل الحالي.
⚙️ [الخيارات الرئيسية]
-a : يغير وقت الوصول (access) للملف فقط.-m : يغير وقت التعديل (modification) للملف فقط.-c : لا ينشئ ملفاً جديداً إذا لم يكن الملف المحدد موجوداً.-r : يغير إعدادات الطابع الزمني لتكون مماثلة لملف مرجعي آخر محدد.

يقوم الأمر touch .hidden_config بإنشاء ملف مخفي بإضافة نقطة (.) في بداية اسم الملف.
في نظام ملفات لينكس، يُعتبر الملف أو الدليل الذي يبدأ اسمه بنقطة (.) عنصراً مخفياً لإعدادات النظام.
كنتيجة للتنفيذ، يتم إنشاء ملف التكوين المخفي .hidden_config الذي لا يظهر بسهولة بالطرق العادية.
⚙️ [الخيارات الرئيسية]
-a : يغير وقت الوصول (access) للملف فقط.-m : يغير وقت التعديل (modification) للملف فقط.-c : لا ينشئ ملفاً جديداً إذا لم يكن الملف المحدد موجوداً.-t : يضبط الطابع الزمني في تنسيق وقت محدد بدلاً من الوقت الحالي.

يعرض الأمر ls قائمة الملفات والأدلة الموجودة في دليل العمل الحالي.
عند تشغيله بدون خيارات، يتم عرض الملفات والأدلة العادية فقط على الشاشة وفقاً للإعدادات الافتراضية.
كنتيجة للتنفيذ، لا يظهر الملف .hidden_config الذي تم إنشاؤه سابقاً، بل يتم عرض الملف العادي sample_file.txt فقط.
⚙️ [الخيارات الرئيسية]
-a : يعرض جميع الملفات والأدلة بما في ذلك العناصر المخفية التي تبدأ بنقطة (.).-l : يعرض معلومات تفصيلية مثل أذونات الملف، والمالك، والمجموعة، وحجم الملف، ووقت التعديل.-h : يحول حجم الملف إلى صيغة سهلة القراءة للبشر (K ،M ،G).-t : يرتب الملفات حسب وقت التعديل بدلاً من الترتيب الأبجدي.-r : يعكس نتيجة الترتيب.-R : يعرض جميع المحتويات الداخلية للأدلة الفرعية بشكل متكرر (recursive).

يعرض الأمر ls -a جميع العناصر داخل الدليل بما في ذلك الملفات والأدلة المخفية.
تتيح إضافة الخيار -a إلى الأمر الأساسي ls رؤية الملفات المخفية التي تبدأ بنقطة (.) بلمحة واحدة.
كنتيجة للتنفيذ، يتم عرض ليس فقط الملفات العادية، بل أيضاً الملف .hidden_config والدليل الحالي (.) والدليل الأعلى (..) في القائمة.
⚙️ [الخيارات الرئيسية]
-a : يعرض جميع العناصر بما في ذلك الملفات والأدلة المخفية التي تبدأ بنقطة (.).-A : يعرض الملفات والأدلة المخفية التي تبدأ بنقطة (.) ولكنه يستثني الدليل الحالي (.) والدليل الأعلى (..).-l : يعرض الخصائص التفصيلية للملف مثل الأذونات والمالك والحجم على شكل قائمة.-F : يضيف رمز / بعد الأدلة ورمز * بعد الملفات القابلة للتنفيذ للتمييز بين أنواع الملفات.-i : يعرض رقم الآينود (inode) الفريد لكل ملف ودليل.

2. التحقق من المعلومات التفصيلية والأذونات باستخدام ls -l و ls -al
يقوم الأمر echo 'Ubuntu Security' > sample_file.txt بحفظ السلسلة النصية المحددة في الملف.
يطبع الأمر echo النص المدخل، بينما يقوم معامل إعادة التوجيه > بالكتابة فوق محتوى الملف المحدد وحفظه.
عند تنفيذ هذا الأمر، يتم إنشاء ملف sample_file.txt جديد يحتوي على النص Ubuntu Security.
بعد التنفيذ، لا يتم عرض أي رسالة منفصلة في الطرفية ويتم إكمال كتابة الملف بنجاح.
⚙️ [الخيارات الرئيسية]
-n : لا يطبع حرف السطر الجديد في النهاية بعد طباعة السلسلة النصية.-e : يفعل تفسير رموز الهروب بالشرطة المائلة الخلفية (backslash escape).-E : يلغي تفعيل تفسير رموز الهروب بالشرطة المائلة الخلفية.

يقوم الأمر echo 'Secret Key' > .hidden_config بتسجيل معلومات الإعدادات في ملف مخفي.
يحفظ النص Secret Key في الملف .hidden_config الذي يسبق اسمه نقطة (.).
في نظام لينكس، تُعامل الملفات التي تبدأ بنقطة (.) كملفات مخفية وتُستثنى من عرض القائمة العادية.
كنتيجة لتنفيذ الأمر، لا يظهر أي نص على الشاشة ويتم إنشاء الملف المخفي بنجاح.
⚙️ [الخيارات الرئيسية]
-n : يزيل حرف السطر الجديد في نهاية مخرجات النص.-e : يضبط الإعداد لتفسير رموز الهروب.-E : يوقف تشغيل ميزة تفسير رموز الهروب.

يعرض الأمر ls -l قائمة الملفات والأدلة العادية في الدليل الحالي مع المعلومات التفصيلية.
يطبع الخيار -l العناصر التفصيلية مثل أذونات الملف، والمالك، والمجموعة المالكة، وحجم الملف، وآخر وقت تعديل بتنسيق طويل.
نظراً لأن هذه حالة عرض القائمة العادية، لا تظهر الملفات المخفية التي تبدأ بنقطة (.) على الشاشة.
يمثل total 64 في السطر الأول من المخرجات حجم كتل الدليل التي تشغلها العناصر العادية المعروضة في القائمة.
⚙️ [الخيارات الرئيسية]
-l : يعرض معلومات تفصيلية مثل أذونات الملف والمالك وحجم الملف ووقت التعديل.-h : يعرض حجم الملف بوحدات سهلة القراءة (KB ،MB ،GB).-t : يرتب الملفات حسب وقت التعديل الأخير.-r : يعكس ترتيب الترتيب.-S : يرتب الملفات حسب الحجم من الأكبر إلى الأصغر.

يعرض الأمر ls -al قائمة المعلومات التفصيلية بما في ذلك جميع الملفات والأدلة المخفية.
يجتمع الخياران -a و -l لإظهار الملفات المخفية التي تبدأ بنقطة (.) مع أذوناتها ومعلومات حجمها.
كنتيجة للتنفيذ، تظهر في الجزء الأمامي عناصر مثل .hidden_config الذي تم إنشاؤه للتو والملفات المخفية الافتراضية مثل .dockerenv و . و ...
يعني total 76 في السطر الأول من المخرجات أن الحجم الإجمالي للكتل قد زاد مقارنة بمخرجات ls -l بسبب إضافة الملفات المخفية.
⚙️ [الخيارات الرئيسية]
-a : يعرض جميع العناصر بما في ذلك الملفات والأدلة المخفية التي تبدأ بنقطة (.).-l : يعرض معلومات تفصيلية مثل أذونات الملف والمالك والحجم ووقت التعديل على شكل قائمة.-A : يعرض الملفات المخفية وجميع العناصر باستثناء الدليل الحالي (.) والدليل الأعلى (..).-i : يعرض رقم الآينود (inode) الفريد لكل ملف مع القائمة.-R : يعرض جميع محتويات الأدلة الفرعية بشكل متكرر.

3. دمج الخيار -h لعرض الوحدات بصيغة سهلة القراءة للبشر (ls -alh)
يقوم الأمر truncate -s 5M large_file.bin بإنشاء ملف فارغ جديد بحجم محدد أو ضبط حجم ملف موجود.
عند تنفيذ هذا الأمر، يتم إنشاء ملف اختباري عادي large_file.bin بحجم 5 ميجابايت.
⚙️ [الخيارات الرئيسية]
-s : يحدد حجم الملف بالبايت أو بوحدات مثل K ،M ،G.-c : لا ينشئ ملفاً جديداً حتى إذا لم يكن الملف المحدد موجوداً.-r : يضبط الحجم ليكون مماثلاً لحجم ملف مرجعي آخر موجود.

يقوم الأمر truncate -s 10M .large_hidden_file.bin بإنشاء ملف مخفي بحجم 10 ميجابايت يبدأ اسمه بنقطة (.).
في نظام ملفات لينكس، تؤدي إضافة نقطة (.) إلى بداية اسم الملف إلى تعيين هذا العنصر كملف مخفي.
⚙️ [الخيارات الرئيسية]
-s : يحدد حجم الملف بالبايت أو بوحدات مثل K ،M ،G.-c : يمنع إنشاء ملف جديد تلقائياً عندما لا يكون الملف موجوداً.-r : يجلب سعة ملف مرجعي آخر ويطبقها كقيمة مرجعية.

يعرض الأمر ls -l معلومات الخصائص التفصيلية للملفات والأدلة العادية داخل الدليل على شكل قائمة.
كنتيجة للتنفيذ، يتم عرض large_file.bin بوحدة 5242880 بايت مما يجعل من الصعب معرفة الحجم بشكل بديهي، وتتم إزالة الملف المخفي .large_hidden_file.bin من القائمة.
⚙️ [الخيارات الرئيسية]
-l : يعرض معلومات تفصيلية مثل أذونات الملف والمالك وحجم الملف بالبايت ووقت التعديل.-a : يعرض جميع العناصر في الدليل بما في ذلك الملفات المخفية التي تبدأ بنقطة (.).-h : يحول حجم الملف إلى وحدات سعة سهلة القراءة للبشر مثل K ،M ،G.-t : يرتب العناصر حسب وقت التعديل الأخير.-r : يعكس ترتيب الترتيب ويعرضه بالترتيب العكسي.

يعرض الأمر ls -alh القائمة الكاملة بما في ذلك الملفات المخفية مدمجة مع المعلومات التفصيلية ووحدات السعة السهلة القراءة للبشر.
كنتيجة للتنفيذ، يتم تحويل 5242880 بايت تلقائياً إلى 5.0M، ويظهر الملف المخفي .large_hidden_file.bin بحجم 10 ميجابايت في القائمة مع عرض 10M.
⚙️ [الخيارات الرئيسية]
-a : يتضمن الملفات والأدلة المخفية التي تبدأ بنقطة (.) في القائمة.-l : يعرض القائمة متضمنة الخصائص التفصيلية مثل الأذونات والحساب المالك وحجم الملف.-h : يحول حجم الملف إلى وحدات عالية القراءة مثل KB ،MB ،GB.-S : يرتب العناصر بدءاً من العنصر ذي الحجم الأكبر.-R : يفحص الملفات داخل الأدلة الفرعية ويعرضها بشكل متكرر.

4. دمج خيارات الفرز المفيدة عملياً حسب الوقت (-t) والحجم (-S)
يقوم الأمر touch -t 202601010000 .old_hidden_log بإنشاء ملف أو تغيير وقت تعديله عن طريق تحديده مباشرة.
في هذا المثال، للتحقق من نتائج فرز الطابع الزمني، يتم إنشاء ملف مخفي فارغ .old_hidden_log بوقت 1 يناير 2026 الساعة 00:00.
⚙️ [الخيارات الرئيسية]
-t : يضبط وقت التعديل والوصول للملف بتنسيق التاريخ والوقت المحدد.

يعرض الأمر ls -alt جميع عناصر الدليل بما في ذلك الملفات المخفية بالتفصيل، مرتبة حسب وقت التعديل الأحدث.
كنتيجة للتنفيذ، يتم وضع الملفات ذات التعديل أو الإنشاء الأحدث في الجزء العلوي أولاً.
⚙️ [الخيارات الرئيسية]
-a : يعرض جميع العناصر بما في ذلك الملفات المخفية والأدلة المخفية التي تبدأ بنقطة.-l : يعرض معلومات تفصيلية مثل أذونات الملف والمالك والحجم ووقت التعديل على شكل قائمة.-t : يرتب الملفات والأدلة تنازلياً حسب وقت التعديل الأحدث.

يعرض الأمر ls -alS المعلومات التفصيلية لجميع العناصر بما في ذلك الملفات المخفية، مرتبة حسب حجم الملف من الأكبر إلى الأصغر.
هذا مفيد لإدارة مساحة القرص من خلال التعرف السريع على الملفات أو الأدلة ذات الحجم الكبير.
⚙️ [الخيارات الرئيسية]
-a : يعرض جميع العناصر بما في ذلك الملفات المخفية والأدلة المخفية التي تبدأ بنقطة.-l : يعرض معلومات تفصيلية مثل أذونات الملف والمالك والحجم ووقت التعديل على شكل قائمة.-S : يرتب القائمة تنازلياً بناءً على حجم الملف الأكبر.

يعرض الأمر ls -alrt المعلومات التفصيلية لجميع العناصر بما في ذلك الملفات المخفية، مرتبة حسب وقت التعديل الأقدم.
من خلال الترتيب الزمني العكسي، يظهر الملف المعدل مؤخراً في أسفل شاشة الطرفية مباشرة، مما يسهل التحقق منه فوراً.
⚙️ [الخيارات الرئيسية]
-a : يعرض جميع العناصر بما في ذلك الملفات المخفية والأدلة المخفية التي تبدأ بنقطة.-l : يعرض معلومات تفصيلية مثل أذونات الملف والمالك والحجم ووقت التعديل على شكل قائمة.-r : يعكس ترتيب الفرز ليرتب تصاعدياً.-t : يرتب الملفات والأدلة بناءً على وقت التعديل الأحدث.

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