3.1 تنظيم الملفات
في هذا الفصل سنناقش أين ستخزن ملفاتك ؟ وأين تجد الملفات التي خزنتها ؟
وكيف تترتب الملفات ؟ وكيف تتفاعل مع صناديق الحوار التي
تتعلق بالملفات ؟ وما أهم أنواع الملفات ؟ وما أطوار صلاحيات الملفات ؟
اقتباسا هذا الفصل:
- "في يونكس هذا الشيء نسميه 'الدليل'، إنه يسمح لك بوضع أكثر من ملف
لها نفس الاسم على القرص"
-- Rik van Riel يوضح لماذا الدليل يعتبر مصطلحاً
أكثر نضجاً من المجلد.
- "من الخطأ أن تظن أن الدليل يجب أن يكون دليلاً."
-- لينوس تورفلدز
محتويات هذا الفصل:
3.1.1 ابدأ من بيتك!!
تجد على سطح المكتب (في KDE/GNOME) أيقونة على شكل بيت مكتوب عليها
Home شغّلها وسيفتح برنامج إدارة الملفات (nautilus في gnome و konqueror في kde)
ولهما نفس الوظيفة استعراض الملفات وعمليات
الجر والإسقاط و عملية القص واللصق
ونسخ الملفات وعرضها إذا كانت صور
وتشغيل ملفات الصوت وحتى تصفح الشبكة (الداخلية والإنترنت) أيضا
(كل هذه الوظائف ربما بسبب التنافس)
تلميح
تكمن أهمية هذا الموضوع في فلسفة لينكس بأن كل شيء يتعامل معه النظام
هو ملف ،منها ملفات حقيقية ومنها مجلدات ومنها ملفات وهمية
مثل ملفات معلومات النواة proc و الروابط
ومنها ما تؤدي وظيفة معقدة مثل أنابيب FIFO و مثل ملفات الأجهزة
(الفأرة و خرج كرت الصوت وغيرها الكثير)
فمثلا كل البيانات المرسلة إلى ملف /dev/dsp ستخرج من السماعة على شكل صوت بهذه البساطة
وتخفي الكثير من طلاسم وتعقيدات تصميم كروت الصوت
هذه يسمى encapsulation
تلميح
استخدم فطرتك في التعامل مع البرامج الرسومية ،
تستطيع جر أي شيء واسقاطه في أي مكان ،
انقر بالزر الأيمن على كل شيء ،
النسخ واللصق يعمل أيضاً بالمفاتيح الساخنة
CTRL+C,CTRL+V أو CTRL+INS,SHIFT+INS
تلميح
يمكنك تغير شكل برنامج nautilus بالذهاب إلى preferences
من قائمة view واختيار مؤثر مختلف
themes انظر art.gnome.org
ولكنها في غنوم الجديد أصبحت من مركز تحكم غنوم ثم themes ثم details ثم
icons
يمثل هذا البيت ما يشبه ال My Documents في ويندوز
ولكن لكل مستخدم بيت يختلف عن الآخر فأحمد لا يرى ما في بيت كمال
وهذا البيت هو الجزء المخصص لكل مستخدم ليضع فيه ملفاته الخاصة
ويفتح فيه مجلدات جديدة ويمكن للمستخدم أن يفعل مايريد داخل بيته
يشطب أي شيء هناك أما خارج بيته فليس له الحق بذلك
(توفر بعض التوزيعات في قوائمها أيقونة لتشغيل مدير الملفات
في طور الجذر حيث يمكنك أن تفعل ما تشاء -بعد أن تقدم كلمة السر- ولكن استخدامه
لا يعتبر عادة جيدة قد يفيدك في بدايات تعلمك للينكس ولكن عليك أن تتعود على أن
تظل مستخدم عادي أطول فترة ممكنة )
ويحتوي البيت مجلد باسم Desktop
يمثل سطح المكتب
تلميح
إذا نظرت إلى صورة البيت الخاص بالمستخدم 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 هو الذهاب إلى
المجلد الأب للمجلد الحالي
تلميح
المجلد /root هو المجلد البيت للمستخدم الجذر
وليس /home/root ولكن في بعض اليونكسات القديمة يكون
هو / فقط وتذكر لا تدخل باسم المستخدم الجذر root
تعريف
- الدليل Directory و المجلد Folder
-
نوع خاص من الملفات لا نخزن فيه بيانات بل هو
مكان توضع فيه الملفات الأخرى لتسهيل الوصول إليه بدلاً
من وضع كل الملفات في مكان واحد. تستخدم لفظة "مجلد"
عند الحديث عن البرامج الرسومية و"دليل" عند الحديث بنضج أكبر.
- المسار Pathname
-
هو الأدلة التي يجب أن تمر بها للوصول إلى الملف أو المجلد الفلاني
يفصل بينها / مثلا /home/ahmad
تعني ابدأ من الجذر ثم داخل المجلد home يوجد ahmad
هذا هو الملف المطلوب. هذا الاسم غير محبب في لينكس ونحب استعمال
اسم الملف المطلق absolute filename واسم الملف النسبي relative filename
تلميح
للوصول إلى مجلد معين يكفي طباعة المسار في خانة الموقع ,
في الصندق الجانبي لمدير الملفات هناك خيار شجرة tree
يقدم لك تمثيل للمجلدات على شكل شجرة قد يسهل الوصل للمكان الذي تريد
يرمز للمجلد البيت بـ ~ مثلا
للوصل إلى Documents داخل بيتك
اكتب ~/Documents أينما تكون فتذهب هناك مباشرة
ويرمز لبيت ahmad ب ~ahmad/
ويرمز للدليل الحالي بـ
./
والدليل الأب له بـ
../
تحذير
تستطيع أن تقول أن كل شيء في لينكس حساس لحالة الحروف أهي كبيرة أم صغيرة
وذلك ينطبق على أسماء الملفات أيضا
لذا Documents تختلف عن documents
3.2.3 الملفات وصناديق الحوار
معظم برامج لينكس الرسومية تظهر صندوق حوار موحد الشكل
للتعامل مع الملفات (فتح/حفظ) بحسب مكتبة الأدوات التي المستعملة. وفي الغالب
أنت أمام نموذجين،أولهما نموذج mosif وهو الذي تجده في أغلب
البرامج (وبشكل ملحوظ برامج غنوم) كما في هذا الشكل

- 1. خيارات لفتح مجلد أو حذف ملف أو تغيير اسمه
وهي مفيدة مثلاً إذا اكتشقت أنه لا يوجد دليل مناسب
لتضع الملف فيه فتقوم بمل واحد جديد ثم تخزن الملف بداخله.
- 2. الأدلة الأعلى (تستطيع بالنقر عليها الانتقال عدة مستويات للأعلى)
- 3. المجلدت المتفرعة من المجلد الحالي انقر نقراً مزدوجاً عليها للدخول فيه
(لاحظ وجود ‘..‘)
- 4. الملفات الموجودة في الدليل الحالي (وتحقق النموذج المطلوب)
انقر على إحداها فينتقل إلى 7
- 5. خيارات تعتمد على البرنامج فقد تكون تحديد نوع الملف
(هل تبحث عن صور png أم عن أصوات ogg )
- 6. أين أنا؟
- 7. المكان المخصص لكتابة اسم الملف الذي تريد.
هل قلت كتابة؟ ليس بالضرورة يمكنك أن تنقر على اسم الملف من قائمة 4.
ولكن الجيد في الموضوع هو وجود TAB للإكمال التلقائي
فإذا كنت تبحث عن ملف foobar اكتب fo ثم اضغط TAB فإنه سيكمل عنك
بقية الاسم فإذا كان هناك أكثر من خيار فإن القائمة 4 ستحدث لتحتوي الاحتمالات
التي تبدأ ب fo كما ويمكنك استعمال wildcards ثم ضغط TAB
- 8. موافق بمفتاح الإدخال Enter ، إلغاء بمفتاح ESC
تحذير
لا تضغط ENTER عند كتابة اسم مجلد أو Wildcard بل اضغط TAB ثم
اختر الملف ثم ENTER
وقد يوجد (في غنوم الحديث) شريط جانبي
للذهاب للبيت أو سطح المكتب أو مجلد الوثائق والمستندات.
النوع الآخر هو ذلك الخاص ب KDE (وهو يشبه ويندوز)
في الأعلى تجد قائمة مجلدات المستويات الأعلى وبقربها أسهم (أمام وخلف وأعلى) ،
ثم مساحة كبيرة تحتوي مجلدات وملفات إلى جانبها شريط
للمجلدات المفضلة كالبيت أو سطح المكتب أو مجلد الوثائق.
في لبداية تجد صوبة في التعامل مع هذه الصناديق
بعض البرامج تسمح لك بجر الملف إليها من مدير الملفات
(مثل تغيير الخلفية في غنوم)
وبعض البرامج يمكنك فتح الملفات بها بالنقر بالزر الأيمن على الملف في مدير
الملفات ثم اختيار Open with ثم اختيار البرنامج
|

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

|
3.1.4 خواص الملفات
في لينكس كل ملف له مستخدم مالك ومجموعة مالكة
(أيضا كل مستخدم ينتمي لمجموعة واحدة على الأقل)
يمكن أن تختلف المجموعة المالكة للملف عن
المجموعة التي ينتمي لها مالك الملف
، وكل ملف حدد صلاحيات (حقوق وصول) للمالك
وأخرى للمجموعة وأخرى للباقين تسمى الأذونات أو التراخيص
وهي تجيب على هل يحق له قراءة الملف ؟ الكتابة فيه أوالتعديل عليه أو شطبه ؟ تنفيذ الملف ؟
افتح محرر نصوص وخزن ملف باسم test.txt
انقر بالزر الأيمن عليه خذ properties ثم permissions
انظر من مالك الملف (سيكون أنت بالطبع) ثم انظر إلى التراخيص.
(قد ترى صلاحيات أخرى مثل دَبِق sticky والتي ليس لها معنى للملفات العادية
لكنها مفيدة للمجلدات إذ تعني أن محتويات المجلد لا يمكن
حذفها حتى من قبل من لهم صلاحيات بالكتابة فيها
باستثناء الجذر والمالك أهم استعمال لها هو مجلد /tmp)
وهذه الصلاحيات وغيرها سنناقشها لاحقاً.
تلميح
معنى التنفيذ بالنسبة للمجلدات هي امكانية البحث فيها
فإذا لم يسمح به هذا يعني أنك تصل فقط للملفات التي تعرف أسماءها مسبقا
لهذا عند تصفح هكذا مجلدات من البيئة الرسومية يظهر فارغاً
إذا كنت لا ترى فائدة للمجموعات انظر هذا المثال
جهاز يستخدمه معلمين وطلاب نعمل مجموعتين
واحدة للمعلمين وأخرى للطلاب
ووضع الطلاب في مجموعتهم المعلمين في مجموعتهم
عندها يمكن لمعلم أن يعمل ملف
لا يسمح لأحد برؤيته وملف آخر يراه المعلمون دون الطلاب
وآخر يراه الجميع ، وآخر يراه الطلاب
تحذير
لا تعطي حق الكتابة في ملفاتك لأحد !! هذا يعني أنهم قد يشطبوها
أو يعدلوا فيها
اذهب إلى البيت ثم أظهر الملفات المخفية (من قائمة عرض view)
الملفات التي تبدأ بـ . (نقطة) تكون مخفية ،
وهذا ليس لأنها سرية (جعل ملف سري يكون بتغيير الأذونات) بل لأنها مزعجة
أو لا يفترض بك أن تزعج نفسك بها ؛ لأنها ملفات إعدادات
تقريبا كل برنامج في لينكس
يحتفظ بإعدادته الخاصة بكل مستخدم
في مجلد مخفي داخل بيت المستخدم
(أما العامة لكل النظام فتكون في مجلد /etc ثم اسم البرنامج)
عطل اظهار الملفات المخفية الآن و افتح محرر نصوص وخزن ملف باسم
.test.txt
أغلق الملف ثم اختر من قائمة ملف فتح
لن ترى هذا الملف
اكتب .في خانة اسم الملف ثم TAB
حتى تصبح .test.txt
سوف تستطيع فتحه وتعديله !!
تلميح
من المجلدات المخفية في بيتك مجلد
~/.themes
حيث تضع ملفات المؤثرات هناك
(مضغوطة كما هي أو بفك محتوياتها هناك)
وأيضا المجلد المخفي
~/.xmms
الذي يحتوي على المجلد
~/.xmms/skins
الذي تضع فيه skins الخاصة ببرنامج xmms ويمكن أن تكون
winamp skins
يمكن للملف أن يوجد في مكانين أو أكثر وبأسماء مختلفة دون شغل مساحة من القرص ،
هذا ما يسمى بالرابط/الوصلة
link وهو نوعان الرابط السهل (soft-link/symbolic-link)
وهو عمل ملف يحتوي على اسم الملف الأصلي (أي مساره) ووضع علامة خاصة عليه
عندها تتعامل معه البرامج وكأنه الملف الأصلي
فإذا عملت ملف على معالج النصوص في مجلد البيت
ثم عملت وصلة له على سطح المكتب
فإنها تتصرف كما لو كانت هي الملف الأصلي
وتستطيع فتحها من داخل معالج النصوص
ولكن إذا حذفت الملف الأصلي ستتوقف الوصلة عن العمل
ولكن إذا حذف الوصلة وأبقيت الملف الأصلي لن يحدث شيء له
ومن السهل معرفة هل هذا الملف رابط أم لا.
والنوع الآخر هو الرابط القوي (hard link)
ويتميز عن سابقه أنه لا يوجد فرق بين الملف الرابط وبين الملف الأصلي
إنما هما اسمان لنفس البيانات على القرص،
أي أن حذف أي منهما لا يؤثر على الآخر
ومن الصعب تمييز هذا النوع من الروابط، الفرق الآخر بين النوعين
أنه يمكن عمل وصلات سهلة symbolic-link لملفات على أجهزة أخرى (في قسم آخر)
أو لملفات غير موجودة لحظة عملها على عكس الروابط القوية، فرق أقل أهمية
أن الرابط السهل يحتل مساحة (وإن كانت صغيرة) لتخزن اسم الملف الذي يشير إليه
على عكس القوي الذي لا يحتاج أي مساحة إضافية.
اذهب إلى مجلد /mnt
هذا المجلد يمثل ما يشبه ال My Computer
داخله سترى مجلدات تمثل أقسام ويندوز والقرص المرن والمدمج
وربما flash disk أو كاميرا رقمية أو أي جهاز آخر
والتي تم ضمها (أي التعرف عليها واحتضانها/تحميلها) أي mounted file system
وفي الحقيقة هذه مجلدات فارغة (إذا لم تكن كذلك يتم إخفاء ما بها حتى تلغي عملية الضم) ولكن تعمل النواة على إظهار
محتويات الأجهزة المختلفة هناك باستعمال أمر mount ، وهذه
الملفات ليست إلا ملفات افتراضية لا تشغل حيزاً من قسم لينكس
وهناك أيضا مجلد /proc الذي يحتوي على معلومات
من النواة مثل
- cpuinfo معلومات مفصلة عن المعالج
- uptime الفترة التي بقي الجهاز فيها بدون اعادة تشغيل
- loadavg مقدار الضغط على الجهاز
- mounts أنظمة الملفات التي المضومه
- filesystems أنظمة الملفات التي يمكنه التعامل معها
وهذه ملفات نصية يمكنك رؤية محتواها
وكل محتويات هذا المجلد افتراضي غير موجود في الحقيقة أيضا.
ومن المجلدات المهمة /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/share/locale'.
|
| /usr/local |
البرامج خارج سيطرة نظام إدارة الحزم، مثل الناتجة من ملف مصدري ، ...
|
| /usr/include |
ملفات headers للغة السي
|
| /usr/man |
دليل الإستخدام (manual pages)
|
| /usr/info |
معلومات مفصلة عن البرامج (info pages)
|
|
3.1.5 أنواع الملفات
تستطيع معظم برامج لينكس تمييز نوع الملف من تركيبه الداخلي
دون الحاجة لكون ذلك الملف يحتوي على إمتداد مناسب
كما لاحظنا سابقاً أن الملف يعتبر تنفيذي إذا
كان لك الحق في تنفيذه ، وليس إذا كان له امتداد معين (.exe مثلا)
والملفات التنفيذية ليس بالضرورة أن تكون ملفات
ثنائية بلغة الآلة (compiled-binary) إذا من الممكن أن
تكون ملفات نصية بلغة تفسيرية أو بلغة الآلة الإفتراضية كما في جافا
أو لنظام آخر كما في wine ،
وعند تنفيذ برنامج معين (بغض النظر عن الإمتداد) فإن
النواة ستبحث في قاعدة بيانات خاصة اسمها (magic)
تحتوي عن كيفية تمييز نوع الملف
هل باستعمال الإمتداد أم باستعمال رقم خاص "الرقم السحري" وهو
يشبه توقيع للدلالة على نوع الملف
ثم تستخدم هذه المعلومات في تشغيل هذا الملف
فإذا كان نص بلغة تفسيرية(script) تستدعي المفسر(interpreter)
أو إذا كان بلغة آلة إفتراضية تستدعي برنامج الآلة الإفتراضية
وتمرر لها الملف.
تعريب
- 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
وهذه بعض البرامج الرسومية
- arc من KDE
- file-roller من غنوم
- guitar برنامج صغير وخفيف
أما النسخ الإحتياطي فيمكن القيام بها بأدوات سطر الأوامر
مثل tar و dd ولكن لمحبي البرامج الرسومية هذه بعض البرامج
- Mondo Rescue
برنامج يصنع صورة للقرص الصلب على القرص المدمج
أقلع(يعني boot) عليها فتقوم بشكل تلقائي بالإسترجاع
- PartImage
بأخذ صورة مضغوطة للقرص ويدعم أكثر من نظام ملفات
|