Hostwinds Blog
Resultados de búsqueda para:
Al comparar los comandos de la interfaz tradicional de la línea de comandos de Windows (CLI) con los de una CLI de Linux, realmente no hay comparación.No hay nada en el CLI tradicional de Windows (CD, Dir, Copy, Del, etc.) tan poderoso como Awk, Sed, Head, Tail, Tsort, Uniq, Split, etc. Dicho, uno de los problemas comunes con el LinuxCLI es que el procesamiento de flujo de texto a menudo se requiere para obtener el resultado deseado.Por ejemplo, digamos que le gustaría la dirección IPv6 de su máquina Linux.Un enfoque podría ser:
ifconfig | grep inet6 | head -1 | awk '{print $2}'
El comando GREP toma múltiples líneas que contienen "Inet6", el comando Head toma el primero de estos, y AWK imprime el segundo campo (es decir, la segunda cadena) en la línea, produciendo el valor IPv6 deseado.Bastante muy resbaladizo, pero estamos procesando flujos de texto, lo que puede volverse bastante complicado.Por ejemplo, digamos que le gustaría hacer lo siguiente:
El PowerShell para hacer esto es bastante sencillo:
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path
Y aquí hay un fragmento de la salida.Como se puede ver, la tabla se clasifica mediante el recuento de manijas, luego por tiempo de CPU (tenga en cuenta los tiempos de CPU descendentes para los tres procesos usando 18 manijas):
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
Ahora diga que además de lo anterior, ¿le gustaría agrupar por el conteo de manejo?No podría ser mucho más fácil, solo agregue el argumento HandLecount -groupby al cmdlet de la mesa de formato (sí, así se llaman):
Get-Process | Sort-Object -Property HandleCount, CPU | Format-Table -Property Name, HandleCount, CPU, Path -GroupBy HandleCount
Aquí hay un fragmento de esa salida:
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
Tenga en cuenta que no hay un toque de procesamiento de flujo de texto en ninguno de estos ejemplos de PowerShell.Esto se debe a que PowerShell pasa objetos (con varias propiedades) entre cmdlets y no flujos de datos.Si realmente quiso, aún puede manipular las transmisiones de texto con el cmdlet de cuerda de selección, pero rara vez es necesario hacerlo.Por cierto, en el último ejemplo, puede agrupar por cualquier propiedad de objetos Get-Process y puede usar Get-Process |Obtener miembro para ver rápidamente qué propiedades están disponibles.
¿Suena intrigante?¿Se pregunta cómo comenzar?Luego ver Usando PowerShell con Linux.
Escrito por Karlito Bonnevie / abril 29, 2022