HowTo Symbolic and Hard links بسم ال الرحمن الرحيم Seven_Eleven لينكساوي موضوعنا اليوم سيكون عن موضوع شيق وهو معتمد بشكل كبير على القدرة التى تمتلكها

ملفّات مشابهة
كيفية تفعيل خدمة IIS ونشر موقع ويب على الشبكة احمللي السالم عليكم اصدقائي الكرام في هذا الكتاب سنتناول ما هي خدمة المعلومات وكيفية التفعيل ونشر الموقع

<4D F736F F D20D8D1EDDEC920CDD0DD20C7E1E1EDE4DFD32E646F63>

التحكم في الجهاز عن بعد باستخدام نظام VNC

How To Make Connection Between Oracle DB Server 9i & Oracle Developer 6i

) NSB-AppStudio برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( ) برمجة تطبيقات األجهزة الذكية باستخدام برنامج ( NSB-AppStudio الدرس األول ) 1 ( الدرس

شرح توزيعة Parted Magic السلم عليكم و رحمة ال تعالى و بركاته شرح توزيعة Parted Magic )الصدار الثالث( الفهرس : (1 مقدمة (2 تحميل التوزيعة (

FS Future Series دليل البدء السريع الرجاء قراءة التعليمات التالية من أجل تثبيت وتنشيط 3D. Visualizer برنامج

Microsoft Word - new.doc

Allomani Warehouse User Guide

اردوينو – الدرس الثامن – تغيير درجة الالوان لـ RGB LED

السالم عليكم ورحمة هللا وبركاتة كتاب تعلم برمجة االلعاب بأستخدام محرك االلعاب Unity 3D الكتاب مقدم من االستاذ : عماد عارف التوي موقع : Home OF Games ا

الأول في السي شارب((c#للمبتدائين

دولة فلسطين و ازرة التربية والتعليم العالي المبحث: تكنولوجيا المعلومات / النظري بسم هللا الرحمن الرحيم مدة االمتحان : ساعتان نموذج تجريبي مجموع العالم

Our Landing Page

السالم عليكم و رحمة هللا شرح ربط قاعدة بيانات Access بال.. C# مذا ستستفيد من هذا الموضوع!! -معرفة طريقة صنع قاعدة بيانات بالAccess -ربط قاعدة البيانات

كيفية استخدام موقع 4shared لرفع الملفات وتنظيمها على النترنت للمبتدئين. والمتقدمين في الحاسب. كتاب ل ابراهيم شاهين

Microsoft Word - moneybookers

Our Landing Page

الرسالة األسبوعية/ الصف السادس 2018 / 9 - األحد 16 أولياء األمور الكرام : إليكم الرسالة األسبوعية وما سيتم إنجازه هذا األسبوع: األسبوع الماضي : تم اال

دليل تدريبي : الحلول لما بعد اختراق الحسابات إعداد : محمد المسقطي Mohammed Al-Maskati بمساعدة : علي السباعي Ali Sibai

How To Install Oracle Forms & Reports 6i

نموذج السيرة الذاتية

Microsoft Word - C#2

ورقة عمل الدرس الثاني تطبيقي اخلاص على هاتفي... برنامج App Inventor اعداد املعلمة : اماني ممدوح املصري مدرسة امحد شوقي الثانوية للبنات اختار اإلجابة ا

طور المضغة

بسم الله الرحمن الرحيم السل م عليكم ورحمة الله وبركاته إصل ح محمل اللقل ع grub2 الجزء الثالث : إصل ح محمل اللقل ع في توزيعة فيدورا تم تثبيتها عن طريق

Forum.zyzoom.net

Microsoft Word - Question Bank-II Sem. BA Arabic Core Course, Informatics with DTP

The Global Language of Business دليل ارشادي الستخدام صفحة خدمات الشركات األعضاء Members Area 1

I تفريغ مكثف في وشيعة. 1 التركيب التجريبي: L = 40mH وشيعة معامل تحريضها C = 1μF مكثف سعته E = 6V العدة: مولد قوته الكهرمحركة ومقاومتها الداخلية r = 10

Microsoft Word - 1-NURSE CALL SYSTEM

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

Slide 1

WHAT’S NEW

Microsoft Word - CO_RT10

شرح برنامج استعادة الملفات المحذوفة Recover my files من اعداد : رافاييل يوسف مقدمة: آلنا يعلم ان اجهزة الكومبيوتر قادرة على حفظ الملفات على قرصها الصل

المحاضرة الثانية

دليل ملفات الــ Log

تنصيب و إعداد تقانة التستجابة الذكية (SRT) التخزين المؤقت باتستخدام أقراص الحالة الصلبة SRT Intel Smart Response Technology Installation Guide (SSD Ca

الدليل التدريبي لتسجيل منتج البوابة االلكترونية للمطابقة )سابر( الدليل التدريبي لتسجيل منتج 0

الفرق بين البرمجة الإجرائية و البرمجة المسيرة بالأحداث :

correction des exercices pendule pesant Ter

مقدمة عن الاوناش

Our Landing Page

Natural Resources

حقيبة الدورة التدريبية التخزين السحابي Google Drive حقيبة المتدربة إعداد املدربة : عزة علي آل كباس Twitter 1438 ه

عرض تقديمي في PowerPoint

Microsoft Word - Sample Weights.doc

8 مادة إثرائية وفقا للمنهاج الجديد األساسي الثامن للصف الفصل الدراسي األول إعداد املعلم/ة: أ. مريم مطر أ. جواد أبو سلمية حقوق الطبع حمفوظة لدى املكتبة

بسم هللا الرحمن الرحيم المادة: مقدمة في بحوث العمليات )100 بحث ) الفصل الدراسي األول للعام الدراسي 1439/1438 ه االختبار الفصلي الثاني اسم الطالب: الرق

اسم المفعول

عرض تقديمي في PowerPoint

( اختبارات الفروق لعينتين مستقلتين Samples) 2) Independent مان- ويتني( U (Mann-Whitney ب( نحتاج الى ھذا القانون الغراض المقارنة بين مجموعتين او عينتين

اختر عنوان مناسب

Microsoft Word - QA-Reliability

الشريحة 1

easy - translation

جامعة حضرموت

الصف السادس االبتدائي الفصل الدراسي االول بسم هللا الرحمن الرحيم الصفحة محتويات الفصل الدراسي األول الموضو

Banner – Hold Information SOAHOLD

Microsoft Word - BacCorr2008SVT_WEB.doc

Slide 1

مكونات الحاسب الآلي

المحاضرة الثانية عشر مقاييس التشتت درسنا في المحاضرة السابقة مقاييس النزعة المركزية أو المتوسطات هي مقاييس رقمية تحدد موقع أو مركز التوزيع أو البيانات

riyadh-geeks-mobile-first

شكر و إهداء أهدي بالدرجة الولى هذا الكتاب إلى الوالدين حفظهما ال كم أتقدم بشكر إلى كل من مد لي يد العون بالخص أخي الغالي ياسين DnS-LiNuX كما أهدي الكت

المملكة العربية السعودية م ق س ..../1998

Microsoft Word - Kollo_ ARA.docx

جمعية زمزم للخدمات الصحية التطوعية بإشراف وزارة الشؤون االجتماعية تصريح رقم )411( نظام إدارة الجودة Quality Management System إجراءات الئحة تقنية املع

Microsoft Word - SolutionOOPFinal2011.doc

PowerPoint Presentation

تحليلية الجداء السلمي وتطبيقاته

دليل المستخدم لبوابة اتحاد المالك التفاعلية

Microsoft Word - AR_ _UM TLCD - KBRC01A.doc

قوانين اإلستعارة هذه هي قوانين اإلستعارة التي تسري في المكتبات الشعبية في كل من بيورهولم, نوردمالينغ, روبيرت فورش, اوميو, فيندلن و فيينسس. بطاقة المكت

متطلبات النظام متطلبات جهاز الكمبيوتر الشخصي معالج Pentium 1 Intel غيغا هرتز أو أسرع نظام التشغيل Windows 2000 أوXP Windows مع Service Pack 2 أو Vista

Microsoft Word - Q2_2003 .DOC

Microsoft Word - tarkiba_kahroub_n1

الرقابة الداخلية والرقابة الخارجية

مختبر البرمجة والتحليل العددي قسم علوم الجو جمل التحكم والشرط والتكرار المرحلة الثانية PROGRAM CONTROL, CONDITION AND LOOP STATEMENTS الجمل الشرطية :-

Full Mark الفرعين : األدبي والفندقي السياحي الوحدة : األولى النهايات واالتصال إعداد وتصميم األستاذ : خالد الوحش مدرسة أبو علندا الثانوية للبنين

10) série d'exercices chute libre d'un corps solide

التعريف بعلم الإحصاء

ثنائي القطب ثنائي القطب س 4 مادة العلوم الفيزيائية الكهرباء مميزات بعض ثنائيات القطب غير النشيطة الجذع المشترك الفيزياء جزء الكهرباء مميزات بعض ثنائيا

تجربة السقوط الحر

الكيمياء : استعمالات حمض البنزويك الجزء الاول : تحديد النسبة المائوية لحمض البنزويك الخالص C 6 H 5 COOH (aq) + H 2 O (l) C 6 H 5 COO (aq) pk A = logk

Microsoft Word - intégral 2sc exp.doc

( IP Address ) العنوان الشبكي

عرض تقديمي في PowerPoint

برنامج األمم المتحدة اإلنمائي دليل تدريب لمقدم العروض بالمناقصات إلكتروني ا اإلصدار رقم 3 فبراير/ ش باط سنة 2015 الصفحة 1

Microsoft Word - Excel VBA

Microsoft Word - e.doc

ondelum

نموذج )1( الحد الأدنى لمحتوى )الوكالات( الصفحة الرئيسية تحتوي الصفحة الرئيسية العناصر الأكثر أهمية لزائر موقع الوكالة وتوضع فيها الإعلانات والاخبار ال

عرض تقديمي في PowerPoint

1

رسالة كلية التمريض: تلتزم كلية التمريض - جامعة دمنهور بتقديم سلسلة متصلة من البرامج التعليمية الشاملة إلعداد كوادر تمريضية ذوى كفاءة عالية فى مهارات ا

المدة : 5 دقي. النش ط : ال راءة. المست ى : قس التحضير.. 9 عن ان الدرس : أربط بين الص الحرف ( (. رق ال حدة : الك ءا ال عدي : يتعرف ع الص ) ( المسم ع ث

مكثف الثالثة الوحدة البوابات املنطقية 1 هاتف : مدارس األكاد م ة العرب ة الحد ثة إعداد المعلم أحمد الصالح

برنامج المساعدات المادية الذكي خطوات التقديم للمساعدة المادية...2 خطوات رفع المستندات المرفوضة...10 خطوات التاكد من حالة الطلب

النسخ:

HowTo Symbolic and Hard links بسم ال الرحمن الرحيم Seven_Eleven لينكساوي موضوعنا اليوم سيكون عن موضوع شيق وهو معتمد بشكل كبير على القدرة التى تمتلكها للتخيل!! سوف اتحدث اليوم عن ال hard links وال soft links على جنو/لينوكس. بالطبع إذا كنت مستخدما للويندوز من قبل فمن المحتمل أنك استخدمت الختصارات أو فيما يعرف بال shortcuts هذا بالضبط ما أريده, فجنو/لينوكس يحتوى على إختصارات شبيهة بتلك التى يمتلكها ويندوز والتى تNعرف بإسم hardlinks و ال. softlinks والن لنبدأ مع الموضوع مباشرة وأول ما نتحدث عنه تعريف ال softlinks or symlinks or symbolic links ثلثة مسميات لمعنى واحد : تعتبر ال softlinks او ال symlinks أشبه ما يكون باختصارات الويندوز أو. windows shortcuts لنها عبارة عن وصلة تحتوى على المسار الخاص بملف معين فى مكان ما دون الحاجة إلى تكرار ذلك الملف. أما ال hard links فهى عبارة عن وصلة لملف ما على جنو/لينوكس تحتفظ بكل المعلومات الخاصة بذلك الملف وتكون أشبه ما يكون بعملية النسخ او copying ولكن مع وجود أختلفات جوهرية. البعض سوف يصرخ عاليا...!! لم أفهم ماذا تقصد بال hard links!! حسنا تابع معى ولا تتعجل المور بعد قليل ستتضح المور من خلل المثلة العملية التى سوف نقوم بتطبيقها معا لاحقا. والن نستمر فى تعريف بعض المفاهيم والتى ذات صلة وثيقة بال hard links وال symbolic links ونبدأها معا : أولا : inode تنطق هكذا (eye-node) وهى اختصار لكلمتىg information node والتى تعنى كترجمة حرفية عNقدة المعلومات!! لست أعنى بكلمة عNقدة أنها معلومات مNعقgدة أو مقياس سرعة السفن بالعiقدة!! كلمة عiقدة تعنى فى عالم اللكترونيات نقطة تتجمع حولها التيارات الكهربية الداخلة والخارجة منها وإليها ولعل بعضكم سمع بقانون كيرشوف للتيار الكهربى وهو مجموع التيارات الداخلة إلى node تساوى مجموع التيارات الخارجة منها!! استمتع بالصورة التالية : 1

الن أسمع من يهمز بى ولسان حاله يقول هل الكاتب قد جNن! ما علقة ذلك بجنو/لينوكس من المثال السابق حاولت تقريب معنى node لك لكى تستطيع تخيل ما يفعله نظام الملفات أو ال filesystem على جنو/لينوكس لتخزين المعلومات التى تخص ملف أو مجلد معين. نرجع الن إلى تعريف ال inode بالنسبة لنظام الملفات على جنو/لينوكس حيث يتم تمثيل كل ملف على النظام ب inode تلك ال inode تحتوى على كل المعلومات التى تخص ذلك الملف بداية من الملف نفسه و مكان المعلومات المخزنة التى تخص ذلك الملف على الهاردديسك والتصاريح الخاصة بذلك الملف مرورا بنوع الملف أو the type of file إلخ... وصلنا الن إلى صلب الموضوع ونبدأ أولا بالعلقة بين كل inode وال : hard links علقة ال inode بال hard links علقة وطيدة بمعنى كل inode على نظام الملفات أو ال filesystem تنقسم إلى hard link واحد أو اكثر من. hard links حيث يحتوى ال hard link الخاص بملف على كلr رقم عNقدة المعلومات أو inode number ويحتوى أيضا على إسم الملف. وكما ذكرنا سابقا أن ال inode نفسها تحتوى على الملف وعلى التصاريح الموجودة عليه وكذلك نوع الملف. ولذلك يستطيع نظام الملفات أو ال filesystem تحديد مكان ال inode بواسطة ال inode number والذى يوجد داخل ال. hard link إلى الن أرى العيون جاحظة لم ترى فائدة لل hard links اليس كذلك تريث قليل وتابع القراءة من الممكن للملف الواحد أن يمتلك أكثر من hard link وذلك يعنى أنه من الممكن أن توجد عدة ملفات بأسماء مختلفة تشير إلى نفس الملف والتى تتملك بدورها هذه الملفات ذات السماء المختلفة نفس ال inode number للملف الصلى الذى تم إنشاء منه عدة. hard links ولذلك وانتبه معى ان الفائدة الجوهرية لل hard links تكمن فى امتلك الملفات ذات السماء المختلفة لنفس ال inode number للملف الصلى وبمعنى أوضح نظرا لن ال inode number للملف الصلى هو نفسه ال inode number لل hard links فإنه تصبح لدينا القدرة على تعديل مثل الملف الصلى وينتج عن ذلك نفس التعديل فى الملفات الخرى دون الحاجة إلى تعديلهم منفصلين ونتيجة ذلك توفير الكثير من الوقت والجهد إذا كانت عملية التعديل تحتاج إلى وقت كبير. ملحوظة : لا يمكنك عمل hard links على عدة أنظمة ملفات مختلفة فلبد لكل ال hard links التى تخص 2

ملف معين أن تكون على نفس نظام الملفات أو the same filesystem وذلك لن لكل نظام ملفات أو inode المعلومات أو التى تخصه ولذلك من المحتمل وجود أرقام لعقNد inodes مجمومة من ال filesystem numbers مكررة مع نظام ملفات آخر. الن إلى التطبيق العملى للجزء الخاص بال hard links قم معى بفتح الطرفية ونفذ التالى : debian:~# cd; echo "hello" > firstlink ولنشرح ما نفذنا فى الطرفية : المر cd يقوم بتغيير الدليل إلى المجلد الذى يتم كتابته بعده وهنا قمنا بكتابة المر cd فقط والذى يشير عند كتابته وحده إلى تغيير الدليل الحالى إلى المجلد ال home ثم بعد ذلك استخدمنا ال ; أو Semi-Column والتى تستخدم للفصل بين أكثر من أمر عند تنفيذ عدة أوامر على التوالى فى الطرفية ثم بعد ذلك استخدمنا المر echo والذى يستخدم لطباعة نص على ال stdout أو فيما يسمى بال standard output والتى تكون فى حالتنا هذه هى الطرفية ثم بعد ذلك استخدمنا العلمة > لعمل redirect لخرج ال echo ليتم وضعه داخل ملف يتم إنشائه تحت إسم. first link الن لنتأكد فعل من إنشاء الملف firstlink ووجود الكلمة hello بداخله عن طريق المر التالى : debian:~# cat firstlink hello بعدما تأكدنا فعل من إنشاء الملف firstlink والتأكد من محتوى الملف ووجود كلمة hello سنقوم الن بإنشاء hard link من الملف باستخدام المر ln كالتالى : debian:~# ln firstlink secondlink ولنتأكد الن أبضا من إنشاء الملف secondlink والتأكد من إحتوائه على نفس الكلمة التى توجد فى الملف firstlink وهى كلمة hello عن طريق المر cat كما ذكرنا سابقا : debian:~# cat secondlink hello الن تم إنشاء hard link من الملف firstlink تحت إسم secondlink وكما ذكرنا سابقا سيمتلك الملف secondlink نفس ال inode number الخاصة بالملف firstlink وللتأكد من ذلك قم بتنفيذ المر التالى : debian:~# ls -il 315 -rw-r--r-- 2 root root 13 2007-12-02 10:21 firstlink 315 -rw-r--r-- 2 root root 13 2007-12-02 10:21 secondlink كما تلحظ الرقم الول من اليسار وهو 315 هو الذى يمثل ال inode number وفى حالتنا هذه نجد أنه فعل لدى الملفان firstlink و secondlink نفس ال inode number ونلحظ أبضا وجود نفس التصريحات الخاصة بكل ملف واحدة أما الرقم 2 فيدل على عدد ال hard links الخاصة بالملفان. 3

طيب ننتقل الن إلى الفائدة الجوهرية التى ذكرناها بأعلى وهى عندنا نعدل ونغير فى محتويات ملف هل سيتم فعل تغيير وتعديل محتويات الملفات الخرى أم لا لنرى سويا ولنقم بتنفيذ التالى فى الطرفية : debian:~# echo "chagne" >> secondlink هنا قمنا مرة أخرى باستخدام الامر echo لطباعة الكلمة change ووضعها داخل الملف secondlink ولكن مع الحتفاظ بمحتويات الملف والعلمة << هى التى قامت بهذه المهمة أى التعديل على الملف ووضع الكلمة change دون حذف الكلمة. hello ملحوظة : لكى تلمس الفارق ما بين العلمة > والعلمة << قم بتنفيذ المر السابق مرة أخرى ولكن باستخدام العلمة فقط ليكون شكله كالتالى : debian:~# echo "change" > secondlink نرجع مرة أخرى لنلحظ هل حدث تغيير فعل فى محتويات الملف secondlink وبالتالى هل حدث نفس التغيير فى محتويات الملف firstlink أم لا ونستخدم أيضا الامر cat فى هذه المهمة كالتالى : debian:~# cat secondlink hello change debian:~# cat firstlink ثم مرة اخرى المر cat مع الملف firstlink ليكون كالتالى : نجحنا!! فعل كلr من الملفين احتوى على نفس الكلمتين كلمة hello وكلمة change وحدث ذلك بالتغيير فى الملف secondlink دون الحاجة إلى التغيير فى الملف firstlink هنيئاr!. hello change وإلى تساؤل آخر هل لو غيرنا التصاريح الموجود على hard link سيتم تغيير نفس التصاريح على ال hard links الخرى أم لا لنتابع معا ونقوم بتنفيذ التالى : بالبداية نقوم باستعراض التصاريح الموجودة حاليا على الملف باستخدام المر ls مع الخيار l- كالتالى : debian:~# ls -l secondlink -rw-r--r-- 2 root root 7 2007-12-02 11:39 secondlink ثم نقوم بتغيير التصاريح الموجودة على الملف باستخدام المر chmod كالتالى : 4

debian:~# chmod 777 secondlink ملحوظة : ليس بالضرورة تطبيق التصريح 777 على الملف أنا ما اتسخدمت ذلك التصريح إلا للتوضيح فحسب فيمكنك وضع أى تصريح يعجبك! ثم نستعرض التصاريح على الملف مرة اخرى باستخدام المر ls مع الخيار l- كالتالى : debian:~# ls -l secondlink -rwxrwxrwx 2 root root 7 2007-12-02 11:39 secondlink نجد أن التصاريح قد تغيرت على الملف والن نتأكد من التصاريح على الملف firstlink هل هى نفس التصاريح على الملف secondlink أم لا بتنفيذ التالى فى الطرفية : debian:~# ls -l firstlink -rwxrwxrwx 2 root root 7 2007-12-02 11:39 firstlink بالفعل تغيرت التصاريح!! وأصبحت واحدة دون المساس بالملف firstlink وهذا يعنى أن التصاريح فعل يتم تخذينها فى ال inode وليس فى ال!! links والن إلى نقطة أخرى وهى هل إذا تم حذف ملف من أو حذف hard link من ال hard links سيتم حذفهم جميعا أم حذف ال hard link المطلوب فقط للجابة على ذلك التساؤل نقوم بتنفيذ المر التالى فى الطرفية : debian:~# rm firstlink ثم نقوم باستعراض محتويات المجلد مرة أخرى باستخدام المر ls مع الخيار l- كالتالى : debian:~# ls -l -rwxrwxrwx 1 root root 7 2007-12-02 11:39 secondlink لاحظ تم حذف الملف firstlink دون حذف الملف secondlink أى أن عملية حذف hard link غير معتمدة على ال hard links الخرى كما تلحظ أيضا أن عدد ال hard links تم تخيفضه من الرقم 2 إلى الرقم 1. والن إذا قمنا بحذف الملف الخر وهو secondlink عن طريق المر rm كالتالى : debian:~# rm secondlink الن أصبح لا يوجد hard links لين من الملفين firstlink والملف secondlink حينها يقوم جنو/لينوكس بحذف الملف نفسه أى حذف ال. inode symlinks 5

بعد أن انتهينا من الجزء الول والذى قمنا بتفصيل بعض المور عن ال hard links ننتقل الن إلى الجزء الثانى من الوصلت أو ال links ألا وهى الوصلت المرنة أو softlinks or symbolic links or soft links كما قلنا فى أول الموضوع ثلث مسميات لمعنى واحد. وكما ذكرنا سابقا أن ال symlink عبارة عن ملف خاص يحتوى على العنوان أو المسار الخاص بملف معين على نظام الملفات أو filesystem ونستنبط من ذلك أنه يمكن عمل symbolic link من أى hard link لنه ال hard link يكون إما الملف الصلى نفسه أو link من ملف له نفس الخصائص للملف الصلى أو بمعنى مiبسط ال soft link ماهو إلا عبارة عن اختصار أو shortcut من الملف ليس إلا ولذلك عندما تتصفح محتويات symlink وليس محتويات ال symlink فأنت تتصفح محتويات الملف الصلى الذى يشير إليه ال symbolic link نفسه ولذلك باستخدام ال soft link يمكنك عمل وصلت أو links لكل من المجلدات أو directories كذلك الجهزة أو ال Devices مرورا بال symlinks نفسها لن كل ذلك فى النهاية ماهو إلا عبارة عن ملفات بالنسبة لنظام التشغيل جنو/لينوكس. وبعد أن استعرضنا تعريف مNبسط لل symlinks الن سنقوم بذكر بعض المور التى يختلف فيها كلr من ال : symlinks وال hard links * ذكرنا أن ال hard link يحتوى على كل من إسم الملف أو filename بالضافة إلى ال inode number الخاص بذلك الملف وذكرنا أن ال inode هى نفسها الملف والتى تعنى مكان تخزين الملف على القرص الصلب والتصاريح الموجودة وكذلك نوع ذلك الملف بينما ال symlink عبارة عن inode تحتوى على إسم ال hard. link * كل ال hard links الخاصة بنفس الملف لها نفس الحالة ولذلك عند إجراء أى عملية عن أين من تلك ال hard links فتبعا لذلك يحدث نفس التغيير بسبب تلك العملية على باقى ال hard links الخاصة بتلك الملف وذلك يحدث لن كل ال hard links لنفس الملف تمتلك نفس ال inode أما عند إجراء أى عملية على أى hard نفسه والذى يكون تغيير فى إسم ال symlinks الخاصة بال inode فالتغيير يحدث إما فى ال symlink. symlink الذى يشير إليه ال hard link أو يحدث التغيير فى ال link * ال symlinks نستطيع إنشائها على أكثر من filesystem لنها كما ذكرنا تحتوى على السم الكامل أو المسار الكامل الخاص بال hard link ابتداءr من ال root directory بينما لا نستطيع إنشاء أكثر من hard link على أكثر من نظام ملفات أو filesystem وذلك لن ال hard links لنفس الملف تمتلك نفس ال inode number وال inode numbers لنظام الملفات الواحد تكون وحيدة أو unique ولذلك عن إنشاء hard links على أكثر من نظام ملفات قد تتشابه ال inode number الخاصة ب filesystem ب inode number خاصة ب filesystem آخر. * تستطيع عمل symlinks للمجلدات أو ال directories ولكن لا تستطيع عمل hard links لهذه المجلدات وذلك لن كل مجلد بذاته يحتوى على hard links مختلفة وكل مجلد فرعى تحت ذلك المجلد الرئيسى أو ال symlink مختلفة وخاصة به وهكذا... وبالتالى يمكن عمل hard links يحتوى على على parent directory لكل من الملفات و المجلدات بينما يمكن عمل hard links للملفات فقط. * حذف ال symlink لا يؤثر على الملف الصلى فى شىء وبالتالى ما يNحذف فى حالة ال symlink هى الوصلة فقط أو ال link أما حذف hard link الوحيد الخاص بملف ما كفيل بحذف الملف نفسه من على نظام الملفات. بعد أن استعرضنا بعض الفروقات بين كل من ال symlinks وال hard links نتطرق إلى الجزء التطبيقى الخاص بال symlinks ونبدأ اولا بفتح الطرفية وتطبيق المر التالى : 6

cd; ln -s /tmp/me MyTmp شرح المر : فى البداية قمنا بتغيير الدليل أو المجلد الحالى الذى نعمل عليه إلى مجلد ال home directory بإستخدام المر cd فقط بعد ذلك العلمة Semi-column أو ال ; والتى تستخدم لتنفيذ عدة أوامر على التوالى فى الطرفية ثم بعد ذلك استخدمنا المر ln مع الخيار s- لعمل وصلة أو link ولكن هذه المرة من نوع symlink أو softlink وذلك للمجلد الفرعى me الموجود على مجلد الملفات المؤقتة /tmp تحت إسم للوصلة. MyTmp الن لنتأكد من إنشاء ال symlink للمجلد /tmp/me تحت السم MyTmp وذلك باستخدام المر ls مع الخيار l- لعرض بعض المعلومات الخرى عن الوصلة كالتالى : debian:~# ls -l MyTmp ليكون الخرج بالشكل التالى : lrwxrwxrwx 1 muhammad muhammad 7 2007-12-04 09:13 MyTmp -> /tmp/me لاحظ : فى بداية التصريح يوجد الحرف l والذى يدل فى حالة وجوده على أن الملف من نوع symbolic link ولمزيد من المعلومات عن أنواع الملفات : d directory l b c p symbolic link block device character device named pipe s socket لاحظ أيضا : أننى قمت بعمل symbolic link لمجلد وهمى وهو فى حالتنا هذه!! me وللتأكد من ذلك قم بتنفيذ المر التالى فى الطرفية : debian:~# ls -l /tmp/me ls: /tmp/me: No such file or directory ولذلك من ضمن الشياء التى لابد أن تلحظها أنك لو قمت بتغيير التصاريح الموجودة على الوصلة MyTmp فلن تتغير وستظل كما هى أى ستكون فى كل مرة rwxrwxrwx ولكن التغيير سيكون للملف الصلى وللتأكد من ذلك استخدم المر chmod مع أى تصريح يعجبك : debian:~# chmod 600 MyTmp ثم نفذ المر ls مع الخيار l- مرة أخرى للتأكد من ذلك كما يلى : 7

debian:~# ls -l MyTmp lrwxrwxrwx 1 root root 7 2007-12-04 08:56 MyTmp -> /tmp/me كما تلحظ لم تتغير التصاريح الموجودة على الوصلة MyTmp لنه أساس الوصلة المجلد الفرعى me لا يوNجد بالساس!! والن نقوم بإنشاء المجلد الفرعى me لكى نكرر ما فعلنا سابقا بالشكل التالى : debian:~# mkdir /tmp/me ثم نقوم بتنفيذ المر ls مع الخيار l- على المجلد لاستعراض التصاريح الخاصة به ليكون الناتج بالشكل التالى : debian:~# ls -dl /tmp/me drwxr-xr-x 2 root root 4096 2007-12-04 10:10 /tmp/me كما تلحظ ال symbolic link لها تصريح مختلف تماما عن المجلد الصلى لنحاول الن تغيير التصاريح على كل من الوصلة MyTmp ونرى ما التغيير الجوهرى الذى سوف يحدث : ثم بنقوم بعرض التصاريح باستخدام المر ls مع الخيار l- مرة أخرى : debian:~# chmod 500 MyTmp debian:~# ls -l MyTmp lrwxrwxrwx 1 root root 7 2007-12-04 08:56 MyTmp -> /tmp/me لم تتغير التصاريح على الوصلة MyTmp وهذا يؤكد الكلم الذى ذكرناه سابقا أن التصاريح لا ولن تتغير ولنستعرض الن التصاريح على المجلد me كما يلى : debian:~# ls -ld /tmp/me dr-x------ 2 root root 4096 2007-12-04 10:10 /tmp/me/ كما رأيت التغيير الذى حدث كان للمجلد الصلى me وليس للوصلة. MyTmp لكن قد يتساءل البعض ألا تعتبر التصاريح الموضوعة على ال symlinks وسيلة لتشكيل خطر على جنو/لينوكس وذلك لنها باستمرار تحمل التصريح rwxrwxrwx الجابة على ذلك التساؤل بسيطة لو ركزت قليل فيما ذكرناه ان ال symlinks مجرد وصلة تحتوى على إسم الملف الصلى فقط ولذلك التصاريح التى تمتكلها لا تمت بصلة للتصاريح الموضوعة على الملف الصلى إلا إذا كانت التصاريح على الملف الصلى وال symlink واحدة. الن إذا حاولت إنشاء ملف نصى داخل الوصلة MyTmp فمن البديهى أن الملف يتم إنشائه بشكل واقعى داخل المجلد /tmp/me وليست الوصلة ذاتها ولنرى ذلك كيف يتم عمله كالتالى : 8

debian:~# touch MyTmp/myfile.txt ثم نستخدم المر ls لعرض محتويات المجلد me فى الطرفية بالشكل التالى : debian:~# ls /tmp/me myfile.txt بالفعل تم إنشاء الملف myfile.txt داخل المجلد me والن إلى نقطة أخرى وهى لو قمنا بحذف الوصلة MyTmp هل سيتم حذف المجلد me أم لا لنرى سويا : debian:~# rm MyTmp لاحظ أننى قمت باستخدام المر rm وليس المر rmdir لن ال symlink ما هى إلا ملف عادى وللتأكد من أن المجلد me مازال موجودا نقوم بعمل التالى : debian:~# ls -al /tmp dr-x------ 2 root root 4096 2007-12-04 10:31 me فعل المجلد me مازال موجودا ولم يتم حذفه الن لنحذف الملف myfile.txt والمجلد me على الترتيب بالشكل التالى : debian:~# rm /tm/me/myfile.txt; rmdir /tmp/me الن تم التخلص من كل الشياء التى تخص المجلد me بداية من ال symlinks انتهاءr بمحتوياته. أرجو من ال العلى القدير أن أكون وNفقت فى شرحى هذا فإن أصبت فمنه سبحانه وتعالى وإن أخطأت فمنى والشيطان وأتمنى إذا كان فيه أى إضافات أو تنقيحات تNثرى الموضوع فل تبخلوا علينا بها. السلم عليكم ورحمة ال وبركاته 9

St0rM-MaN :: خبير برمجة :: اقتباس: بالمناسبة من هنا جت كلمة unlink فى بعض اللغات عشان حذف الملفات ^_^ غير كده وكده انا مش قريت الموضوع الصراحه اي ملف في ال linux ماهو الا hard link للملف الاصلي والاخ seven_eleven وضح كده بس باسلوب تاني كل ملف علي اللينكس الكيرنيل بيتعامل معاه عن طريق منشاة بيانات تسمي file موجوده في الكيرنيل ذات نفسه بتحتوي علي العمليات المسموحه لذلك الملف... الي اخره ال hard link بيفتح structure جديده للملف دوت مع نفس ال inode يعني عدة منشأت بتتعامل مع نفس ال inode جميل عند الحذف! الي بيحصل ان عدد ال منشأت بيقل علي حسب ال hard links او نقدر نقول ال open descriptors الي هي ارقام بتمثل الملفات المفتوحه حاليا علي جنو لما بيوصل عددها لل 0 وفقققط لل 0 بيتم حذف الملف فعليا من علي وحدة التخزين ولذلك لو في open descriptor الملف مش بيتمسح ابدا الا لما اخر descriptor يتقفل فعل.. واحد حدق بقي يقولي" انت تاخل تتفذلك مثل " حقوله لا انا الي عملته دوت عشان ححط حركه صغيره كده : تخيل نفسك بتكتب برنام معين ومحتاج ملف مؤقت تكتب فيه الحاجات المهمه بتاعتك ممكن تعمل الملف دوت create وتقوم ماسحه عن طريق unlink بس تخلي ال file descriptor مفتوح : d ساعتها انت بس الي حتقدر تقرأ من الملف دوت او تكتب فيه في حين ان لو حد دخل في مكان التنفيذ وعمل ls -al حتي مش حيلقي الملف دوت Seven 10

11