Hostwinds دروس

نتائج البحث عن:


جدول المحتويات


البدء مع WSL
أنظمة ملفات WSL و Windows
أمر WSL و Windows DU
خلط أوامر Linux و Windows

كيفية استخدام نظام Windows الفرعي لـ Linux (WSL)

العلامات: Cloud Servers,  Dedicated Server 

البدء مع WSL
أنظمة ملفات WSL و Windows
أمر WSL و Windows DU
خلط أوامر Linux و Windows

يسمح النظام الفرعي لـ Windows لـ Linux (WSL) بتشغيل Linux Binary Executables أصلاً على Windows 10 وأعلى وكذلك Windows Server 2019 وأعلى.تستخدم WSL نواة Linux حقيقية من خلال مجموعة فرعية من ميزات Hyper-V.لمعرفة كيفية تثبيت WSL لنظام التشغيل Windows ، انظر نظام Windows الفرعي لـ Linux: كيفية تثبيت وتكوين WSL.

في هذا البرنامج التعليمي ، سنبدأ ببعض الأمثلة المباشرة وذوي ذروتها باستخدام أوامر Linux و PowerShell و DOS (cmd.exe) معًا.

البدء مع WSL

للبدء ، افتح توزيع Linux المثبت على النحو التالي:

الخطوة 1: حدد ملف بداية القائمة ، ثم حدد توزيع Linux الذي قمت بتثبيته - لهذا المثال قمنا بتثبيت Ubuntu.

يجب أن تكون الآن في موجه أوامر Linux لتوزيعك:

شيء واحد يجب ملاحظته على الفور هو عدد عمليات التشغيل - 12 في هذه الحالة.هذا يسلط الضوء على حقيقة أنه فيما يتعلق Linux ، فإنه يعمل على "آلة" الخاصة به.تعمل Windows ، في هذه الحالة ، في الواقع 236 عملية (بما في ذلك WSL):

يسلط هذا المثال الضوء على حقيقة أنه يمكنك تشغيل أوامر PowerShell من بيئة WSL Linux.في ما سبق ، لاحظ الاقتباسات حول أمر PowerShell (لا تتطلب جميع أوامر WSL PowerShell عروض أسعار ، كما في PowerShell.exe Get-Process).يمكن أيضًا رؤية سلوك الجهاز الظاهري هذا من خلال تشغيل Linux أعلى يأمر:

على الخط الرابع مما سبق ، نرى أن هناك 11911.9 MIB (أو Legacy MB) للذاكرة "المادية".لتحديد الذاكرة الفعلية الفعلية للنظام ، يمكنك تشغيل أوامر Windows التالية من داخل WSL:

systeminfo.exe | finstr.exe

هذا يدل على أن هناك بالفعل 15289 ميجابايت من الذاكرة الفعلية:

بمعنى آخر ، تم تخصيص بعض النسبة المئوية من الذاكرة الفعلية لنظام Windows لجهاز Linux الظاهري.

بعد ذلك ، سنقوم بفحص أنظمة ملفات WSL Linux و Windows وكيفية تعرضها لبعضها البعض.

أنظمة ملفات WSL و Windows

من WSL ، قم بتشغيل الأوامر التالية:

cd /
ls -lah

فمثلا:

هذه قائمة دليل جذر Linux نموذجي.ومع ذلك ، إذا نظرنا داخل mnt الدليل ، يمكننا أن نرى كيف يتم عرض نظام ملفات Windows من خلال WSL (أوامر Note):

في ما سبق ، نرى مجلدات Windows القياسية مثل ملفات البرنامج والمستخدمين والنظام النووي ، إلخ.

الآن ، على جانب Windows من الأشياء ، يمكننا الوصول إلى نظام ملفات WSL على النحو التالي:

1. افتح Windows Explorer وفي شريط العناوين ، اكتب محرك الشبكة \\ wsl $، كما هو موضح:

لاحظ أن الصورة أعلاه تعني أنه يمكنك تثبيت توزيعات Linux متعددة في نفس الوقت ، وهذا هو الحال بالفعل.

2. انقر نقرًا مزدوجًا فوق توزيع Linux الذي قمت بتثبيته (Ubuntu في هذا المثال).يوفر هذا الوصول إلى نظام ملفات WSL:

أمر WSL و Windows DU

بعد ذلك ، دعنا نفحص أمر Linux الذي يجب أن يكون له Windows حقًا - أمر DU.في Windows ، قد يكون من الصعب فرز كل من الملفات والأدلة حسب الحجم.بالنسبة إلى Linux ، هذه المهمة واضحة نسبيًا:

du -aSh 2>&1 | sort -n -r | head -n 5

مثال يتبع:

للأعلى:

  • du -ash 2> & 1 إرجاع معلومات حجم الملف/الدليل ، وتجاهل أي أخطاء إذن.
  • فرز -n -r قم بفرز قائمة الملف/الدليل حسب الحجم ، من الأصغر إلى الأكبر.
  • رأس -5 إرجاع أفضل 5 ملفات/أدلة.

الآن ألن يكون من الرائع أن يتمكن Windows من فعل ذلك؟حسنًا ، بفضل WSL ، يمكنه الآن.من موجه أوامر Windows مرتفع (cmd.exe) ، قم بتشغيل ما يلي:

wsl du -aSh 2>&1 | wsl sort -n -r | wsl head -n 5

ينتج عن هذا الإخراج مشابهًا لـ:

لاحظ ال WSL قبل كل أمر Linux.هذا مطلوب لإعلام Windows بأننا ندير أمر Linux (من التوزيع المثبت) وليس أمر Windows مشوه.

بعد ذلك ، دعنا نحفر أعمق قليلاً فيما يتعلق بالجمع بين أوامر Linux و PowerShell و DOS (cmd.exe).

خلط أوامر Linux و Windows

إليك مثال على خلط الأوامر في موجه أوامر WSL Linux.هذا يجمع بين Linux و PowerShell و DOS:

powershell.exe Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | awk '{print $2}'

ندير أولاً Get-Childitem أمر PowerShell ، ثم قم بتنشيط ذلك في DOS Findstr أمر ، وأخيراً الأنابيب في Linux أوعية يأمر.لفهم تدفق الأوامر بشكل أفضل ، سنبدأ بالممثل Get-Childitem انتاج:

ثم نستخدم Findstr أمر DOS لتحديد الإخراج الذي يحتوي على "Karlito":


أخيرًا ، نختار العمود الثاني باستخدام Linux أوعية يأمر:

بعد ذلك ، سنقوم بتشغيل أمر مماثل من موجه أوامر PowerShell ، كما هو موضح:

Get-ChildItem -Recurse -ErrorAction SilentlyContinue | findstr.exe "karlito" | wsl awk '{ print \$6 }'

مرة أخرى ، سننظر إلى هذه الخطوة بخطوة ، بدءًا من الإخراج التمثيلي Get-Childitem:

نجد بعد ذلك الملفات/الدلائل التي تحتوي على "Karlito:

لاحظ الأعمدة الستة أعلاه (تعتبر بيانات PM/AM عمودًا).بسبب هذا ، نحتاج إلى تغيير أوعية الأمر على النحو التالي:

مراقبة \ الشخصية قبل $6 في ال أوعية يأمر.بسبب ال $ الشخصية لها معنى خاص في PowerShell ، لذلك يجب أن نهرب من استخدام \، كما هو موضح.

يدير المثال الأخير نفس الأمر ولكن من موجه أوامر Windows (cmd.exe):

لاحظ استخدام powershell.exe لتشغيل أمر PowerShell و WSL لتشغيل الأمر Linux.

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

كتب بواسطة Karlito Bonnevie  /  يونيو 17, 2022