مشاهدة النسخة كاملة : في رحاب اللينوكس ........
o3yoon syr
03-21-2008, 12:22 PM
بسم الله الرحمن الرحيم
بصراحة الوضوع التالي منقول من موقع أشارت إليه حبيبة قلبي asoma في أحد ردودها على أحد الموضيع ولأني ما بعرف ليش ما بقدر افتح هيك مواقع عن طريق المنتدى ففتحت الموقع عن طري جوجل ولقيت في شغلات كتير حلوة ، ما رح طول عليكم هدا يللي لقيتو بالموقع
ما هو " لينوكس Linux "؟ 4smil
فيما يلي البنود التي سيتم تداولها في هذا الموضوع و هو عبارة عن مقدمة للتعرف على نظام لينوكس:
1- عرض للخطوات التي مرت بها عملية تطوير نظام التشغيل " لينوكس ".
2- سرد لمكونات نظام التشغيل " لينوكس ".
لينوكس هو نظام تشغيل مجاني قائم على أوامر يونكس ، و هو مخصص للأجهزة الشخصية و يدعم الإنترنت، و قد تطور هذا النظام بسرعة فائقة و حصل على شعبية كبيرة.
و من الأسباب الرئيسية لانتشار هذا النظام ، هو إمكانية الحصول عليه مجانا من الإنترنت أو على أقراص مضغوطة بأسعار رمزية.
من المزايا العظيمة لهذا النظام أداؤه المتفوق عند تشغيله على كل من الأجهزة المتطورة و تلك ذات المواصفات المتواضعة، كما أنها تستطيع العمل مع الأجهزة التي تعتمد 32 بت أو تلك التي تعتمد 64 بت.
تم تطوير لب اللينوكس ( Linux Kernel ) على يد طالب في علوم الكمبيوتر في مدينة هلسنكي في فنلندا و اسمه Linus Torvalds، و قد ظهر الإصدار الأول من لينوكس عام 1991 و حمل الرقم 0.02.في ذلك الوقت لم يكن Linus راضيا عن واقع أنظمة التشغيل المتوفرة حينها ، فقد كانت باهظة الثمن و مشاكلها عديدة، لهذا قرر كتابة نظام تشغيل جديد متبعا لتصميم نظام التشغيل يونكس UNIX (ظهر هذا النظام عام 1969).
حقق تطوير لينوكس إنجازا كبيرا في سوق أنظمة التشغيل، فحتى ذلك الوقت كانت أنظمة التشغيل مغلقة، بالإضافة الى كونها مطورة و مملوكة من قبل شركات كبيرة، أما لينوكس فلم يطور ليكون نظام تشغيل تجاري، بل على العكس فقد طور وفقا لسياسة تطوير الأنظمة المفتوحة open-system development policy و التي تسمح للمتطوعين من أي مكان من العالم أن يساهموا في تطوير لينوكس، حيث تم توفير الشيفرة المصدرية للنظام مجانا لكل من يرغب في المساهمة في تطويره. و منذ ظهور الإصدار الأول من لينوكس و الى وقتنا الحالي ما زال هذا النظام يوزع مجانا.
و قد لعب مشروع ((GNU is Not UNIX (GNU) دورا بارزا في تطوير لينوكس، و تتلخص مهمة هذا المشروع في توفير مجموعة من البرامج المكتوبة لأنظمة يونكس و يتم توزيع شيفرتها المصدرية مجانا، و قد ظهر هذا المشروع عام 1983 كمحاولة لبث روح المنافسة من جديد في مجتمعات الحاسب، و للتغلب على العوائق التي أحدثتها قيود الملكية على البرامج و الأنظمة.
خلال فترة التسعينيات من القرن العشرين و لإكمال نظام التشغيل لينوكس تم دمج البرامج التي أنتجت بواسطة مشروع GNU مع لب لينوكس Linux Kernel، مما أدى إلى ظهور نظام تشغيل متكامل.
عندما أصبح Linus Torvalds مستعدا لإصدار نظام تشغيله لينوكس، قرر أن يجعل شيفرته المصدرية متوفرة من خلال إجازة الاستخدام العام General Public License (GPL) و التي تسمح بتوزيع و تعديل البرامج المجانية مع الالتزام بتوفيرها مجانا بعد التعديل، مما يعني أن المستخدمين أو المطورين لهم الحرية في التعديل على البرنامج و بيعه مقابل عائد مالي على شرط توفير الشيفرة المصدرية له مجانا بعد التعديل لجميع المستخدمين الآخرين، و لكن بجب التنبيه إلى أن حقوق النسخ للب لينوكس مملوكة ل Linus Torvalds و أي تغيير في اللب يجب أن يوافق عليه.
نستنتج مما سبق أنه لا توجد مؤسسة بعينها مسئولة عن تطوير لينوكس، بل على العكس يشارك متطوعون من كل مكان عبر الإنترنت باستمرار في تطويره، و نظرا لذلك فإن أي مشاكل قد تظهر في النظام لا يكاد يمر وقت قصير حتى تجد الحلول لها قد تدفقت من كل مكان، لهذا فإن الشوائب التي تظهر في النظام يتم التغلب عليها بشكل أسرع من أي نظام آخر، لهذا فإن مستخدم لينوكس ينصح بأن يتابع الجديد من أخبار نظامه من الإنترنت حيث يتوفر باستمرار تحديثات و برامج و غيرها من كل مكان في العالم.
يتكون نظام تشغيل لينوكس من مجموعة من الطبقات، فبالإضافة إلى لب النظام فإنه يحتوي على العديد من البرامج و التطبيقات التي طورها مستخدمون من كل مكان في العالم.
يوفر اللب خدمات أساسية لباقي أجزاء النظام، فهو يتفاعل مع العتاد بشكل مباشر ليتحكم بإدارة الذاكرة و يوفر الخدمات الضرورية لبرامج المستخدم.
يستطيع لينوكس التعامل مع أي عتاد Hardware و إن كان في بعض الأحيان يحتاج الى تعديل في لبه Kernel ليتمكن من ذلك.
كثير من برامج لينوكس المدمجة فيه تم استعارتها من Berkeley Software Distribution (BSD) و هو إصدار سابق من يونكس، كما أن لينوكس يدعم أغلب خصائص يونكس و البرامج المكتوبة له.
عندما تدخل log in إلى لينوكس فإن برنامجا يسمى shell أو الصدفة يعمل تلقائيا و يوفر الواجهة الابتدائية بين المستخدم و نظام التشغيل، حيث توفر هذه الصدفة الحماية للب النظام بأن تعمل كطبقة بين اللب و التطبيق أو البرنامج الذي يعمل على النظام، و توفر للمستخدم البيئة لكتابة الأوامر و تقوم هي بتنفيذها باستخدام اللب، يستجيب اللب للصدفة و تستجيب هي بدورها للمستخدم، و هكذا يستطيع المستخدم تشغيل البرامج و الوصول الى الملفات و إدارتها من خلال هذه الصدفة. تتوفر عدة صدفات لليونكس و لكن أشهرها هي GNU Bourne Again Shell (bash).تستطيع التعامل مع الصدفة بإدخال الأوامر بشكل متتابع أو إعداد ملف يسمى shell script يحتوي على مجموعة من الأوامر، كي يتم تنفيذها بشكل تلقائي عند تشغيله.
بمجرد دخولك الى لينوكس، فإن مشغلات الأجهزة device drivers (و التي تستخدم للاتصال مع الأجهزة مثل الأقراص الصلبة و غيرها) يتم تجهيزها تلقائيا، يقوم بعدها اللب بتشغيل بعض البرامج في الخلفية دون تدخل من المستخدم و يطلق على هذه البرامج اسم Daemons و هي تنفذ مهام تتعلق بالنظام.
بالرغم من أن لينوكس يستخدم على الأنظمة ذات المستخدم الواحد فإنه قد تم تصميمه أصلا ليستخدم في البيئات متعددة المستخدمين، و حيث أن لينوكس يعتبر من أنظمة التشغيل متعددة المهام multitasking (أي أن أكثر من برنامج يمكن أن يعمل في نفس الوقت)، فهذا يجعله نظام مثالي للشبكات، و خاصة أنه يدعم بروتوكولات التشبيك الأساسية مثل:
1- Transmission Control Protocol/Internet Protocol (TCP/IP)و الذي يسمح بالإتصال عبر شبكة الإنترنت و استخدام البريد الإلكتروني.
2- UNIX-to-UNIX copy program (UUCP)و الذي يستخدم لنقل الملفات و تبادلها بين أجهزة يونكس.
3- Network File Systems (NFS).
4- File Transfer Protocol (FTP).
من العوامل التي ساهمت في نجاح لينوكس هو استخدامه لنظام X Windows و الذي طور عام 1984 و هو عبارة عن نظام نوافذ يسهل تفاعل المستخدم مع نظام التشغيل من خلال واجهة المستخدم الرسومية بدلا من نافذة الأوامر السوداء، مما يعطي المستخدم بيئة عمل شبيهة بالويندوز، هناك عدة إصدارات من X Windows و لكن أشهرها هو XFree86.
و في نهاية هذه الحلقة أحب أن أطمئن المستخدمين الجدد الراغبين بالتعرف على هذا النظام، أن لينوكس يستطيع العمل على الجهاز دون التأثير على الأنظمة التي تعمل عليه مثل ويندوز بمختلف إصداراته، مما يعني أنك تستطيع أن تشغل كلا من الويندوز و لينوكس على نفس الجهاز دون أي مشاكل
o3yoon syr
03-29-2008, 09:50 AM
أوامر لينوكس
أولا: أوامر أساسية
سوف نحاول في هذه الموضوع التعرف على بعض الأوامر الأساسية المستخدمة في نظام لينوكس، و يمكن تشبيه هذه الأوامر بتلك التي تستخدم في الدوس في بيئة ويندوز، و قد حرصت على شرح هذه الأوامر بالرغم من إمكانية تطبيقها من خلال الواجهة الرسومية لأن التعرف على هذه الأوامر و إتقانها يساهم في تكوين و إعداد مستخدمين محترفين لهذا النظام الجديد على كثير منا.
إننا نستطيع الوصول الى موجه الأوامر من خلال تشغيل Terminal بالضغط على أيقونته في شريط المهام.
نستطيع استخدام الكثير من الأوامر مع لينوكس، حيث تبدأ هذه الأوامر باسم الأمر و يمكن أن يتبع بخيارات أو متغيرات، مع الفصل بين الأوامر بفراغ واحد أو أكثر فلينوكس لا يهتم بعدد الفراغات بين الأوامر، و لكن عليك التنبه من حالة الأحرف هل هي صغيرة أو كبيرة لأن لينوكس يفرق بين USERADD و useradd.
من الأوامر الأولى التي علينا تعلمها هي تلك التي تساعدنا في تصفح نظام الملفات.
نظام الملفات الافتراضي في لينوكس يبدو كما يلي:
حيث يرمز للمجلد الرئيسي بـ( / ) و يطلق عليه الجذر أو root و يندرج تحته مجموعة من المجلدات مثل boot و home و usr و يمكن أن يحتوي على غيرها.
عندما تدخل الى النظام فإنك بشكل تلقائي تكون داخل مجلد يحمل اسمك و يكون داخل المجلد home كما في الصورة التالية:
أما من خلال نافذة Terminal فسيتم التعبير عن موقعك كما يلي:
$[tcc@home tcc]
و تشرح الصورة التالية هذا التعبير:
و يشير الرمز $ الى أن المستخدم الحالي ليس مديرا أما إذا تم الدخول كمدير أو root فإن الرمز سيكون # بينما اسم المستخدم فسيعبر عنه ب root.
إذا كنت موجودا في أي مجلد كان و تريد أن تعرف مكانك فبإمكانك استخدام الأمر pwd و هو اختصار ل print current working directory و من ثم تضغط على Enter و عندها ستحصل على المسار الحالي الذي توجد داخله، فإذا قمت بذلك من داخل المجلد الافتراضي فستظهر لك النتيجة التالية:
/home/tcc
طبعا سيظهر اسمك بدلا من tcc.
إذا رغبت بمعرفة مساحة القرص الفارغة المتوفرة على نظام ملفاتك فاستخدم الأمر df و ستحصل على النتيجة التالية:
للتغيير الى مجلد ما تستطيع استخدام الأمر cd متبوعا باسم مجلد موجود داخل المجلد الحالي أو المسار الكامل لأي مجلد.
فإذا افترضنا وجود مجلد اسمه Islam موجود داخل المجلد الحالي tcc، فلكي ننتقل إليه نستخدم الأمر:
cd tcc
أما إذا رغبنا بالانتقال الى مجلد آخر اسمه Palestine موجود داخل المجلد Jihad داخل المجلد usr فنستخدم الأمر التالي:
cd /usr/Jihad/Palestine
تستطيع في أي وقت العودة الى مجلدك الافتراضي ( tcc في مثالنا الحالي) باستخدام الأمر cd دون أي إضافة.
أما إذا رغبت في التوجه الى المجلد الرئيسي root فاستخدم الأمر:
/ cd
أما للعودة الى المجلد السابق الذي كنت تتصفحه فاستخدم الأمر:
- cd
أما للانتقال الى مجلد أعلى مثلا من المجلد tcc الى المجلد home فاستخدم الأمر:
.. cd
للتعرف على المستخدمين الموجودين حاليا في النظام تستطيع استخدام الأمر who و ستحصل على أسماء المستخدمين و وقت ولوجهم الى النظام، أما إذا استخدمت الأمر finger فستحصل على معلومات إضافية مثل الاسم الحقيقي لكل مستخدم و موقع تواجده حاليا، فإذا رغبت بالمزيد من المعلومات مثل الأوامر التي يشغلها كل مستخدم فاستخدم الأمر w.
للتعرف على معلومات عن نفسك فاستخدم الأمر id كما تستطيع تغيير معلوماتك التي تظهر لغيرك من المستخدمين عند استخدامهم للأمر finger، بأن تستخدم الأمر chfn
تستطيع معرفة الوقت و التاريخ باستخدام الأمر date ، و إذا رغبت بالحصول على تقويم شهري فاستخدم الأمر cal و إذا أحببت الحصول على التقويم الشهري لعام محدد فاستخدم الأمرcal متبوعا بالعام المطلوب كما في المثال التالي:
cal 2002
للحصول على قائمة بمحتويات مجلد ما تستطيع استخدام الأمر ls و هو اختصار ل list، فإذا استخدمت هذا الأمر دون أي إضافات فستحصل على محتويات المجلد الحالي الذي تعمل عليه، أما إذا رغبت بمعرفة محتويات مجلد معين فعليك تحديد مساره كاملا، فلمعرفة محتويات المجلد Palestine فاستخدم الأمر التالي:
ls /usr/Jihad/Palestine
أما إذا رغبت بالحصول على معلومات تفصيلية عن محتويات المجلد فاستخدم الأمرls –l كما يلي:
ls –l /usr/Jihad/Palestine
أما إذا رغبت بالحصول على قائمة محتويات مصنفة فاستخدم الأمر ls –F و انتبه أن الحرف هو F و ليس f.
لتمييز الملفات القابلة للتنفيذ عند سرد محتويات أي مجلد سنجد أن الملف القابل للتشغيل قد ألحق الرمز * بنهايته مثلا ملف تشغيل Yahoo Messenger ستجده بهذا الشكل:
*ymessenger
إذا رغبت بالحصول على قائمة بجميع الملفات في المجلد بما فيها الملفات المخفية فاستخدم الأمر ls –a و عندها ستظهر جميع الملفات حتى المخفية و التي سيتميز اسمها بأنه يبدأ بنقطة كمثال :
bashrc.
للحصول على قائمة محتويات مرتبة وفقا لوقت إنشائها الأحدث فالأقدم استخدم الأمر ls –t ، أما لعكس الترتيب (الأقدم فالأحدث) فاستخدم الأمر التالي:
ls –tr
تستطيع دمج أكثر من خيار مع الأمر ls ، فمثلا للحصول على قائمة تفصيلية للمحتويات مرتبة زمنيا بشكل عكسي نستخدم الأمر كما يلي:
ls –ltr
أحيانا عند البحث عن ملف معين أو مجموعة من الملفات قد لا تتذكر الاسم المضبوط له أو المعلومات التي يحتويها بالضبط، فمثلا قد تبحث عن ملف أسماء الصحابة و لكنك لا تستطيع أن تتذكر اسم الملف هل هو sahaba أو sa7aba أو assahaba، و مثال آخر أنك تود البحث عن جميع الملفات التي تحتوي على معلومات معينة مثل اسم Mohammed و هكذا. للتغلب على مثل هذه المشاكل نستخدم بعض الرموز مع أوامر لينوكس لتسهل علينا الوصول الى غايتنا كما يلي:
1- الرمز ? عند استخدامه فإنه يرمز لأي حرف فمثلا لنفترض أننا نريد أن نبحث عن ملف اسمه مكون من 3 أحرف و لكن نسينا الحرف الأوسط فاستخدمنا الأمر التالي:
ls b?g
فحصلنا على قائمة تحتوي على أسماء جميع الملفات المكونة من 3 أحرف و تبدأ بالحرف b و تنتهي بالحرف g بغض النظر عن الحرف الأوسط، لهذا قد نحصل على قائمة بالملفات التالية مثلا:
bag bug big
مثال آخر نود الحصول على قائمة بأسماء الملفات المكونة من 5 أحرف، لهذا الغرض نستخدم الأمر التالي:
????? ls
2- الرمز * و هو يرمز لأي عدد من الأحرف أو الرموز التي تليه فمثلا إن استخدمنا الأمر التالي:
*ls mon
فسنحصل على قائمة بأسماء جميع الملفات التي تبدأ ب mon بغض النظر عن باقي الاسم كمثال قد نحصل على قائمة بالملفات التالية:
monday month money
3- القوسين [] و عند استخدامهما يتم اعتماد أي حرف أو رمز من ضمن الأحرف أو الرموز المحصورة بينهما فمثلا إذا استخدمنا الأمر التالي:
ls [Ss]hare
فسنحصل على قائمة بالملفات التالية:
Share share
أما إذا استخدمنا الأقواس بهذا الشكل [a-f] فسيتم اعتماد أي حرف بين a و f فمثلا عند استخدام الأمر التالي:
Ls b[a-f]g
فسنحصل على قائمة بأسماء جميع الملفات التي تبدأ ب b و تنتهي ب g بينما الحرف الأوسط قد يكون أي حرف في المدى بين الأحرف a و f كمثال قد نحصل على قائمة بالملفات التالية:
bag beg
أما إذا استخدمنا الرمز ^ كأول رمز بين القوسين فهذا يعني أنه ينطبق على أي حرف ما عدى الأحرف التي تلي الرمز بين القوسين، كمثال إذا استخدمنا الأمر التالي:
ls b[^a,f]g
فسنحصل على قائمة بأسماء الملفات التي تبدأ ب الحرف b و تنتهي ب g بينما الحرف الأوسط سيكون أي حرف ما عدى الحرفين a و f و كمثال قد نحصل على قائمة بالملفات التالية:
big beg
للبحث عن نص معين في ملف معين أو في مجموعة من الملفات نستخدم الأمر grep و هو اختصار ل global regular expression parse و هو قد يستخدم مع مجموعة من الرموز كما يلي و التي يجب أن تكتب بين علامتي " ":
1- الرمز ^ و هو يستخدم للبحث عن الأحرف أو الرموز التي تليه إذا جاءت في بداية أي سطر في ملف محدد أو في مجموعة من الملفات، فمثلا إذا رغبنا بالبحث في جميع الملفات داخل مجلد عن الكلمة Muslims على أن تكون في بداية السطر سنكتب الأمر كما يلي:
"grep "^Muslims
في هذا المثال يتم البحث في جميع الملفات، أما إذا رغبنا بالبحث في ملف معين فعلينا كتابة اسم الملف كمثال:
grep "^Muslims" ghutha.txt
و عندها ستظهر الأسطر التي تبدأ بكلمة Muslims في الملف ghutha.txt.
كما نستطيع البحث في نوع محدد من الملفات فمثلا للبحث في الملفات من النوع txt فقط نستخدم الأمر كما يلي:
grep "^Muslims" *.txt
أما إذا استخدمت الأمر و لكن دون استخدام الرمز ^ فستحصل على جميع الأسطر التي تحتوي على الكلمة Muslims في الملف المحدد أو في مجموعة الملفات.
2- الرمز $ و هو يستخدم للبحث عن الأحرف أو الرموز التي تسبقه إذا جاءت في نهاية أي سطر في ملف محدد أو في مجموعة من الملفات، فمثلا إذا رغبنا بالبحث في جميع الملفات داخل مجلد عن الكلمة Mecca على أن تكون في نهاية السطر سنكتب الأمر كما يلي:
'$grep 'Mecca
نلاحظ أنه عند استخدام الأمر grep مع الرمز $ فإننا نستخدم علامتي ' ' المفردة و ليس " ".
بهذا نأتي الى نهاية هذه الحلقة و نلتقي قريبا إن شاء الله مع المزيد من الأوامر.
o3yoon syr
03-29-2008, 10:03 AM
أوامر لينوكس
أولا: أوامر أساسية
سوف نحاول في هذه الموضوع التعرف على بعض الأوامر الأساسية المستخدمة في نظام لينوكس، و يمكن تشبيه هذه الأوامر بتلك التي تستخدم في الدوس في بيئة ويندوز، و قد حرصت على شرح هذه الأوامر بالرغم من إمكانية تطبيقها من خلال الواجهة الرسومية لأن التعرف على هذه الأوامر و إتقانها يساهم في تكوين و إعداد مستخدمين محترفين لهذا النظام الجديد على كثير منا.
إننا نستطيع الوصول الى موجه الأوامر من خلال تشغيل Terminal بالضغط على أيقونته في شريط المهام.
نستطيع استخدام الكثير من الأوامر مع لينوكس، حيث تبدأ هذه الأوامر باسم الأمر و يمكن أن يتبع بخيارات أو متغيرات، مع الفصل بين الأوامر بفراغ واحد أو أكثر فلينوكس لا يهتم بعدد الفراغات بين الأوامر، و لكن عليك التنبه من حالة الأحرف هل هي صغيرة أو كبيرة لأن لينوكس يفرق بين USERADD و useradd.
من الأوامر الأولى التي علينا تعلمها هي تلك التي تساعدنا في تصفح نظام الملفات.
نظام الملفات الافتراضي في لينوكس يبدو كما يلي:
حيث يرمز للمجلد الرئيسي بـ( / ) و يطلق عليه الجذر أو root و يندرج تحته مجموعة من المجلدات مثل boot و home و usr و يمكن أن يحتوي على غيرها.
عندما تدخل الى النظام فإنك بشكل تلقائي تكون داخل مجلد يحمل اسمك و يكون داخل المجلد home كما في الصورة التالية:
أما من خلال نافذة Terminal فسيتم التعبير عن موقعك كما يلي:
$[tcc@home tcc]
و تشرح الصورة التالية هذا التعبير:
و يشير الرمز $ الى أن المستخدم الحالي ليس مديرا أما إذا تم الدخول كمدير أو root فإن الرمز سيكون # بينما اسم المستخدم فسيعبر عنه ب root.
إذا كنت موجودا في أي مجلد كان و تريد أن تعرف مكانك فبإمكانك استخدام الأمر pwd و هو اختصار ل print current working directory و من ثم تضغط على Enter و عندها ستحصل على المسار الحالي الذي توجد داخله، فإذا قمت بذلك من داخل المجلد الافتراضي فستظهر لك النتيجة التالية:
/home/tcc
طبعا سيظهر اسمك بدلا من tcc.
إذا رغبت بمعرفة مساحة القرص الفارغة المتوفرة على نظام ملفاتك فاستخدم الأمر df و ستحصل على النتيجة التالية:
للتغيير الى مجلد ما تستطيع استخدام الأمر cd متبوعا باسم مجلد موجود داخل المجلد الحالي أو المسار الكامل لأي مجلد.
فإذا افترضنا وجود مجلد اسمه Islam موجود داخل المجلد الحالي tcc، فلكي ننتقل إليه نستخدم الأمر:
cd tcc
أما إذا رغبنا بالانتقال الى مجلد آخر اسمه Palestine موجود داخل المجلد Jihad داخل المجلد usr فنستخدم الأمر التالي:
cd /usr/Jihad/Palestine
تستطيع في أي وقت العودة الى مجلدك الافتراضي ( tcc في مثالنا الحالي) باستخدام الأمر cd دون أي إضافة.
أما إذا رغبت في التوجه الى المجلد الرئيسي root فاستخدم الأمر:
/ cd
أما للعودة الى المجلد السابق الذي كنت تتصفحه فاستخدم الأمر:
- cd
أما للانتقال الى مجلد أعلى مثلا من المجلد tcc الى المجلد home فاستخدم الأمر:
.. cd
للتعرف على المستخدمين الموجودين حاليا في النظام تستطيع استخدام الأمر who و ستحصل على أسماء المستخدمين و وقت ولوجهم الى النظام، أما إذا استخدمت الأمر finger فستحصل على معلومات إضافية مثل الاسم الحقيقي لكل مستخدم و موقع تواجده حاليا، فإذا رغبت بالمزيد من المعلومات مثل الأوامر التي يشغلها كل مستخدم فاستخدم الأمر w.
للتعرف على معلومات عن نفسك فاستخدم الأمر id كما تستطيع تغيير معلوماتك التي تظهر لغيرك من المستخدمين عند استخدامهم للأمر finger، بأن تستخدم الأمر chfn
تستطيع معرفة الوقت و التاريخ باستخدام الأمر date ، و إذا رغبت بالحصول على تقويم شهري فاستخدم الأمر cal و إذا أحببت الحصول على التقويم الشهري لعام محدد فاستخدم الأمرcal متبوعا بالعام المطلوب كما في المثال التالي:
cal 2002
للحصول على قائمة بمحتويات مجلد ما تستطيع استخدام الأمر ls و هو اختصار ل list، فإذا استخدمت هذا الأمر دون أي إضافات فستحصل على محتويات المجلد الحالي الذي تعمل عليه، أما إذا رغبت بمعرفة محتويات مجلد معين فعليك تحديد مساره كاملا، فلمعرفة محتويات المجلد Palestine فاستخدم الأمر التالي:
ls /usr/Jihad/Palestine
أما إذا رغبت بالحصول على معلومات تفصيلية عن محتويات المجلد فاستخدم الأمرls –l كما يلي:
ls –l /usr/Jihad/Palestine
أما إذا رغبت بالحصول على قائمة محتويات مصنفة فاستخدم الأمر ls –F و انتبه أن الحرف هو F و ليس f.
لتمييز الملفات القابلة للتنفيذ عند سرد محتويات أي مجلد سنجد أن الملف القابل للتشغيل قد ألحق الرمز * بنهايته مثلا ملف تشغيل Yahoo Messenger ستجده بهذا الشكل:
*ymessenger
إذا رغبت بالحصول على قائمة بجميع الملفات في المجلد بما فيها الملفات المخفية فاستخدم الأمر ls –a و عندها ستظهر جميع الملفات حتى المخفية و التي سيتميز اسمها بأنه يبدأ بنقطة كمثال :
bashrc.
للحصول على قائمة محتويات مرتبة وفقا لوقت إنشائها الأحدث فالأقدم استخدم الأمر ls –t ، أما لعكس الترتيب (الأقدم فالأحدث) فاستخدم الأمر التالي:
ls –tr
تستطيع دمج أكثر من خيار مع الأمر ls ، فمثلا للحصول على قائمة تفصيلية للمحتويات مرتبة زمنيا بشكل عكسي نستخدم الأمر كما يلي:
ls –ltr
أحيانا عند البحث عن ملف معين أو مجموعة من الملفات قد لا تتذكر الاسم المضبوط له أو المعلومات التي يحتويها بالضبط، فمثلا قد تبحث عن ملف أسماء الصحابة و لكنك لا تستطيع أن تتذكر اسم الملف هل هو sahaba أو sa7aba أو assahaba، و مثال آخر أنك تود البحث عن جميع الملفات التي تحتوي على معلومات معينة مثل اسم Mohammed و هكذا. للتغلب على مثل هذه المشاكل نستخدم بعض الرموز مع أوامر لينوكس لتسهل علينا الوصول الى غايتنا كما يلي:
1- الرمز ? عند استخدامه فإنه يرمز لأي حرف فمثلا لنفترض أننا نريد أن نبحث عن ملف اسمه مكون من 3 أحرف و لكن نسينا الحرف الأوسط فاستخدمنا الأمر التالي:
ls b?g
فحصلنا على قائمة تحتوي على أسماء جميع الملفات المكونة من 3 أحرف و تبدأ بالحرف b و تنتهي بالحرف g بغض النظر عن الحرف الأوسط، لهذا قد نحصل على قائمة بالملفات التالية مثلا:
bag bug big
مثال آخر نود الحصول على قائمة بأسماء الملفات المكونة من 5 أحرف، لهذا الغرض نستخدم الأمر التالي:
????? ls
2- الرمز * و هو يرمز لأي عدد من الأحرف أو الرموز التي تليه فمثلا إن استخدمنا الأمر التالي:
*ls mon
فسنحصل على قائمة بأسماء جميع الملفات التي تبدأ ب mon بغض النظر عن باقي الاسم كمثال قد نحصل على قائمة بالملفات التالية:
monday month money
3- القوسين [] و عند استخدامهما يتم اعتماد أي حرف أو رمز من ضمن الأحرف أو الرموز المحصورة بينهما فمثلا إذا استخدمنا الأمر التالي:
ls [Ss]hare
فسنحصل على قائمة بالملفات التالية:
Share share
أما إذا استخدمنا الأقواس بهذا الشكل [a-f] فسيتم اعتماد أي حرف بين a و f فمثلا عند استخدام الأمر التالي:
Ls b[a-f]g
فسنحصل على قائمة بأسماء جميع الملفات التي تبدأ ب b و تنتهي ب g بينما الحرف الأوسط قد يكون أي حرف في المدى بين الأحرف a و f كمثال قد نحصل على قائمة بالملفات التالية:
bag beg
أما إذا استخدمنا الرمز ^ كأول رمز بين القوسين فهذا يعني أنه ينطبق على أي حرف ما عدى الأحرف التي تلي الرمز بين القوسين، كمثال إذا استخدمنا الأمر التالي:
ls b[^a,f]g
فسنحصل على قائمة بأسماء الملفات التي تبدأ ب الحرف b و تنتهي ب g بينما الحرف الأوسط سيكون أي حرف ما عدى الحرفين a و f و كمثال قد نحصل على قائمة بالملفات التالية:
big beg
للبحث عن نص معين في ملف معين أو في مجموعة من الملفات نستخدم الأمر grep و هو اختصار ل global regular expression parse و هو قد يستخدم مع مجموعة من الرموز كما يلي و التي يجب أن تكتب بين علامتي " ":
1- الرمز ^ و هو يستخدم للبحث عن الأحرف أو الرموز التي تليه إذا جاءت في بداية أي سطر في ملف محدد أو في مجموعة من الملفات، فمثلا إذا رغبنا بالبحث في جميع الملفات داخل مجلد عن الكلمة Muslims على أن تكون في بداية السطر سنكتب الأمر كما يلي:
"grep "^Muslims
في هذا المثال يتم البحث في جميع الملفات، أما إذا رغبنا بالبحث في ملف معين فعلينا كتابة اسم الملف كمثال:
grep "^Muslims" ghutha.txt
و عندها ستظهر الأسطر التي تبدأ بكلمة Muslims في الملف ghutha.txt.
كما نستطيع البحث في نوع محدد من الملفات فمثلا للبحث في الملفات من النوع txt فقط نستخدم الأمر كما يلي:
grep "^Muslims" *.txt
أما إذا استخدمت الأمر و لكن دون استخدام الرمز ^ فستحصل على جميع الأسطر التي تحتوي على الكلمة Muslims في الملف المحدد أو في مجموعة الملفات.
2- الرمز $ و هو يستخدم للبحث عن الأحرف أو الرموز التي تسبقه إذا جاءت في نهاية أي سطر في ملف محدد أو في مجموعة من الملفات، فمثلا إذا رغبنا بالبحث في جميع الملفات داخل مجلد عن الكلمة Mecca على أن تكون في نهاية السطر سنكتب الأمر كما يلي:
'$grep 'Mecca
نلاحظ أنه عند استخدام الأمر grep مع الرمز $ فإننا نستخدم علامتي ' ' المفردة و ليس " ".
بهذا نأتي الى نهاية هذه الحلقة و نلتقي قريبا إن شاء الله مع المزيد من الأوامر.
o3yoon syr
03-29-2008, 11:12 AM
أوامر لينوكس
ثانيا: أوامر إعادة التوجيه
تهتم أوامر إعادة التوجيه في لينوكس بتحويل محتوى ملف ما أو نتيجة تطبيق أمر الى ملف آخر أو إدخال لأمر جديد. فمثلا يقوم الأمر cat و هو اختصار لـ concatenation عند استخدامه مع الرمز < بإعادة توجيه محتوى ملف واحد أو أكثر من ملف الى ملف جديدعند استخدام الأمر التالي:
cat file1 file2 file3
فسيتم عرض محتوى الملفات الثلاث بالترتيب على الشاشة، بينما إذا استخدمنا الأمر بالشكل التالي:
cat file1 file2 file3 > file4
فسيتم تحويل محتوى الملفات الثلاث الى الملف الجديد file4 و للتأكد من ذلك من الممكن استخدام الأمر التالي الذي يعرض محتوى الملف file4 :
cat file4
في المثال التالي سنقوم بإعادة توجيه ناتج أمر ما الى ملف:
ls –F > listfile
حيث سيتم إضافة ناتج الأمر ls –F و هو قائمة مصنفة لمحتويات المجلد الحالي الى الملف listfile
و نستطيع باستخدام الأمر التالي إنشاء ملف جديد و من ثم الكتابة فيه و ذلك باستخدام تقنية إعادة التوجيه كما يلي:
cat > newfile
حيث سيقوم الأمر السابق بتوجيه ضرباتك على لوحة المفاتيح الى ملف جديد اسمه newfile و تستطيع بعد تنفيذك للأمر السابق أن تكتب ما شئت و سيتم تحوياه تلقائيا الى الملف newfile و عند رغبتك في التوقف عن الكتابة في الملف تستطيع الضغط على Ctrl+D، و هكذا سيحفظ كل ما كتبته في الملف newfile
و لتتأكد من نجاحك استخدم الأمر cat newfile لعرض محتوى الملف الجديد newfile.
و يجب التنويه أنه إذا استخدمنا الرمز < مع اسم ملف موجود مسبقا فسيتم إلغاء جميع محتوياته و الكتابة فوقها، أما إذا رغبنا بإضافة أي محتويات على ملف موجود مسبقا مع المحافظة على محتواه بحيث يتم إضافة أي كتابة جديدة الى نهاية الملف، فنستطيع استخدام الرمز<< بدلا من < واحدة، فمثلا عند استخدام الأمر التالي :
cat file1 file2 file3 >> oldfile
سيتم إضافة محتويات الملفات file1 و file2 و file3 الى نهاية الملف الموجود مسبقا oldfile
كما نستطيع استخدام إعادة توجيه معكوس و ذلك بتحويل محتوى ملف ما ليكون إدخال لأمر ما و ذلك باستخدام الرمز > كما في المثال التالي:
mail tcc < letter
حيث يقوم الأمر السابق بتوجيه محتوى الملف letter الى الأمر mail و الذي يقوم بإرسال الملف الى المستخدم tcc.
و نستطيع كذلك توجيه ناتج أمر ما كإدخال لأمر آخر باستخدام الرمز | كما في المثال التالي:
cat tele1 tele2 tele3 | sort
حيث يقوم الأمر السابق بتوجيه ناتج الأمرcat و الذي يقوم بعرض محتوى الملفات tele1 ,tele2, tele3 و التي تحتوي على أسماء أشخاص و أرقام هواتفهم، ثم يتم توجيه هذا المحتوى الى الأمر sort و الذي يقوم بترتيب الأسماء أبجديا و عرضها على الشاشة و بذلك سنحصل على قائمة مرتبة للأسماء الأولى للأشخاص المذكورين في الملفات الثلاث مع أرقام هواتفهم، فلو افترضنا أن محتوى الملف tele1 هو كما يلي:
Mohammed Salim 165317
Saed Ahmad 123243
Khalid Ali 335216
و محتوى الملف tele2 كما يلي:
Raed Jamal 116723
Ali Omar 224389
Kamal Othman 223312
أما الملف tele3 فمحتواه كما يلي:
Badr Jasim 119876
Ilyas Idrissi 367890
Mamoun Ibrahim 187620
بعد تنفيذ الأمر المذكور أعلاه سنحصل على النتيجة التالية على الشاشة:
Ali Omar 224389
Badr Jasim 119876
Ilyas Idrissi 367890
Kamal Othman 223312
Khalid Ali 335216
Mamoun Ibrahim 187620
Mohammed Salim 165317
Raed Jamal 116723
Saed Ahmad 123243
و هناك ميزة جيدة في أوامر لينوكس تسمح لك بتنفيذ أكثر من أمر في نفس الوقت فمثلا إذا رغبنا بتنفيذ أمر ما و نحن نعلم أن مدة تنفيذ هذا الأمر قد تطول فنستطيع أن ننفذ هذا الأمر في الخلفية و نقوم نحن بتنفيذ أي أوامر أخرى ريثما ينتهي تنفيذ ذلك الأمر، فعلى سبيل المثال نريد ترتيب محتوى ملف ما أبجديا و لكن حجم الملف كبير للغاية و بالتالي فترتيب محتواه سيستغرق وقتا طويلا، لهذا نستطيع توجيه تنفيذ هذا الأمر الى الخلفية باستخدام الرمز & في نهاية الأمر كما يلي:
& sort file1
و هكذا سيتم تنفيذ الأمر في الخلفية و نستطيع حينها إدخال أي أوامر أخرى.
إذا وضعت أكثر من ملف في الخلفية و رغبت في أي وقت بالتعرف على الأوامر و العمليات التي تعمل في الخلفية فتستطيع استخدام الأمر ps و الذي يأتي مع عدد من الخيارات مثل e و الذي يختار جميع العمليات، و f و الذي يعرض قائمة كاملة للعمليات التي تعمل في الخلفية و يكتب الأمر كما يلي:
ps –ef
و إذا استخدمت الأمر بالشكل التالي:
ps –ef | grep khalid
فسيتم عرض كافة العمليات التي يشغلها المستخدم khalid.
من خلال تنفيذ الأمر تستطيع التعرف على كل عملية و المقدار الذي تستهلكه من قوة المعالج، و عند الرغبة بقتل أو إيقاف عملية ما تستطيع استخدام الأمر kill مع رقم العملية id الذي يظهر في القائمة كمثال:
kill 1457
الأمر السابق سيوقف العملية ذات الرقم 1457.
و ابقوا معنا للتعرف على المزيد من أوامر لينوكس.
o3yoon syr
03-29-2008, 11:20 AM
أوامر لينوكس
ثالثا: أوامر إدارة الملفات.
سنتناول في هذا الموضوع الأوامر التالية:
1- أوامر إدارة الملفات و المجلدات من نسخ و نقل و حذف و إعادة تسمية و إنشاء اختصارات: cp ، ln ، mv ، rm ، mkdir و rmdir.
2- أوامر عرض الملفات و تصفحها: head ، tail ، more ، less ، file ، grep و wc.
لنسخ ملف ما نستخدم الأمر cp متبوعا باسم الملف ثم الوجهة كما في المثال التالي:
cp file1 dir
سيقوم الأمر السابق بنسخ الملف file1 الى المجلد dir ، أما إذا استخدمنا الأمر السابق كما يلي:
cp file1 file2
فسنحصل على نسخة من الملف file1 و سيكون اسمها file2 و ستكون في نفس المجلد الموجود فيه الملف الأصلي file2.
لإنشاء اختصار أو رابط لملف ما نستخدم الأمر ln ، و علينا في البداية أن نعرف أن هناك نوعين من الاختصارات أو الروابط في لينوكس :
1- رابط صلب.
2- رابط رمزي.
أما الرابط الصلب فيقوم بإنشاء اختصار للملف الأصلي في مكان آخر و يكون هذا الاختصار عبارة عن نسخة طبق الأصل من الملف الأصلي و قد يتساءل أحدنا : إذن ما الفرق بينه وبين أمر النسخ السابق؟ و نجيب فنقول أن هذا الاختصار يراقب كل ما يجري للملف الأصلي بحيث أن أي تغيير يتم إجراؤه على الملف الأصلي يتم تطبيقه تلقائيا على الاختصار الجديد و هذا بطبيعة الحال لا يتوفر من خلال استخدام الأمر cp. يمكن إنشاء هذا الاختصار للملفات فقط و لا يصلح للمجلدات.
و يتم كتابة الأمر ln متبوعا باسم الملف الأصلي ثم الوجهة المراد إنشاء الاختصار فيها.
أما الرابط الرمزي فهو عبارة عن مؤشر غير مباشر للملف الأصلي بحيث إذا قمت بتشغيل الاختصار سيتم تلقائيا تشغيل الملف الأصلي و هذا النوع من الروابط مشابه لاختصارات الويندوز المألوفة و يمكن تطبيقه على الملفات و المجلدات على حد سواء.
و يكتب هذا الأمر كما يلي:
ln –s dir1/file dir2/file
حيث يمثل dir1/file الملف المصدر و يمثل dir2/file الوجهة كما في المثال التالي:
ln –s /home/tcc/Islam /dev/mn/Islam
حيث سيتم إنشاء اختصار للملف Islam في المجلد /dev/mn
لنقل الملفات أو إعادة تسميتها نستخدم الأمرmv متبوعا بالملف المصدر ثم الملف الوجهة، فبينما يقوم الأمر cp بعمل نسخة من الملف الأصلي فإن الأمر mv يقوم بنقل الملف الأصلي من مكانه الى مكان آخر أما إذا استخدمناه لنقل الملف المصدر الى ملف وجهة موجود في نفس المجلد فالذي يحصل هو إعادة تسمية الملف الأصلي.
فإذا افترضنا أننا نريد نقل الملف Jihad من المجلد tcc الى المجلد الفرعي Palestine نكتب الأمر كما يلي مع افتراض أننا موجودون داخل المجلد tcc:
mv Jihad Palestine
أما إذا رغبنا بإعادة تسمية الملف السابق الى اسم shahada فنكتب الأمر كما يلي:
mv Jihad shahada
أي أن الأمر يبحث أولا عن مجلد فرعي باسم shahada فإذا لم يجد فإنه يدرك أن المطلوب هو إعادة تسمية الملف الأصلي.
كما تستطيع نقل الملف و إعادة تسميته في آن واحد كما في المثال التالي:
mv Jihad Palestine/shahada
حيث سينقل الملف Jihad الى المجلد Palestine ثم سيعاد تسميته الى shahada.
لإنشاء مجلد فرعي نستخدم الأمر mkdir و لحذفه نستخدم الأمر rmdir
فمثلا لإنشاء مجلد جديد باسم Muslim داخل المجلد tcc و نفترض أننا موجودون هناك حاليا نكتب الأمر كما يلي:
mkdir Muslim
لحذف المجلد السابق نكتب الأمر التالي:
rmdir Muslim
و لكن الأمر rmdir يحذف فقط المجلدات الفارغة، أما إذا كان المجلد يحتوي على ملفات أو مجلدات فرعية فيجب حذفها أولا إذا أردنا استخدام الأمر السابق.
لحذف الملفات نستخدم الأمر rm متبوعا باسم الملف، و إذا رغبنا بحذف أكثر من ملف نكتب أسماء الملفات تباعا كما في المثال التالي:
rm file1 file2 file3
حيث سيتم حذف الملفات file1 و file2 و file3.
يجب أن ننتبه أنه لا يمكن حذف ملف ما إذا كان لديه اختصارات أو روابط في مكان ما و لا بد من حذف اختصاراته أولا قبل محاولة حذفه و يمكن معرفة عدد اختصارات كل ملف في مجلد ما من خلال استخدام الأمر ls –l الذي سبق التطرق إليه، كما في الصورة التالية:
حيث يبين العمود المظلل عدد الاختصارات لكل ملف، حيث يبدو أن الملف departments ليس له أي اختصار لهذا يحمل الرقم 1، بينما الملف actions فله اختصار واحد و لهذا يحمل الرقم 2 و هكذا. أما لحذف جميع الملفات في مجلد ما نستخدم الأمر rm –r و يمكن استخدام هذا الأمر القوي لحذف مجلد ما و كافة محتوياته كما في المثال التالي:
rm –r Muslim
سيقوم الأمر التالي بحذف المجلد Muslim و كافة ملفاته و مجلداته الفرعية، لهذا لابد من الحذر عند استخدام هذا الأمر حيث لا يمكن التراجع عنه و ليس هناك أي خيار لاسترجاع ما حذفته بواسطته.
عند رغبتك بالتعرف على أي أمر من أوامر لينوكس و الخيارات المصاحبة له تستطيع استخدام الأمر man متبوعا باسم الأمر الذي تود التعرف عليه، كما في المثال التالي:
man ln
حيث سيعرض شرح للأمر ln و خياراته المختلفة ، و لكن لتستفيد من هذه الخاصية عليك أن تختار تنصيب وثائق المساعدة Manuals عند إعداد لينوكس.
أحيانا عند استعراض محتويات ملف ما يكون المحتوى أكبر مما يتسع في شاشة واحدة لعرضه لهذا لابد من استخدام أوامر خاصة لاستعراض الملف صفحة فصفحة أو أقل، من أمثلة هذه الأوامر more و less و هما يقومان بنفس المهمة إلا أن الأمر less يسمح بتصفح محتويات الملف الى الأمام و الى الخلف بينما لا يسمح الأمر more سوى بالتصفح للأمام.
فمثلا لعرض محتويات الملف Jihad نكتب الأمر كما يلي:
less Jihad
و سيتم عرض الصفحة الأولى من الملف و للانتقال إلى الصفحة التالية نضغط على شريط المسافة Spacebar على لوحة المفاتيح، و للعودة للصفحة السابقة نضغط على حرف B على لوحة المفاتيح، و للخروج من تصفح الملف نضغط على Q على لوحة المفاتيح.
كما تستطيع تصفح عدد معين من الأسطر في ملف ما باستخدام مجموعة من الأوامر، فمثلا يقوم الأمر head بعرض الأسطر العشر الأولى من الملف و يكتب كما يلي:
head Jihad
أما إذا رغبنا بعرض عدد معين من الأسطر مثلا 25 سطر نكتب الأمر كما يلي:
head -25 Jihad
كما نستطيع عرض آخر 10 أسطر من الملف باستخدام الأمر tail كما يلي:
tail Jihad
أما إذا رغبنا بعرض عدد معين من الأسطر مثلا 20 سطر من نهاية الملف نكتب الأمر كما يلي:
tail -20 Jihad
قد ترغب بالتعرف على نوعية الملف قبل فتحه لتعرف هل هو ملف نصي أو ملف تشغيلي أو غير ذلك، نستخدم لهذه الغاية الأمر file كما يلي:
file Jihad
و سيتم عندها عرض نوع الملف كما يلي:
Jihad: English text
كما تستطيع التعرف على أنواع جميع الملفات في المجلد الحالي باستخدام الأمر:
* file
للبحث عن كلمة ما أو مجموعة من الكلمات داخل ملف معين نستخدم الأمر grep ، فإذا رغبنا مثلا بالبحث عن الكلمة shahada في الملف Jihad نكتب الأمركما يلي:
grep shahada Jihad
و سيتم عرض جميع الأسطر التي تحتوي على الكلمة shahada في الملف Jihad .
علينا التنبه أن الأمر grep يفرق بين الأحرف الكبيرة و الصغيرة لهذا فالأمر السابق لن يعرض الأسطر التي تحتوي على الكلمة Shahada، أما إذا رغبنا أن يتجاهل هذا الأمر حالة الأحرف فنضيف له –i كما يلي:
grep –i shahada Jihad
تستطيع التعرف على المزيد حول ملفاتك مثل عدد الأسطر و عدد الكلمات و عدد الأحرف في ملف ما باستخدام الأمر wc كما يلي:
1- للتعرف على عدد الأسطرLines في الملف Jihad نكتب الأمر كما يلي:
wc –l Jihad
2- للتعرف على عدد الكلمات words في الملف Jihad نكتب الأمر كما يلي:
wc –w Jihad
3- للتعرف على عدد الأحرف characters في الملف Jihad نكتب الأمر كما يلي:
wc –c Jihad
بهذا نكون قد انتهينا من درس اليوم و ما زلنا مستمرين في رحلة اكتشاف لينوكس.
o3yoon syr
03-31-2008, 02:39 PM
أوامر اللينكس - الإتصال والمحادثة
من أنا؟ ^^^^^^^
هنالك أمر يستخدم في نظام لينكس لمعرفة اسم المستخدم
كل ما علينا كتابته هو
whoami
متصلة بدون فراغات
ثم نضغط على enter
ومن بعدها سوف يخبرنا من نحن اي user الذي نعمل عليه
طبعا هذا يكون مثلا في حالة استخدام اكثر من user ونسيانك أيها اللذي تعمل عليه في الشاشة
من يستخدم اللينكس حاليا ؟ ^^^^^^^^^^^^^^^^^^^^^^^^^
هنالك أمر تستطيع بواسطته معرفة من يستخدم النظام الحالي معك طبعا أقصد إذا كنتم تنتمون لنفس السيرفر إن صح التعبير
الأمر هو
who
وسوف يعرف اسماء المستخدمين الحاليين
وكذلك الأمر
finger
وهذا الأمر رائع لانه سوف يعرض ايضا رقم IP للمستخدمين حاليا
هل توجد برامج تشات في اللينكس؟ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
تستطيع عند كتابة الامر التالي
talk user1
إستخدام خاصية التخاطب مع المستخدمين الآخرين داخل الشبكة
حيث سيؤدي هذا الأمر للإتصال مع المستخدم المعرف بالإسم user1 والتخاطب معه
أمر آخر :
write user1
يؤدي نفس عمل الأمر السابق
هل أستطيع إرسال رسائل للمستخدمين؟
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
نعم نستطيع وذلك باستخدام الامر التالي
mail user
ثم نبدأ كتابة الرسالة التي سوف توجه للمستخدم المعرف بالإسم user
وعند الانتهاء من كتابة الرسالة ولإرسالها للطرف الآخر نضغط على
ctrl +d
ولكشف بريدك وذلك للاطلاع على الرسائل الواردة
اكتب فقط الأمر
mail
وسوف تظهر لك الرسائل مرقمة
فقط اكتب رقم الرسالة واضغط على
enter
عندها سوف تستطيع قراءة الرسالة
ولحذف الرسالة بعد كل قراءة اكتب
d
ثم enter
وسيؤدي هذا لحذف الرسالة
o3yoon syr
04-10-2008, 12:38 PM
التعامل مع أنظمة الملفات في لينوكس.
تعتبر أنظمة الملفات جزءا هاما من نظام تشغيل لينوكس. يمكن تعريف نظام الملفات بأنه بيئة معينة يتم تهيئتها لتتمكن من حفظ الملفات و المجلدات.
تتضمن أنظمة ملفات لينوكس كلا من:
1- الأقراص المرنة.
2- التقسيمات على القرص الصلب.
3- الأقراص المضغوطة.
عادة يتم إنشاء أنظمة الملفات خلال عملية تنصيب لينوكس، و لكنك تستطيع تغيير تركيبة نظام الملفات في أي وقت بإضافة أجهزة تخزين جديدة أو التعديل على تلك الموجودة أصلا، لهذا من المهم التعرف على أنظمة الملفات و فهم طريقة عملها في لينوكس.
يتم توفير أنظمة الملفات في لينوكس من خلال عملية تسمى التركيب أو mounting.
يمكن فهم تركيب نظام الملفات في لينوكس بأنه جعل نظام الملفات جزءا من التركيب التدرجي المتفرع من الجذر root و الذي يرمز له بـ /، مما يعني أن نظام الملفات في لينوكس هو عبارة عن ملفات و مجلدات مرتبة في تدرجات متفرعة من الجذر الرئيسي.
للوصول إلى أي ملف في لينوكس يجب أن يكون نظام الملفات الذي ينتمي إليه هذا الملف تم تركيبه mounted على لينوكس.
هناك عدة أوامر تستطيع بواسطتها معرفة أنظمة الملفات التي تم تركيبها على لينوكس و من هذه الأوامر ما يلي:
1- df .
2- mount .
3- cat /etc/mtab .
حيث يشير البند Filesystem إلى أجزاء القرص الصلب أو أي قرص مرن أو مضغوط متوفر ، بينما يشير البند Mounted on إلى المجلد الذي تم تركيب نظام الملفات عليه و هناك بعض المصطلحات التي لابد من شرحها أولا لنفهم الرموز في الصورة :
1- يشير dev إلى جهاز أو device.
2- يشير hd إلى القرص الصلب و يعتمد الرمز التالي على ما يلي:
أ- a إذا كان القرص الصلب Primary Master.
ب- b إذا كان القرص الصلب Primary Slave.
ج- c إذا كان القرص الصلب Secondary Master.
د- d إذا كان القرص الصلب Secondary Slave.
أما الرقم التالي فيعتمد على رقم تقسيمة القرص الصلب، و بالتالي فإن hda5 مثلا تشير إلى القسم الخامس من القرص الصلب و هو Primary Master.
3- يشير fd إلى محرك الأقراص المرنة و يشير الرقم التالي إلى ترتيبه و هو مفيد إن كان لديك أكثر من محرك أقراص مرنة.
4- محرك الأقراص المضغوطة في حال وجوده فسيشار إليه بالرمز التالي: dev/cdrom/
هناك العديد من أنواع أنظمة الملفات المختلفة التي يدعمها لينوكس و لكل منها خصائصه الخاصة و منها ما يلي:
1- (the Second Extended filesystem (ext2fs و هو أشهر أنظمة ملفات لينوكس و قد تم تصميمه خصيصا له، و هو نظام مرن يسمح باستخدام الأسماء الطويلة حتى 256 رمز، بينما يمكن أن يصل حجم نظام الملفات إلى 4 تيرابايت.
2- نظام ملفات vfat و هو يدعم أنظمة الملفات المستخدمة في الدوس و الويندوز fat و fat32.
3- نظام ملفات proc و هو نظام ملفات ظاهري أو virtual مما يعني أنه لا يتم تخصيص مساحة معينة من القرص لهذا النظام.
4- نظام ملفات UNMSDOS و هو يسمح لكل من لينوكس و MS-DOS بالتواجد و التعايش على نفس القسم من القرص الصلب.
5- نظام ملفات iso9660 و هو مخصص للأقراص المضغوطة.
5- (نظام ملفات Network File System (NFS و هو يستخدم للوصول إلى الملفات عن بعد كما يسمح للملفات المخزنة على الجهاز بأن تكون متوفرة عبر الشبكة.
عندما تقوم بإنشاء نظام ملفات على لينوكس مثل ext2fs فإنه يتم إنشاء المساحات التخزينية التالية تلقائيا في نظام الملفات:
1- superblock و هو عبارة عن مساحة تخزينية يتم إنشاؤها في بداية نظام الملفات و تحتوي على معلومات عن نظام الملفات مثل حجم النظام و وقت و تاريخ تحديثه و حالته في كل وقت، و للحفاظ على هذه المعلومات فإنه يتم حفظ أكثر من نسخة منها في أجزاء مختلفة من نظام الملفات.
2- inodes و هي عبارة عن تراكيب بيانية يتم إنشاؤها في نظام الملفات و تخزن معلومات عن جميع الملفات و المجلدات التي يتم إنشاؤها في نظام الملفات مثل نوع الملفات و أحجامها و موقعها و مالكها و التصاريح المرتبطة بها و الوصلات المرتبطة بها، بالإضافة إلى تاريخ و وقت إنشائها أو تعديلها، و لمعرفة عدد inodes في كل نظام ملفات يستخدم الأمر df -I كما في الصورة التالية:
3- storageblock و هي المساحة التخزينية المتبقية و التي يتم تخزين الملفات و المجلدات عليها.
لتركيب أي نظام ملفات لم يتم تركيبه أثناء عملية التنصيب نستخدم الأمر mount و تم تنفيذه من قبل مدير النظام root و يتم كتابته كما يلي:
<mount -t <type> <device> <mount point
يشير<t <type- إلى نوع نظام الملفات.
يشير <device> إلى الجهاز المركب عليه نظام الملفات (قسم من القرص الصلب كمثال).
يشير <mount point> إلى المجلد الذي سيتم تركيب نظام الملفات عليه و لا بد من إنشائه قبل تنفيذ الأمر mount ، و يتم إنشاء المجلد كأي مجلد آخر باستخدام الأمر mkdir .
فمثلا لإنشاء نظام ملفات من النوع ext2 على القسم dev/hda10/ بحيث يركب على المجلد usr/local/ نستخدم الأمر التالي:
mount -t ext2 /dev/hda10 /usr/local
و لإلغاء تركيب أي نظام ملفات نستخدم الأمر unmount فمثلا لإلغاء تركيب نظام الملفات على القرص المرن نستخدم الأمر كما يلي:
unmount /dev/fd0
عندما إقلاع الجهاز boot فإن عدة أنظمة ملفات يتم تركيبها تلقائيا على مجلدات معينة و تكون معلومات التركيب هذه مخزنة في الملف etc/fstab/ ، مما يعني أنه عند الرغبة بتركيب نظام ملفات معين بحيث يكون متوفرا في كل مرة نشغل فيها الجهاز ، لابد من إضافته إلى الملف fstab
و يمكن شرح محتوى الأعمدة الظاهرة من اليسار إلى اليمين كما يلي:
1- اسم الجهاز الذي يحتوي على نظام الملفات.
2- المجلد الذي يركب عليه نظام الملفات.
3- نوع نظام الملفات.
4- بعض الخيارات المستخدمة عند تركيب نظام الملفات و هي مشروحة أدناه.
5- معدل إجراء النسخ الاحتياطي.
6- أولوية إجراء اختبار لنظام الملفات.
أما الخيارات المستخدمة لتركيب نظام الملفات فتتضمن ما يلي:
1- ro و هي اختصار لـ read-only و تسمح للمستخدم بقراءة محتويات نظام الملفات فقط دون حق التعديل أو الكتابة عليها.
2- rw و تسمح للمستخدم بقراءة محتويات نظام الملفات و الكتابة عليها و تعديلها.
4- noauto و تفيد أن نظام الملفات لن يتم تركيبه تلقائيا عند تنفيذ الأمر mount -a عند بداية التشغيل.
5- user و يسمح للمستخدمين من غير root بتركيب نظام الملفات.
6- auto لتركيب نظام الملفات تلقائيا عند بداية التشغيل.
لتحرير هذا الملف لابد أن تكون root و يمكن تحريره باستخدام أي محرر نصوص متوفر لديك أو من خلال سطر الأوامر باستخدام الأمر vi /etc/fstab و للكتابة في مكان معين اضغط على زر Insert و بعد أن تنتهي اضغط على Esc ثم أدخل الأمر التالي:
w:
ثم اضغط Enter و من ثم أدخل الأمر التالي:
q:
ثم اضغط Enter .
لنفترض أن لديك نظام تشغيل ويندوز مركب على قسم من القرص الصلب بالإضافة إلى نظام لينوكس و لنفترض أن نظام الملفات المستخدم في قسم ويندوز هو fat32 ، و تريد أن تتمكن من الوصول إلى ملفاتك المخزنة في قسم الويندوز من داخل لينوكس ، لفعل ذلك نضيف السطر التالي إلى ملف fstab :
dev/hda1 /mnt/windows vfat user,rw 0 0/
و لا تنس إنشاء مجلد جديد اسمه windows داخل المجلد /mnt حيث سيكون المجلد الذي سيركب عليه نظام ملفات المستخدم في قسم الويندوز في لينوكس.
ملاحظة :
في توزيعة Mandrake لن تحتاج إلى إدخال السطر السابق حيث يتعرف Mandrake تلقائيا على أقسام ويندوز و يركبها على المجلد mnt/windows/ أو ما شابه.
أما لإنشاء نظام ملفات ext2 على قرص جديد مثلا فنستخدم الأمر mke2fs و يكتب كما يلي:
<mke2fs -t <type> -c <device
كما في المثال التالي:
mke2fs -t ext2 -c /dev/hdc1
حيث يشير t ext2- إلى نوع نظام الملفات بينما يشير c /dev/hdc1- إلى أن نظام الملفات سيكون على القسم الأول من القرص الصلب Secondary Master.
أما عند الرغبة بإنشاء نوع آخر غير ext2 فنستبدل الأمر mke2fs بالأمر mkfs .
o3yoon syr
04-11-2008, 05:50 AM
صلاحيات استخدام الملفات و المجلدات.
لكل ملف في لينوكس مالك ينتمي إلى مجموعة ما ، و عادة يكون مالك الملف هو الشخص الذي أنشأه.
افتراضيا كل مستخدم ينتمي لمجموعة ، و كل الملفات المنشأة بواسطة ذلك المستخدم توضع تلقائيا في مجموعته.
هناك ثلاث صلاحيات في لينوكس للمستخدمين ممكن تخصيصها للملفات:
1- read قراءة.
2- write كتابة.
3- execute تنفيذ.
صلاحية القراءة تسمح للمستخدم بقراءة محتويات الملف.
أما صلاحية الكتابة فتسمح للمستخدم بعمل تغييرات على الملف و حتى حذفه.
أما صلاحية التنفيذ فتسمح للمستخدم بتشغيل الملف إذا كان عبارة عن برنامج، أما إذا كان ملفا نصيا فإن صلاحية التنفيذ لن تعمل معه.
يمكن تخصيص نفس الصلاحيات للمجلدات و لكن مع اختلاف معانيها، فصلاحية القراءة تسمح للمستخدم بسرد محتويات المجلد، بينما صلاحية الكتابة تسمح للمستخدم بإضافة ملفات إلى المجلد أو حذفها منه، بينما تسمح صلاحية التنفيذ للمستخدم بسرد المعلومات المرتبطة بالملفات في المجلد.
عندما تنشئ ملفا أو مجلدا فإن نظام لينوكس يعطيك بعض الصلاحيات بشكل افتراضي ، فمثلا عندما تنشئ ملفا فإنك تحصل على صلاحيات القراءة و الكتابة لذلك الملف، أما باقي المستخدمين فسيحصلون على صلاحية القراءة فقط لذلك الملف.
يتم إعطاء الصلاحيات لثلاثة أنواع من مجموعات المستخدمين كما يلي:
1- owner (المالك) و هو المستخدم الذي يملك الملف أو المجلد.
2- group (مجموعة) و هي المجموعة التي تم تخصيصها للملف أو المجلد.
3- other (آخر) و ينتمي لها كل المستخدمين في النظام و لكنهم لا يملكون الملف و ليسوا أعضاء في المجموعة.
هذه المجموعات الثلاث تعرف بمستويات الصلاحية levels of permission.
يسمح مستوى المجموعة للمستخدمين الذين يعملون في نفس المجال بالوصول إلى نفس الملفات و استخدامها.
يستطيع المستخدمون الانضمام إلى أكثر من مجموعة في نفس الوقت، كما تستطيع في أي وقت تغيير المجموعة المرتبطة بملف أو مجلد معين.
لننظر إلى الملف meeting الذي أنشأه المستخدم Khalid. سنستخدم الأمر ls –l لسرد معلومات عن الملفات و سنلاحظ المعلومات التالية المرتبطة بالملف meeting:
rw-rw-r-- 1 khalid friend 114 Aug 5 11:12 meetin-
يمثل khalid اسم المستخدم بينما يمثل friend اسم المجموعة التي ينتمي إليها.
ما يهمنا الآن معلومات الصلاحية التي تظهر في البداية:
--rw-rw-r-
يمكن تقسيم مجموعة الأحرف السابقة إلى 4 أجزاء :
الرمز الأول يشير إلى النوع (ملف أو مجلد)،حيث يشير الرمز - إلى ملف ،أما d فتشير إلى مجلد و يشير الرمز l إلى link أي وصلة أو اختصار.
الجزء الثاني يتكون من الرموز الثلاثة التالية : -rw و تشير إلى مستوى المالك.
الجزء الثالث يتكون من الرموز الثلاثة التالية : -rw و تشير إلى مستوى المجموعة.
الجزء الرابع يتكون من الرموز الثلاثة التالية : --r و تشير إلى مستوى الآخر.
يشير الرمز r إلى صلاحية القراءة بينما يشير الرمز w إلى صلاحية الكتابة بينما يشير استخدام الرمز - إلى منع الصلاحية أما الرمز x في حالة وجوده فيشير إلى صلاحية التنفيذ.
نستنتج مما سبق أن الملف النصي meeting يملك صلاحيات القراءة و الكتابة لكل من مستوى المالك و المجموعة بينما يملك صلاحية القراءة فقط لمستوى الآخر.
لننظر إلى ملف آخر و هو program.exe سنجد أن معلومات الصلاحيات له كما يلي:
rwxr-xr-x-
و هذا يعني أن هذا الملف التنفيذي يملك صلاحية القراءة و الكتابة و التنفيذ لمستوى المالك بينما يملك صلاحية القراءة و التنفيذ لكل من مستوى المجموعة و الآخر.
يسمح لك لينوكس بتغيير الصلاحيات المرتبطة بملف أو مجلد معين باستخدام الأمر : chmod و هو اختصار ل change mode.
يكتب الأمر على النحو التالي لإضافة صلاحية:
chmod level+permission filename
و لإزالة الصلاحية تستبدل إشارة + بإشارة - ، و يتم التعبير عن المستوى level باختصارات كما يلي:
1- يعبر عن المستوى owner بالاختصار u.
2- يعبر عن المستوى group بالاختصار g.
3- يعبر عن المستوى other بالاختصار o.
أما الصلاحيات فيعبر عنها بالاختصارات التالية:
1- يعبر عن الصلاحية read بالاختصار r.
2- يعبر عن الصلاحية write بالاختصار w.
3- يعبر عن الصلاحية execute بالاختصار x.
فمثلا لتغيير الصلاحيات المرتبطة بالملف program.exe بحيث يتمكن المستخدمون في مستوى المجموعة من الكتابة عليه سنحتاج لمنح صلاحية الكتابة لمستوى المجموعة كما يلي:
chmod g+w program.exe
و هكذا إذا نفذنا الأمر : ls -l لنرى مفعول التغيير على الملف program.exe سنرى معلومات الصلاحية المرتبطة به كما يلي:
rwxrwxr-x-
كما أنك تستطيع منح عدة صلاحيات لمستوى ما باستخدام أمر واحد، فإذا افترضنا أن لديك ملف برنامج يسمى update ، و يمتلك مستخدمو مستوى المجموعة صلاحية القراءة فقط ، و تود منحهم صلاحية الكتابة و التنفيذ فإنك تستطيع عمل ذلك بكتابة الأمر كما يلي:
chmod g+wx update
كما تستطيع منح عدة مستويات نفس الصلاحية باستخدام أمر واحد ، فمثلا لمنح صلاحية الكتابة لكل من مستوى المجموعة و الآخر لملف اسمه prophet نكتب الأمر كما يلي:
chmod go+w prophet
أما إذا استخدمت الرمز = مع الأمر chmod فإنه سيتم منح الصلاحيات المحددة مع الأمر و إزالة أي صلاحيات أخرى غير محددة، فمثلا إذا افترضنا أن لديك ملفا اسمه report و معلومات الصلاحية له كما يلي:
rw---x--x-
و أردت منح مستوى المجموعة و الآخر صلاحيات القراءة و الكتابة فقط و إزالة صلاحية التنفيذ نكتب الأمر كما يلي:
chmod go=rw report
و ستجد أن معلومات الصلاحية أصبحت كما يلي:
-rw-rw-rw-
و هناك طريقة أخرى للتعامل مع الأمر chmod باستخدام الأرقام كما في الجدول التالي:
بينما يعبر عن الصلاحية الممنوعة عن مستوى ما بالرقم 0.
لمنح صلاحية فإنك تقوم بجمع القيم الرقمية لصلاحيات كل مستوى ، فمثلا إذا رغبت بمنح الملف program الصلاحيات التالية :
rwxr-x--x-
فإنك تستخدم المعادلة التالية:
4+2+1 4+0+1 0+0+1
7 5 1
و نكتب الأمر كما يلي:
chmod 751 program
و فيما يلي مثال آخر:
لنفترض أن لديك ملف اسمه data.exe و تود منح جميع المستويات صلاحية القراءة و التنفيذ، فإنك تستخدم المعادلة التالية:
4+0+1 4+0+1 4+0+1
5 5 5
و نكتب الأمر كما يلي:
chmod 555 data.exe
و هناك أمر آخر يقوم بنفس المهمة و باستخدام الأرقام فقط و لكن بشكل عكسي ، هذا الأمر هو unmask و يتم منح الصلاحية بطرح مجموع القيم الرقمية لصلاحيات كل مستوى من العدد 7 (و الذي يمثل المجموع الكلي للصلاحيات 4+2+1) ، فمثلا إذا افترضنا أن لديك ملف اسمه king و تود منحه صلاحية القراءة و الكتابة لمستوى المالك و صلاحية القراءة فقط لمستوى المجموعة و الآخر فإننا نستخدم المعادلة التالية:
7-(4+2) 7-(4) 7-(4)
1 3 3
و يكتب الأمر كما يلي:
unmask 133 king
تستطيع باستخدام الأمر chgrp تغيير المجموعة التي لديها حق الوصول لملف أو مجلد معين، مع التنبيه إلى أن هذا الأمر لا يستطيع تشغيله إلا مدير النظام root، فمثلا إذا كان لديك ملف اسمه build و أردت أن تغير المجموعة التي لديها حق الوصول إليه إلى مجموعة builders فإنك تكتب الأمر التالي:
chgrp builders build
أما إذا رغبت بتغيير مالك أي ملف فإنك تستخدم الأمر chown ، و يستخدم من قبل root فقط، فلتغيير مالك الملف sun إلى المستخدم tcc نكتب الأمر كما يلي:
chown tcc sun
كما يمكنك باستخدام نفس الأمر السابق تغيير مالك الملف و المجموعة التي لديها حق الوصول إليها بأمر واحد كما في المثال التالي:
لتغيير مالك الملف sun من tcc الى khalid و تغيير المجموعة من friend إلى brother نكتب الأمر كما يلي:
chown khalid.brother sun
يسمح لك نظام لينوكس الانتقال و التبديل بين المستخدمين دون الحاجة للخروج من النظام و الدخول مرة أخرى كمستخدم آخر و ذلك باستخدام الأمر su متبوعا باسم المستخدم الذي تود التبديل إليه ثم تضغط على Enter و سيطلب منك إدخال كلمة السر للمستخدم الجديد، فلانتقال إلى المستخدم khalid نكتب الأمر كما يلي:
su khalid
ثم نضغط على Enter و سيطالبنا النظام بإدخال كلمة المرور الخاصة بالمستخدم khalid ، أما للانتقال إلى مدير النظام root فنستطيع كتابة الأمر كما يلي:
su root
و من ثم ندخل كلمة المرور بعد الضغط على Enter و على العموم إذا كتبنا الأمر su بدون أي إضافات و ضغطنا على Enter فإننا أيضا سننتقل إلى مدير النظام بعد إدخال كلمة المرور له.
أرجو أن لا يكون قد أصابكم الملل من كل هذه الأوامر
vBulletin® v3.8.4, Copyright ©2000-2012, TranZ by Almuhajir