Para una salida de longitud más dinámica que la respuesta de moosaka (por ejemplo, si tiene pocos nombres de usuario muy largos, pero los usa muy raramente y no quiere que la pantalla pierda la mayor parte del tiempo), puede usar:
usuario de EP-EO: $ (UID ps axho | sort -u | xargs getent passwd | corte f1 -d: | wc -l), pid, ppid, c, stime, tname, tiempo, cmd
Hará que la longitud de la columna de nombre de usuario sea tan larga como el nombre de usuario más largo del proceso en ejecución. (Tenga en cuenta que no es a prueba de balas sin embargo, y si el nuevo proceso con nombre de usuario más largo comienza en la fracción de segundo mientras se ejecuta el comando, aún puede obtener un número mostrado. Pero el 99.99% de las veces es mucho mejor)
explicación: $(ps axho uid [...] | wc -L)
calcula la longitud máxima de nombre de usuario del proceso en ejecución, y luego ejecutar ps normal con esa longitud del nombre de usuario
Alternativamente, si desea ps para ver como de costumbre para los nombres de usuario cortos (< = 8 caracteres), y no lo hace Tenga en cuenta que algunos nombres de usuario largos en la salida se desalinean con los encabezados, puede hacer algo como:
ps ax -o usuario: 40, pid, ppid, c, stime, tname, tiempo, cmd | perl -pe 'if (/^(\ S +)/y length $ 1> 8) {s/^ (\ S +) \ s +/$ 1 /} else {s/^ (. {9}) \ s +/$ 1 /} '
lo que hace es hacer la columna nombre de usuario de salida muy larga (-o user:40
), y luego posprocesa la salida se recortan nombres de usuario tan largos (length $1 > 8
) tienen un solo espacio entre ellos y la columna siguiente, y los nombres de usuario cortos (else {
) volver al modo predeterminado (hasta 8 caracteres de nombre de usuario, y el resto hasta 9º carácter son espacios)
¿Quizás porque los números de UID tienen una longitud máxima bastante predecible, mientras que los nombres de usuario pueden ser bastante largos? –
Sí, es la longitud del nombre de usuario (Si tiene más de 8 caracteres, entonces 'ps aux' sustituirá el uid por el nombre). Ejecutando 'man ps' ahora para obtener detalles. –