3.1 تنظيم الملفات كتاب لينكس الشامل >>

3.1 تنظيم الملفات

الفهرس

3.1.1 ابدأ من بيتك!!

تجد على سطح المكتب (في KDE/GNOME) أيقونة على شكل بيت مكتوب عليها Home شغّلها وسيفتح برنامج إدارة الملفات (nautilus في gnome و konqueror في kde) ولهما نفس الوظيفة استعراض الملفات وعمليات الجر والإسقاط و عملية القص واللصق ونسخ الملفات وعرضها إذا كانت صور وتشغيل ملفات الصوت وحتى تصفح الشبكة (الداخلية والإنترنت) أيضا (كل هذه الوظائف ربما بسبب التنافس)

tipتلميح

تكمن أهمية هذا الموضوع في فلسفة لينكس بأن كل شيء يتعامل معه النظام هو ملف ،منها ملفات حقيقية ومنها مجلدات ومنها ملفات وهمية مثل ملفات معلومات النواة proc و الروابط ومنها ما تؤدي وظيفة معقدة مثل أنابيب FIFO و مثل ملفات الأجهزة (الفأرة و خرج كرت الصوت وغيرها الكثير) فمثلا كل البيانات المرسلة إلى ملف /dev/dsp ستخرج من السماعة على شكل صوت بهذه البساطة وتخفي الكثير من طلاسم وتعقيدات تصميم كروت الصوت هذه يسمى encapsulation

tipتلميح

استخدم فطرتك في التعامل مع البرامج الرسومية ، تستطيع جر أي شيء واسقاطه في أي مكان ، انقر بالزر الأيمن على كل شيء ، النسخ واللصق يعمل أيضاً بالمفاتيح الساخنة CTRL+C,CTRL+V أو CTRL+INS,SHIFT+INS

tipتلميح

يمكنك تغير شكل برنامج nautilus بالذهاب إلى preferences من قائمة view واختيار مؤثر مختلف themes انظر art.gnome.org ولكنها في غنوم الجديد أصبحت من مركز تحكم غنوم ثم themes ثم details ثم icons

يمثل هذا البيت ما يشبه ال My Documents في ويندوز ولكن لكل مستخدم بيت يختلف عن الآخر فأحمد لا يرى ما في بيت كمال وهذا البيت هو الجزء المخصص لكل مستخدم ليضع فيه ملفاته الخاصة ويفتح فيه مجلدات جديدة ويمكن للمستخدم أن يفعل مايريد داخل بيته يشطب أي شيء هناك أما خارج بيته فليس له الحق بذلك (توفر بعض التوزيعات في قوائمها أيقونة لتشغيل مدير الملفات في طور الجذر حيث يمكنك أن تفعل ما تشاء -بعد أن تقدم كلمة السر- ولكن استخدامه لا يعتبر عادة جيدة قد يفيدك في بدايات تعلمك للينكس ولكن عليك أن تتعود على أن تظل مستخدم عادي أطول فترة ممكنة ) ويحتوي البيت مجلد باسم Desktop يمثل سطح المكتب

tipتلميح

إذا نظرت إلى صورة البيت الخاص بالمستخدم morph التي عرضناها قبل قليل ستجد علامات صغيرة على أيقونة المجلدات (أوراق على MyDocs و نغمة على My Music) هذه تسمى emblems ففي غنوم يمكنك وضع علامة على أيقونة أي ملف أو مجلد مثلاً لتبيّن أنه ملف مهم أو لم يكتمل أو جاهز ... انقر بالزر الأيمن على الملف المطلوب ثم properties ثم emblems كما في الشكل

معظم التوزيعات تضع أيقونة للوصول إلى القرص المرن المدمج على سطح المكتب في KDE مثلا في ماندريك ضع القرص ثم انقر على removable media وفي مختلف التوزيعات تجدها مباشرة على سطح المكتب واحدة للقرص المرن وأخرى للمدمج ضع القرص ثم انقر بالزر الأيمن على أيقونة القرص ثم اختر mount ثم انقر بالزر الأيسر لتفتح النافذة ثم وعندما تنتهي أغلق النافذة ثم انقر يالزر الأيمن ثم اختر unmount (أو umount) ثم اسحب القرص.

في gnome انقر بالزر الأيمن على مكان فارغ من سطح المكتب ثم اختر disks ثم اختر floppy (مثلا) عندها ستظهر له ايقونة على سطح المكتب انقر عليها نقرة مزدوجة وعندما تنتهي أغلق النافذة ثم انقر بالزر الأيمن على سطح المكتب ثم اختر disks ثم اختر floppy (مثلا) عندها ستختفي الايقونة ثم اسحب القرص

3.1.2 أين ذهبت كل الملفات؟

إن ملايين البرامج التي ثم تركيبها لا تظهر في المجلد البيت !!! ولا أقسام يندوز ، اذن أين هي ؟ افتح البيت ثم انقر UP تجد مجلدات البيت للمستخدمين الآخرين (عدا الجذر) ثم UP مرة أخرى تجد الكثير من المجلدات أنت الآن في المجلد الجذر الذي يتفرع عنه كل المجلدات ويسمى هذا المجلد / أنظر إلى العنوان في خانة الموقع (location) الآن ادخل إلى مجلد اسمه home يصبح الموقع /home ادخل الآن في المجلد الخاص بك يصبح الموقع /home/ahmad مثلا المجلد home هو المجلد الأب للمجلد ahmad ويسمى أيضا الأعلى منه درجة(في ركة العائلة الكريمة) ومعنى النقر على up هو الذهاب إلى المجلد الأب للمجلد الحالي

tipتلميح

المجلد /root هو المجلد البيت للمستخدم الجذر وليس /home/root ولكن في بعض اليونكسات القديمة يكون هو / فقط وتذكر لا تدخل باسم المستخدم الجذر root

تعريف
الدليل Directory و المجلد Folder
نوع خاص من الملفات لا نخزن فيه بيانات بل هو مكان توضع فيه الملفات الأخرى لتسهيل الوصول إليه بدلاً من وضع كل الملفات في مكان واحد. تستخدم لفظة "مجلد" عند الحديث عن البرامج الرسومية و"دليل" عند الحديث بنضج أكبر.
المسار Pathname
هو الأدلة التي يجب أن تمر بها للوصول إلى الملف أو المجلد الفلاني يفصل بينها / مثلا /home/ahmad تعني ابدأ من الجذر ثم داخل المجلد home يوجد ahmad هذا هو الملف المطلوب. هذا الاسم غير محبب في لينكس ونحب استعمال اسم الملف المطلق absolute filename واسم الملف النسبي relative filename
الدليل Directory أو المجلد folder
هو عبارة عن ملف من نوع خاص صمم ليحتوي ملفات أخرى بهدف ترتيبها يشار له عادة في البيئة الرسومية بأيقونة على شكل مجلد لهذا يكثر تسميته مجلد في البرامج الرسومية وتغلب تسمية دليل في البرامج الأكثر احترافية

tipتلميح

للوصول إلى مجلد معين يكفي طباعة المسار في خانة الموقع , في الصندق الجانبي لمدير الملفات هناك خيار شجرة tree يقدم لك تمثيل للمجلدات على شكل شجرة قد يسهل الوصل للمكان الذي تريد

يرمز للمجلد البيت بـ ~ مثلا للوصل إلى Documents داخل بيتك اكتب ~/Documents أينما تكون فتذهب هناك مباشرة ويرمز لبيت ahmad ب ~ahmad/ ويرمز للدليل الحالي بـ ./ والدليل الأب له بـ ../

warningتحذير

تستطيع أن تقول أن كل شيء في لينكس حساس لحالة الحروف أهي كبيرة أم صغيرة وذلك ينطبق على أسماء الملفات أيضا لذا Documents تختلف عن documents

3.2.3 الملفات وصناديق الحوار

معظم برامج لينكس الرسومية تظهر صندوق حوار موحد الشكل للتعامل مع الملفات (فتح/حفظ) بحسب مكتبة الأدوات التي المستعملة. وفي الغالب أنت أمام نموذجين،أولهما نموذج mostif وهو الذي تجده في أغلب البرامج (وبشكل ملحوظ برامج غنوم) كما في هذا الشكل

warningتحذير

لا تضغط ENTER عند كتابة اسم مجلد أو Wildcard بل اضغط TAB ثم اختر الملف ثم ENTER

وقد يوجد (في غنوم 2.0 وما بعده شريط جانبي للذهاب للبيت أو سطح المكتب أو مجلد الوثائق والمستندات). النوع الآخر هو ذلك الخاص ب KDE (وهو يشبه ويندوز) في الأعلى تجد قائمة مجلدات المستويات الأعلى وبقربه أسهم (أمام وخلف وأعلى) ، ثم مساحة كبيرة تحتوي مجلدات وملفات إلى جانبها شريط للمجلدات المفضلة كالبيت أو سطح المكتب أو مجلد الوثائق.

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

openwith in KDE

يمكنك مدير الملفات من الدخول حتى على ملفات على أجهزة أخرى اكتب lan:/ في العنوان فهي تعرض لك شبكة برتوكول SMB مثل شبكة ويندوز (أيضاً بكتابة العنوان smb:// ) كما تعرض شبكات NFS (فقط في konqueror ) وشبكات FISH . والكثر من الخيارات مثل تصفح كتبات الاستعمال وذلك فقط بكتابة ال URI المناسب

windows network

3.1.4 خواص الملفات

في لينكس كل ملف له مستخدم مالك ومجموعة مالكة (أيضا كل مستخدم ينتمي لمجموعة واحدة على الأقل) يمكن أن تختلف المجموعة المالكة للملف عن المجموعة التي ينتمي لها مالك الملف ، وكل ملف له حقوق وصول للمالك وأخرى للمجموعة وأخرى للباقين تسمى الأذونات أو التراخيص وهي تجيب على هل يحق له قراءة الملف ؟ الكتابة فيه أوالتعديل عليه أو شطبه ؟ تنفيذ الملف ؟ افتح محرر نصوص وخزن ملف باسم test.txt انقر بالزر الأيمن عليه خذ properties ثم permessions انظر من مالك الملف (سيكون أنت بالطبع) ثم انظر إلى التراخيص (وهناك خاصية أخرى للمجلدات هي ثابت sticky أي لا يمكن حذفه ) وهناك تراخيص أخرى نشرحها لاحقاً

tipتلميح

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

إذا كنت لا ترى فائدة للمجموعات انظر هذا المثال جهاز يستخدمه معلمين وطلاب نعمل مجموعتين واحدة للمعلمين وأخرى للطلاب ووضع الطلاب في مجموعتهم المعلمين في مجموعتهم عندها يمكن لمعلم أن يعمل ملف لا يسمح لأحد برؤيته وملف آخر يراه المعلمون دون الطلاب وآخر يراه الجميع ، وآخر يراه الطلاب

warningتحذير

لا تعطي حق الكتابة في ملفاتك لأحد !! هذا يعني أنهم قد يشطبوها أو يعدلوا فيها

اذهب إلى البيت ثم أظهر الملفات المخفية (من قائمة عرض view) الملفات التي تبدأ بـ . (نقطة) تكون مخفية ، وهذا ليس لأنها سرية (جعل ملف سري يكون بتغير الأذونات) بل لأنها مزعجة أو لا يفترض بك أن تزعج نفسك بها ؛ لأنها ملفات إعدادات تقريبا كل برنامج في لينكس يحتفظ بإعدادته الخاصة بكل مستخدم في مجلد مخفي داخل بيت المستخدم (أما العامة لكل النظام فتكون في مجلد /etc ثم اسم البرنامج) عطل اظهار الملفات المخفية الآن و افتح محرر نصوص وخزن ملف باسم .test.txt أغلق الملف ثم اختر من قائمة ملف فتح لن ترى هذا الملف اكتب .في خانة اسم الملف ثم TAB حتى تصبح .test.txt سوف تستطيع فتحه وتعديله !!

tipتلميح

من المجلدات المخفية في بيتك مجلد ~/.themes حيث تضع ملفات المؤثرات هناك (مضغوطة كما هي أو بفك محتوياتها هناك) وأيضا المجلد المخفي ~/.xmms الذي يحتوي على المجلد ~/.xmms/skins الذي تضع فيه skins الخاصة ببرنامج xmms ويمكن أن تكون winamp skins

يمكن للملف أن يوجد في مكانين أو أكثر وبأسماء مختلفة دون شغل مساحة من القرص ، هذا ما يسمى بالرابط/الوصلة link وهو نوعان الرابط السهل (soft-link/symbolic-link) وهو عمل ملف يحتوي على مسار الملف الأصلي ووضع علامة خاصة عليه عندها تتعامل معه البرامج وكأنه الملف الأصلي فإذا عملت ملف على معالج النصوص في مجلد البيت ثم عملت وصلة له على سطح المكتب فإنها تتصرف كما لو كانت هي الملف الأصلي وتستطيع فتحها من داخل معالج النصوص ولكن إذا حذفت الملف الأصلي ستتوقف الوصلة عن العمل ولكن إذا حذف الوصلة وأبقيت الملف الأصلي لن يحدث شيء له ومن السهل معرفة هل هذا الملف رابط أم لا. والنوع الآخر هو الرابط القوي (hard link) ويتميز عن سابقه أنه لا يوجد فرق بين الملف الرابط وبين الملف الأصلي إنما هما اسمان لنفس البيانات على القرص، أي أن حذف أي منهما لا يؤثر على الآخر ومن الصعب تمييز هذا النوع من الروابط

اذهب إلى مجلد /mnt هذا المجلد يمثل ما يشبه ال My Computer داخله سترى مجلدات تمثل أقسام ويندوز والقرص المرن والمدمج وربما flash disk أو كاميرا رقمية أو أي جهاز آخر والتي تم ضمها (أي التعرف عليها واحتضانها/تحميلها) أي mounted file system وفي الحقيقة هذه مجلدات فارغة (إذا لم تكن كذلك يتم إخفاء ما بها حتى تلغي عملية الضم) ولكن تعمل النواة على إظهار محتويات الأجهزة المختلفة هناك باستعمال أمر mount ، وهذه الملفات ليست إلا ملفات افتراضية لا تشغل حيزاً من قسم لينكس وهناك أيضا مجلد /proc الذي يحتوي على معلومات من النواة مثل

وهذه ملفات نصية يمكنك رؤية محتواها وكل محتويات هذا المجلد افتراضي غير موجود في الحقيقة أيضا. ومن المجلدات المهمة /usr/share الذي يحتوي كل ملفات البرامج (الصور والخطوط والوثائق) وأحياناً الكثير من الوثائق الخاصة بها مثلا انظر /usr/share/lilo و /usr/share/themes و /usr/share/icons و /usr/share/pixmaps وهذه نظرة عامة على المجلدات

/bin يحتوي على الأوامر الأساسية التي ليس لها واجهة رسومية
/sbin يحتوي على أوامر إدارة النظام عادة الجذر فقط من ينفذها
/etc الإعدادات لكل المستخدمين التي تتحكم في كل البرامج
/lib يحتوي على المكتبات الأساسية
/tmp يحتوي على ملفات مؤقتة (مسودات) يتم حذفها عند إعادة التشغيل
/var تكتب فيه البرامج عن حالتها
/var/log التقارير التي تكتبها البرامج قد تشكل هذه أداتك لتتبع من يحاول اختراق نظامك وتساعدك على كشف الجاني
/usr من أكبر المجلدات يحتوي على مجلدات تخص البرامج التفاعلية الرسومية
/usr/bin برامج تنفيذية
/usr/sbin برامج تنفيذية للإدارة
/usr/lib مكتبات البرامج ولكنها قد تحتوي أحياناً مجلدات فرعية تحتوي وثائق أمثلة لبعض لغات البرمجة والمكتبات
/usr/X11R6 نواة النظام الرسومي ويتفرع عنه ما يتفرع عن usr
/usr/X11R6/bin برامج تنفيذية
/usr/X11R6/lib مكتبات
/usr/X11R6/etc إعدادات
/usr/doc الوثائق وملفات المساعدة الإضافية
/usr/share الصور والأصوات و ملفات المساعدة الخاصة بالبرامج مثلا /usr/share/gtk-doc وثائق تطوير برامج gtk
/usr/local البرامج الناتجة من ملف مصدري ، ملفات الخاصة بالترجمة ...
/usr/include ملفات headers للغة السي
/usr/man دليل الإستخدام (manual pages)
/usr/info معلومات مفصلة عن البرامج (info pages)

3.1.5 أنواع الملفات

تستطيع معظم برامج لينكس تمييز نوع الملف من تركيبه الداخلي دون الحاجة لكون ذلك الملف يحتوي على إمتداد مناسب كما لاحظنا سابقاً أن الملف يعتبر تنفيذي إذا كان لك الحق في تنفيذه ، وليس إذا كان له امتداد معين (.exe مثلا) والملفات التنفيذية ليس بالضرورة أن تكون ملفات ثنائية بلغة الآلة (compiled-binary) إذا من الممكن أن تكون ملفات نصية بلغة تفسيرية أو بلغة الآلة الإفتراضية كما في جافا أو لنظام آخر كما في wine ، وعند تنفيذ برنامج معين (بغض النظر عن الإمتداد) فإن النواة ستبحث في قاعدة بيانات خاصة اسمها (magic) تحتوي عن كيفية تمييز نوع الملف هل باستعمال الإمتداد أم باستعمال رقم خاص "الرقم السحري" وهو يشبه توقيع للدلالة على نوع الملف ثم تستخدم هذه المعلومات في تشغيل هذا الملف فإذا كان نص بلغة تفسيرية(script) تستدعي المفسر(intrpter) أو إذا كان بلغة آلة إفتراضية تستدعي برنامج الآلة الإفتراضية وتمرر لها الملف.

تعريب

extension (أو last period)
امتداد اسم الملف أو ما بعد آخر نقطة أو لاحقة أو المقطع الأخير من الاسم
period
مقطع من اسم الملف قبله نقطة

وأيضا برنامجا إدارة الملفات يمكنهما تمييز نوع الملف مثلا أن هذا ملف صورة من نوع jpeg دون أن يكون له الأمتداد .jpeg غير اسم ملف من نوع .jpeg ليصبح متداده .unknown أو أي شيء آخر ولاحظ كيف ستصرف nautilus (يمكن إعداده ليستعمل الإمتداد لأن هذا أسرع). أما الإمتدادات التي تراها فهي للتسهيل على المستخدم وليس على النظام ومنها مايلي:
.sh برنامج تنفيذي نصي بلغة تفسيرية يسمى Shell script
.gz ضغط ملفات باستخدام gzip
.bz2 أقوى ضغط للملفات باستخدام bzip2
.Z طريقة ضغط مستغدمة في أنظمة اليونكس القديمة يمكن ل gzip التعامل معها
.txt.gz ملف نصي مضغوط
.bmp.bz2 ملف صورة مضغوط
.tar ملف أرشيفي (يحول مجموعة ملفات إلى ملف واحد) دون ضغطها
.tar.gz
.tar.bz2
.zip
أرشيف مضغوط

3.1.6 الأرشفة والنسخ الإحتياطي

هناك الكثير من البرامج غير الرسومية للتعامل مع أرشيفات الملفات المضغوطة الشهيرة مثل zip و rar و arj وهذه بعض البرامج الرسومية

أما النسخ الإحتياطي فيمكن القيام بها بأدوات سطر الأوامر مثل tar و dd ولكن لمحبي البرامج الرسومية هذه بعض البرامج


<< السابق كتاب لينكس الشامل التالي >>