Hostwinds مدونة
نتائج البحث عن:
عند مقارنة أوامر واجهة سطر أوامر Windows التقليدية (CLI) مع أدوات Linux CLI ، لا توجد مقارنة.لا يوجد شيء في Windows CLI التقليدية (CD ، DIR ، COPY ، DEL ، إلخ) قوي مثل AWK ، SED ، HEAD ، TEL ، TSORT ، UNIQ ، SPLIT ، إلخ.CLI هي أن معالجة دفق النص مطلوب غالبًا للحصول على النتيجة المرجوة.على سبيل المثال ، قل أنك ترغب في عنوان IPv6 لجهاز Linux الخاص بك.قد يكون نهج واحد:
ifconfig | grep inet6 | head -1 | awk '{print $2}'
يمسك أمر GREP بسطور متعددة تحتوي على "inet6" ، ويستحوذ الأمر على أول هذه ، ويطبع AWK الحقل الثاني (أي السلسلة الثانية) في السطر ، مما ينتج عنه قيمة IPv6 المطلوبة.بقعة جميلة حقًا لكننا نعالج تدفقات النص ، والتي يمكن أن تصبح معقدة للغاية.على سبيل المثال ، قل أنك ترغب في القيام بما يلي:
PowerShell للقيام بذلك واضح إلى حد ما:
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path
وهنا مقتطف من الإخراج.كما يتبين ، يتم فرز الجدول عن طريق عدد المقبض ، ثم عن طريق وقت وحدة المعالجة المركزية (لاحظ أوقات وحدة المعالجة المركزية الهبوطية للعمليات الثلاث باستخدام 18 مقابض):
Name HandleCount CPU Path
---- ----------- --- ----
chrome 165 375.13 /opt/google/chrome/chrome
pwsh 128 81.1 /opt/microsoft/powershell/7/pwsh
chrome 52 216.36 /opt/google/chrome/chrome
chrome 44 151.13 /opt/google/chrome/chrome
Xvnc 33 254.66 /usr/bin/Xvnc
dbus-daemon 31 0.23 /usr/bin/dbus-daemon
chrome 23 0.45 /opt/google/chrome/chrome
xfce4-terminal 18 16.39 /usr/bin/xfce4-terminal
xfce4-session 18 0.12 /usr/bin/xfce4-session
xrdp-chansrv 18 0.05 /usr/sbin/xrdp-chansrv
xfdesktop 15 4.39 /usr/bin/xfdesktop
xfce4-power-manager 15 0.39 /usr/bin/xfce4-power-manager
chrome 15 0.03 /opt/google/chrome/chrome
الآن قل ذلك بالإضافة إلى ما سبق ، هل ترغب في التجميع عن طريق عدد المقبض؟لا يمكن أن يصبح الأمر أسهل بكثير ، فقط أضف وسيطة -GroupBy HandleCount إلى CMDLET TABLET TABLE (نعم ، هذا ما يطلق عليهم):
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path -GroupBy HandleCount
إليك مقتطف من هذا الإخراج:
HandleCount: 18
Name HandleCount CPU Path
---- ----------- --- ----
xfce4-terminal 18 16.68 /usr/bin/xfce4-terminal
xfce4-session 18 0.12 /usr/bin/xfce4-session
xrdp-chansrv 18 0.05 /usr/sbin/xrdp-chansrv
HandleCount: 15
Name HandleCount CPU Path
---- ----------- --- ----
xfdesktop 15 4.43 /usr/bin/xfdesktop
xfce4-power-manager 15 0.4 /usr/bin/xfce4-power-manager
chrome 15 0.03 /opt/google/chrome/chrome
لاحظ أنه لا يوجد تلميح لمعالجة دفق النص في أي من أمثلة PowerShell هذه.ذلك لأن PowerShell يمرر الكائنات (مع خصائص مختلفة) بين CMDlets وليس تدفقات البيانات.إذا كنت ترغب حقًا في ذلك ، فلا يزال بإمكانك التعامل مع تدفقات النص مع cmdlet المحدد ، ولكن نادراً ما تكون هناك حاجة للقيام بذلك.بالمناسبة ، في المثال الأخير ، يمكنك التجميع من خلال أي خاصية كائن Get-Process ويمكنك استخدام Get-Process |احصل على عضو لمعرفة بسرعة ما هي الخصائص المتاحة.
صوت مثير للاهتمام؟أتساءل كيف تبدأ؟ثم انظر باستخدام PowerShell مع Linux.
كتب بواسطة Karlito Bonnevie / أبريل 29, 2022