كيفية استخدام برامج Linux النصية لترتيب سطح المكتب في نظام التشغيل Windows 10



جرب أداة القضاء على المشاكل

عندما تقرأ عنوان هذه المقالة لأول مرة ، قد يغفر لك التفكير في أن شيئًا ما غير صحيح من الناحية الفنية. بعد كل شيء ، Linux ليس جزءًا من نظام التشغيل Windows ، أليس كذلك؟ هما نظامان تشغيل مختلفان تمامًا. في السابق ، كانت الطريقة الوحيدة لاستخدام البرمجة النصية لنظام Linux مع Windows في الماضي هي إما تثبيت شيء مثل سيغوين . أو استخدم نظام Linux للتمهيد المزدوج أو قم بتثبيت شيء مثل سامبا .



كل ذلك تغير في Windows 10! هناك العديد من توزيعات Linux المتوفرة في متجر Microsoft Windows. هذا السابق مقالة Appuals على Kali Linux يصف إحدى هذه الطرق للحصول على توزيع Linux محدد في بيئة Windows 10 الخاصة بك.



تتمثل إحدى مزايا استخدام البرامج النصية لـ Linux على جهاز Windows الخاص بك في أنه يمكنك الاستفادة من لغة البرمجة النصية القوية لـ Linux لأتمتة المهام ، خاصةً إذا كنت أكثر دراية بالبرمجة النصية لـ Linux من الملفات الدفعية مثل Powershell أو Dos. تشرح هذه المقالة كيفية كتابة برنامج Linux 'bash' لتنظيف سطح مكتب Windows نموذجي. إذا كنت مستخدمًا جديدًا لنظام Linux ، فستتعلم الأساسيات من هذه المقالة ، وستنشئ أداة مساعدة مفيدة في هذه العملية.



سنستخدم محطة Ubuntu Linux Terminal الأساسية (المتوفرة في متجر Windows على أجهزة Windows 10) والتي تتيح لك استخدام bash و k ssh و git و apt والعديد من أوامر Linux الأخرى. سيحتاج هذا إلى التثبيت إذا لم تكن قد قمت بذلك بالفعل. يتم شرح الطريقة هنا .

سطر أوامر Linux

بمجرد تثبيت Ubuntu وتشغيله ، ستحصل على نافذة سطر أوامر ، على غرار ما يلي. سيعطيك هذا سطر أوامر bash Linux:



سنكتب الآن السيناريو الخاص بنا. يمكنك تحرير الملف بأي محرر ، بما في ذلك محرر Windows مثل المفكرة ، أو محرر Linux مثل vi إذا كنت واثقًا من استخدامه.

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

صدى $ HOME

وسيخرج دليلك الرئيسي كما هو موضح في لقطة الشاشة التالية. تنسيق Linux ، يستخدم خطوط مائلة للأمام تمثل الأدلة ، مثل '/'.

للراحة ، سنضع البرنامج النصي في الدليل الرئيسي.

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

في نوع المحطة الطرفية “cd /”. يأخذك هذا إلى منطقة الجذر لبيئة Ubuntu الخاصة بك.

ثم اكتب 'ls'

هذا يسرد جميع الأدلة الموجودة في Linux. سترى شيئًا كهذا في محطة Linux:

نحن بحاجة إلى إيجاد سطح مكتب المستخدم الخاص بك. بافتراض وجود هذا على محرك الأقراص C ، قم بالتغيير إلى دليل 'mnt'. هذا هو المكان الذي سيتم فيه تحديد محركات أقراص windows على النحو التالي:

تحتاج بعد ذلك إلى معرفة الدليل الذي يوجد به سطح المكتب الخاص بك. يمكنك عادةً العثور على هذا في النوافذ عن طريق 'النقر بزر الماوس الأيمن' على أيقونة سطح المكتب مثل ذلك من قائمة 'الوصول السريع' في مستكشف الملفات. سيظهر موقع دليل سطح المكتب الخاص بك:

من هذا ، يمكنك التغيير إلى دليلك باستخدام Linux في Terminal:

لذلك ، في هذا المثال ، تكتب في Terminal ، وتتذكر أن الخطوط المائلة العكسية في Windows تعادل الشرطات المائلة للأمام في Linux. في حالتي ، المسار المطلوب في أمر 'تغيير الدليل' هو:

cd / mnt / c / Users / gofor / OneDrive / Desktop

بعد ذلك يمكنك سرد كافة الملفات الموجودة على سطح المكتب باستخدام 'ls':

إذا كان أي شيء يشبه سطح المكتب ، فستحصل على قائمة طويلة من الملفات مثل:

يمكنك أن ترى مدى الفوضى التي يبدو عليها سطح المكتب في Windows هنا:

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

لذلك ، على سبيل المثال ، ملفات الاختصارات ، ستكون ملفات * .lnk ، لذلك سننقلها إلى مجلد يسمى 'SHORTCUTS'.
وبالمثل ، سيتم نقل ملفات الصور ، مثل .jpg ، .png ، .bmp ، .svg إلى مجلد يسمى 'IMAGES'.
المستندات ومستندات Office ، مثل ملفات الكلمات مثل .docx و .pdf و .xls ، سيتم وضعها في مجلد يسمى 'OFFICEDOCS'.

لذلك ، عند تشغيل البرنامج النصي ، ستكون جميع المستندات متاحة بطريقة منظمة ، في الدليل ذي الصلة ، الذي تم إنشاؤه لفئة الملف تلك. سيؤدي ذلك إلى تنظيم سطح المكتب وجعل ملفات سطح المكتب أكثر تنظيماً. يمكنك إنشاء العديد من أنواع المجلدات وتحديد معايير الملف كما تريد. لا يلزم تنظيم الملفات حسب نوع الملف فقط ، يمكنك إنشاء مجلدات فئة كما تريد ، مثل 'HRFILES' و 'PROJECTFILES'. في هذا المثال ، سننظم الملفات حسب نوع الملف.

إنشاء فئة وقائمة ملف

من أجل استخدام هذا التطبيق ، سنحتاج إلى ملفين:

أ) قائمة الفئات وأنواع الملفات للذهاب إلى تلك الفئات الموجودة في ملف CSV مفصول بفواصل. سيكون كل اسم فئة هو اسم الدليل الذي سيتم وضع الملفات فيه على سطح المكتب. يمكنك إنشاء ملف CSV بأي محرر مفضل. في هذا المثال ، سنستخدم المفكرة.
ب) برنامج نصي Linux يقوم بقراءة ملف الفئة ومعالجة وظيفة الترتيب المطلوبة.

لإنشاء ملف في الدليل الحالي في نوع الجهاز الطرفي:

تنظيف المفكرة. csv

نظرًا لأن الملف لن يكون موجودًا في هذه المرحلة ، سيطلب منك إنشاء ملف جديد ، لذلك فقط اضغط على 'نعم'.

سنقوم الآن بإدخال التفاصيل التالية ، بالتنسيق 'category، filetype1، filetype2، filetype3،…، etc' سطر واحد لكل فئة على النحو التالي:

الاختصارات ، lnk 
الصور ، jpg ، png ، svg
المستندات ، txt ، docx ، doc ، pdf

سيكون الحقل الأول هو اسم الدليل على سطح المكتب ، حيث سيتم وضع أنواع الملفات المتبقية. الحقول المتبقية هي أنواع الملفات التي ترغب في نقلها إلى المجلد.

لذلك ، بالنسبة لمجلد SHORTCUTS ، سيتم نقل جميع ملفات * .lnk إلى هذا المجلد. بالنسبة لمجلد IMAGES ، سيتم نقل جميع الملفات التي تحتوي على * .jpg و *. png و * .svg إلى المجلد IMAGES. أخيرًا ، نقوم بنقل جميع ملفات * .txt و *. docx و *. doc و * .pdf إلى مجلد DOCUMENTS. بهذه الطريقة ، نقوم بتنظيم الملفات في الدلائل الصحيحة.

بمجرد إنشاء ملف CSV ، نكون مستعدين لكتابة البرنامج النصي. سوف نسمي البرنامج النصي ، cleanup.sh. بالمناسبة ، سيكون لهذا النص البرمجي الحد الأدنى من التحقق من الصحة ، لذا يجب التأكد من أن ملف CSV بالتنسيق الصحيح ، وإلا فلن يعمل! كل ما سنفعله في هذا البرنامج النصي هو التحقق من وجود الملفات والمجلدات ، كتحقق بسيط.

يمكنك تحرير البرنامج النصي في الجهاز إذا كنت تعرف برامج تحرير من نوع Unix ، مثل vi ، أو يمكنك ببساطة استخدام المفكرة:

تنظيف المفكرة

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

وبالتالي. أول سطرين في البرنامج النصي هما:

سطح المكتب = / mnt / c / المستخدمون // سطح المكتب 
CSV = cleanup.csv

يمكن رؤية النص الكامل أدناه. يرجى قراءة التعليقات إذا كنت ترغب في فهم الأوامر ، وإذا لم تكن متأكدًا من الأمر ، فجرّب 'man' في سطر أوامر Linux ، للحصول على مزيد من المعلومات حول كيفية عمل الأمر.

اجعل نص التنظيف قابلاً للتنفيذ وقم بتشغيله

لتشغيل البرنامج النصي من سطر الأوامر الرئيسي ، ستحتاج إلى جعله قابلاً للتنفيذ باستخدام الأمر التالي:

chmod + x cleanup.sh

لتشغيل البرنامج النصي ، ستحتاج إلى كتابة ما يلي ، كما هو الحال في الدليل الحالي.

./cleanup.sh

إليك كيف بدا سطح المكتب قبل وبعد تشغيل البرنامج النصي. يمكنك أن ترى أنه تم الآن إنشاء المجلدات التي تحتوي على الملفات المنقولة ، وأن سطح المكتب أقل تشوشًا:

قبل: بعد:

ودليل SHORTCUTS ، مع نقل جميع الاختصارات من سطح المكتب.

البرنامج النصي لينكس كامل سطح المكتب لنظام التشغيل Windows

يرجى ملاحظة التعليقات مسبوقة بـ '#' في البرنامج النصي ، لأنها تشرح كيفية عمل النص. # قم بتعيين المتغيرات الخاصة بموقع سطح المكتب المحلي أو أي دليل ترغب في تنظيفه ، واسم ملف CSV.

سطح المكتب = / mnt / c / Users / gofor / OneDrive / Desktop 
CSV = cleanup.csv

# اختبار لمعرفة ما إذا كان ملف التنظيف csv موجودًا ، باستخدام أمر لينكس “test” والعلامة “-f” لوجود الملف.
# إذا كان الملف غير موجود ، قم بإخراج رسالة خطأ ثم قم بإنهاء البرنامج النصي.

إذا [ ! -f $ {CSV}] إذن 
صدى ملف cleanup.csv غير موجود.
خروج -1
يكون

# الآن قم بتحويل ملف CSV إذا تم حفظه بتنسيق DOS إلى تنسيق Unix عن طريق إزالة أحرف إرجاع أول السطر.
# احفظ الإخراج في ملف مؤقت ، ثم أعد تسمية الملف المؤقت إلى الاسم الأصلي.

tr -d ' r' temp.csv 
ملف temp.csv $ CSV

# الآن ، انتقل إلى ملف CSV سطرًا سطرًا ، وقم بتخزين اسم المتغير الأول ، وهو ملف
# اسم التصنيف / الدليل ، حيث تكون جميع الوسائط المتبقية هي أنواع الملفات التي ستكون
# في هذه الدلائل.

أثناء قراءة csvline 
فعل
العد = 1
لنوع الملف في 'echo '$ csvline' | tr ، ' n'
فعل
إذا [$ count -eq 1] إذن
# نظرًا لأن هذه هي الوسيطة الأولى ، تحقق مما إذا كان المجلد موجودًا بالفعل ، وإذا لم يكن كذلك ، فقم بإنشائه.
إذا [ ! -d $ {DESKTOP} / $ filetype] إذن
# الدليل غير موجود فنقوم بإنشائه.
mkdir $ {DESKTOP} / $ filetype
يكون
CATEGORY = $ {filetype}
آخر
# إخراج رسالة ودية تشير إلى ما يفعله البرنامج النصي.
صدى 'نقل *. $ {filetype} إلى $ {CATEGORY}'
# لا تعرض أي رسائل خطأ (على سبيل المثال> 2 / dev / null) عند نقل الملفات في حالة عدم وجود الملفات ،
# لذا فإن الأمر 'mv' هو 'صامت'.
mv $ {DESKTOP} /*.$ {filetype} $ {DESKTOP} / $ {CATEGORY} 2> / dev / null
يكون
count = `expr $ count + 1`
منجز
منجز< cleanup.csv
قراءة 7 دقائق