Hostwinds Blog
Suchergebnisse für:
Beim Vergleich der Befehle der traditionellen Windows-Befehlszeilenschnittstelle (CLI) mit denen eines Linux-CLI gibt es wirklich keinen Vergleich.Es gibt nichts in der traditionellen Windows -CLI (CD, Dir, Copy, Del usw.), so mächtig wie awk, sed, Kopf, Schwanz, Tsort, Uniq, Split usw., das heißt, eines der gemeinsamen Probleme mit dem LinuxCLI ist, dass eine Textstromverarbeitung häufig erforderlich ist, um das gewünschte Ergebnis zu erzielen.Angenommen, Sie möchten die IPv6 -Adresse Ihres Linux -Computers.Ein Ansatz könnte sein:
ifconfig | grep inet6 | head -1 | awk '{print $2}'
Der GREP -Befehl greift mehrere Zeilen mit "INET6", dem Kopfbefehl, der erste davon und awk druckt das zweite Feld (d. H. Die zweite Zeichenfolge) in der Zeile und erzeugt den gewünschten IPv6 -Wert.Ziemlich glatt wirklich, aber wir verarbeiten Textströme, die schnell ziemlich kompliziert werden können.Sagen Sie zum Beispiel, Sie möchten Folgendes tun:
Die Powershell, dies zu tun, ist ziemlich einfach:
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path
Und hier ist ein Ausschnitt der Ausgabe.Wie zu sehen ist, wird die Tabelle nach der Griffzahl sortiert und dann nach CPU -Zeit (beachten Sie die absteigende CPU -Zeiten für die drei Prozesse mit 18 Griffen):
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
Sagen Sie nun, dass Sie zusätzlich zu den oben genannten nach Griffzählungen gruppieren möchten?Es könnte nicht viel einfacher werden. Fügen Sie einfach das Argument für das HandleCount -Argument für das Format -Tisch -CMDLET hinzu (ja, das ist, was sie genannt haben):
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path -GroupBy HandleCount
Hier ist ein Ausschnitt dieser Ausgabe:
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
Beachten Sie, dass in keiner dieser PowerShell -Beispiele ein Hinweis auf die Verarbeitung von Textstromverarbeitung vorhanden sind.Das liegt daran, dass PowerShell Objekte (mit verschiedenen Eigenschaften) zwischen CMDLets und nicht Datenströmen übergibt.Wenn Sie wirklich wollten, können Sie noch Textströme mit dem Select-String-CMDLet manipulieren, aber es besteht selten die Notwendigkeit, dies zu tun.Übrigens können Sie im letzten Beispiel jede Eigenschaft Get-Process-Objekt gruppieren und Get-Process | verwendenTreffen Sie, um schnell zu sehen, welche Eigenschaften verfügbar sind.
Faszinierend klingen?Sie fragen sich, wie man anfängt?Dann sehen Verwenden von PowerShell mit Linux.
Geschrieben von Karlito Bonnevie / April 29, 2022