إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

سلسلة كيف ؟ و حلولها .. موضوع خاص بـ shell و shell script (متجد

تقليص
X
 
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

  • سلسلة كيف ؟ و حلولها .. موضوع خاص بـ shell و shell script (متجد

    السلام عليكم

    ان شاء الله تكونوا بخير..

    اردت ان اجعل هذا الموضوع للاجابة على بعض الاسئلة الخاصة بالسكريبت شل (و حتى الشل) و فضلت ان تكون من الشكل :

    س : كيف .......... ؟

    ج : .....................


    بحيث سأضع ان شاء الله كل يوم سؤالا او سؤالين و اجيب عليهما.
    .
    ملاحظة:

    المشاركة مفتوحة للجميع ، بشرط ان يكون نص السؤال باللون الاحمر و يخضع الى الترقيم المتبع و هذا للتنظيم ليس الا.

    تحياتي.
    التعديل الأخير تم بواسطة fakir; الساعة 10-02-2007, 04:09 AM.

  • #2
    السؤال رقم 1

    س1: كيف اجمع جميع ملفاتي الصوتية المتناثرة في عدة اماكن في مجلد واحد ؟

    ج1: بسيطة باذن الله، اكتب الامر التالي و انت جذر -root-

    كود:
    # mkdir mymp3 && find / -name "*.mp3" -exec mv {} mymp3 \;
    الشرح:

    اولا قمنا بانشاء مجلد جديد اسمه mymp3 ثم بدأنا البحث باستعمال find في المجلد الرئيسي / بالخاصية -name يعني نبحث عن كل ملف اسمه من الشكل *.mp3 ، و عند ايجاده تجبرنا الخاصية -exec على تنفيذ امر النقل mv الى مجلدنا mymp3.

    ملاحظة : انتبه ان تنسى وضع \; فهي ضروري.

    تحياتي.......
    التعديل الأخير تم بواسطة fakir; الساعة 10-02-2007, 11:43 AM.

    تعليق


    • #3
      ممكن أخي الكريم تفتح مجال لنا نحن ايضا نسأل ويلي بيعرف يرد علينا
      س: كيف أعمل فحص للهارد واصلااح نظام ملفاته من شل

      تعليق


      • #4
        المشاركة الأصلية بواسطة عاشق لينوكس مشاهدة المشاركة
        ممكن أخي الكريم تفتح مجال لنا نحن ايضا نسأل ويلي بيعرف يرد علينا
        س: كيف أعمل فحص للهارد واصلااح نظام ملفاته من شل

        اخي الحبيب ، انا قصدت ان كل مشاركة تكون باضافة سؤال و جوابه لنشارك بعضنا في المعلومات .. و بهذه الطريقة انت فتحت بابا اكبر للنقاش و جعلت الموضوع اشمل و بالطبع مسؤولية اكبر ..
        على كل، لن اخيب اخي، و سأضع هذه المهمة على عاتقي واتوكل على الله.. و اي سؤال انا جاهز بعون الله ثم بعون خبراء منتدانا.

        س2: كيف أعمل فحص للهارد واصلاح نظام ملفاته من الشل

        ج2 : يمكن بعدة طرق من بينها الاتي :
        اكتب و انت جذر :

        كود:
        # fsck
        او اكتب :
        كود:
        # shutdown -F -r now
        يقوم بنفس العمل السابق.
        مع ملاحظة اخي، ان لا تستعمل الامرين الا اذا كنت على دراية بما انت فاعل كي لا تضر نظامك، انصحك ان تلقي نظرة على help او man.

        و السلام عليكم....................

        تعليق


        • #5
          السؤال رقم 3

          س3: كيف افتح و اغلق قارئ الاقراص الصلبة من سطر الاوامر ؟

          ج3 : اكتب الامر التالي للفتح :

          كود:
          #eject /dev/cdrom
          باستعمال المجلد /dev او الامر

          كود:
          #eject /mnt/cdrom
          باستعمال نقطة التركيب، و يجب ان يخضع لعملية mount من قبل ، او على /etc/fstab.

          كما يمكن استعمال الامر :
          كود:
          #eject -t /dev/cdrom
          و هذا للفتح و الغلق ايضا.

          السلام عليكم...........

          تعليق


          • #6
            السؤال رقم 4

            س4: كيف اعرف محتويات الملفات بصيغة RPM ؟

            ج4: هناك حالتين :

            اذا كان الملف مثبت على النظام ، اكتب

            كود:
            $ rpm -qil file.rpm
            بحيث :
            i : لاعطاءمعلومات مفصلة.
            l : لائحة الملفات.

            اما اذا كان الملف غير مثبت فاكتب :

            كود:
            $rpm -qilp file.rpm
            السلام عليكم............

            تعليق


            • #7
              السؤال رقم 5

              السلام عليكم

              س5: كيف استخرج كل الملفات الموجودة في ملف RPM ؟

              ج5: سنقوم باستعمال الحيلة الاتية :

              اولا نقوم بتحويل ملف RPM الى ملف ارشيف CPIO

              كود:
              rpm2cpio file.rpm > file.cpio
              ثم نحول ملف CPIO الى مجلد به كل ملفاتنا المطلوبة
              كود:
              cpio -i --make-directories < file.cpio

              تعليق


              • #8
                المشاركة الأصلية بواسطة شكثر مشتاق
                راائع جداا

                يعطيك العافيه اخوي fakir

                وانا اقترح تحذف الردود اللي مالها داعي ويقفل الموضوع ومتى ماتبغى تضيف اكيد عندك صلاحية تضيف
                السلام عليكم
                الف شكر اخي على الكلمات الطيبة، بارك الله فيك.
                الموضوع ليس خاص بي وحدي لذا لا اريد ان اغلقه و ارحب بكل المشاركات.
                على كل، ان شاء الله في الاخير اضعها في كتاب واحد ليستفيد الجميع.
                مشكور مرة اخرى.

                تعليق


                • #9
                  السؤال رقم 6

                  السلام عليكم و رحمة الله

                  س6: كيف اقوم بحذف ملف اسمه يبدأ بالاشارة - مثلا : myfile- ؟

                  ج6: هناك اكثر من طريقة لهذا الغرض :
                  كي نجرب نقوم بانشاء ملف بهذا الشكل :
                  كود:
                  $ echo > -myfile
                  و لما نحاول ان نحذفه باستعمال :
                  كود:
                  $ rm -myfile
                  فانه ينتج خطأ سببه ان الامر rm يعتبر ان كل ما جاء بعد علامة "-" هي احدى خصائصه ، فما الحل ؟؟
                  الامر بسيط جدا ، فقط نستعمل :
                  كود:
                  $ rm -- -myfile
                  و انتهت المشكلة، فعلامة "--" تخبر الامر ان كل ما بعدها ليس بخاصية له.
                  لكن في بعض التوزيعات لا يعمل هذا الامر ، و لهذا من الاحسن استعمال :
                  كود:
                  $ rm ./-myfile
                  و هذا هو الحل الامثل.

                  السلام عليكم.

                  تعليق


                  • #10
                    بارك الله فيك اخي fakir..
                    نحن معك .. متابعين الموضوع..
                    اريد ان اسألك ..؟
                    ممكن سكريبت يغير اسماء الملفات .. لنفرض عدد كبير من الصور اريد ان اغير اسمائها الى 1 .. 2 .. 3.. الخ.. هل هذا ممكن..؟؟
                    GCS

                    تعليق


                    • #11
                      السؤال رقم 7

                      و فيك بارك الله اخي العزيز Cpu
                      بالنسبة الى سؤالك :

                      س7: كيف اعمل سكريبت يغير اسماء الملفات .. لنفرض عدد كبير من الصور اريد ان اغير اسمائها الى 1 .. 2 .. 3.. الخ.. هل هذا ممكن..؟؟

                      ج7: بالتأكيد ممكن اخي ، و هذا سكريبت بسيط (طبعا و ليس الاحسن)

                      كود:
                      i=1
                      for var in MyDirectory/* ; do mv "$var" MyDirectory/myfile`printf %03d $i `+".jpg";
                      i=$((i+1))
                      done
                      الشرح :

                      اولا انشأنا متغير i ليساعدنا في تسمية الملفات الناتجة، ثم متغير آخر var و هو الذي يأخذ الملفات الموجودة كقيمة له، و قمنا على اساسه انشاء loop (لا ادر كيف تسمى بالعربية) ثم قمنا بتغيير الاسم للملفات واحدا بعد الاخر بالشكل myfile001.jpg و هذا مثال ليس الا، و اذا كان العدد اكبر يمكن استعمال 04d% مثلا و هكذا ...
                      اخي CPU هذا سكريبت جد بسيط و متواضع ، ممكن اهل الاختصاص يعطونا احسن من هذا بكثير.

                      السلام عليكم.

                      تعليق


                      • #12
                        بارك الله فيك اخي fakir ..
                        ليس المهم عندي كيفيه كتابه الكود.. لكن المهم ان يكون الابسط ويعمل بشكل ممتاز.. لان هذه صفات الكود القوي.. البساطه، القوه, السهوله عند القراءه..

                        شكرا لك اخي العزيز
                        GCS

                        تعليق


                        • #13
                          السؤال رقم 8

                          السلام عليكم

                          س8: كيف اقوم بحذف برنامج مثبت على جهازي؟

                          ج8 : لدينا الحالات التالية:

                          اذا كان البرنامج من الشكل rpm فما عليك الا فتح سطر الاوامر و كتابة :

                          كود:
                          $ rpm -e mysoft
                          و في حالة عدم التمكن لان البرنامج متصل ببرامج او ملحقات اخرى فيجب اضافة :

                          كود:
                          $ rpm -e --nodeps
                          اما اذا كان البرنامج من الشكل deb فهاهي الطريقة لذلك :

                          لحذف البرنامج و ترك ملفات التجهيز configuration
                          كود:
                          #dpkg -r mysoft
                          و اذا رغبت في حذف كلي :
                          كود:
                          # dpkg -P mysoft
                          كما يمكن استعمال الامر :
                          كود:
                          # apt-get remove mysoft

                          تعليق


                          • #14
                            السلام عليكم
                            عمل جميل اخي فقير.. بارك الله بك
                            احببت ان اشاركك
                            س9: كيف ابحث عن معلومه معينه اوكلمه معينه في ملفات المساعده man pages

                            ج9: تستطيع البحث في ملفات المساعده عن طريق امرين وهما:
                            كود:
                            man -k yourWord2Search
                            ويقوم بالبحث ويعطيك النتائج اول بأول ويسألك هل تريد قراءتها ام لا ام التوقف عن البحث (ynq)
                            الامر الآخر هو
                            كود:
                            apropos yourWord2Search
                            وسيقوم بالبحث في ملفات المساعده وإظهار كل ما وجده بالإضافه الى شرح بسيط عن كل ملف مساعده وجده
                            echo 'echo "Leastwise-Try-It-Your-Self!"' >> ~/.bashrc

                            تعليق


                            • #15
                              بالنسبه للسؤال رقم 1 ايضا تستطيع ان تقوم بذلك بطريقه سريعه عن طريق الامر slocate ولكن بشرط ان تكون قاعدة البيانات لديك محدثه اول بأول عن طريق الامر updatedb ... والتي تأخذ وقت قد يكون طويل... على كلا عملية التحديث تساعدك بالبحث خلال ثواني

                              ج1: اذا كانت لديك قاعدة البيانات محدثه استخدم الامر التالي وانت root
                              كود:
                              mv $(slocate *.mp3) /home/myHome/myMp3Files/
                              على اعتبار ان /home/myHome/myMp3Files/ هو الموقع الذي تريد ان تجمع الملفات فيه... وتذكر انك قد لا تستطيع نقل الملفات الموجوده في نظام الملفات NTFS
                              تحياتي
                              echo 'echo "Leastwise-Try-It-Your-Self!"' >> ~/.bashrc

                              تعليق

                              يعمل...
                              X