En UNIX, ¿cómo encontrar los comandos más utilizados en la historia?
utilities
command-history
command
swetha
fuente
fuente
Respuestas:
Más bien depende de lo que pretendes por 'comando'. Desde un punto de vista de un comando es simplemente un ejecutable llamado desde la línea de comandos, por lo tanto,
ls
yls -alh /tmp/foo/bar/*tar.bz
son a la vez el comandols
. Otra perspectiva es que un comando es la suma de sus partes, lo que significa que el ejemplo anterior es 2 comandos distintos.Si su intención es contar comandos completamente únicos en el historial, puede ejecutar:
history | cut -d' ' -f4- | uniq -c | sort -n
Tenga en cuenta que esto se probó en un sistema Debian, la sintaxis de salida de su comando de historial puede variar ligeramente. Ajuste el número '4' en el comando para seleccionar columnas alternativas.
Si desea considerar solo el primer comando sin argumentos, puede ejecutar:
history | cut -d' ' -f4- | cut -d' ' -f1 | uniq -c | sort -n
Para incluir los argumentos pero no los comandos encadenados o canalizados que siguen, puede ejecutar:
history | cut -d ' ' -f4- | cut -d'|' -f1 | uniq -c | sort -n
Tenga en cuenta que cada uno de estos ordena el número de comandos numéricamente con la frecuencia más alta que aparece al final.
fuente
sort
antesuniq
para obtener un conteo preciso ya que solo verifica las líneas adyacentes:history | cut -d' ' -f4- | cut -d' ' -f1 | sort | uniq -c | sort -n
He visto respuestas vucar y tok , son muy útiles, pero también puedes usar la herramienta increíble
awk
:si desea una lista de comandos que usa con más frecuencia:
para encontrar el comando más usado:
para mí fue
vi
:fuente
Otro enfoque sería utilizar la contabilidad de procesos BSD , que también está disponible en Linux (aunque no sé si está habilitado de forma predeterminada). Básicamente mantiene una pestaña de todos los programas que se ejecutan (y algunas otras medidas, como el tiempo de CPU consumido, etc.) mientras la contabilidad esté activa. A partir de ahí, hay algunas estadísticas agregadas disponibles, entre otras: una especie de lista de todos los programas que se ejecutan en el sistema, ordenados por etc. número máximo de usos.
Los comandos a buscar son
lastcomm
para el registro en ejecución ysa
para las estadísticas agregadas. Volviendo a la pregunta original, suponiendo que el sistema en cuestión hubiera tenido habilitada la contabilidad desde que se instaló, luegosa -n
daría una lista de todos los comandos ejecutados en el sistema (para todos los usuarios), ordenados por frecuencia. Para las tuberías, cada parte de la tubería, por supuesto, se contará por separado, ya que cada parte comprende un nuevo proceso que se bifurca.Para más detalles, la revista Linux tiene un artículo que explica el funcionamiento. Yo mismo tuve la idea de la guía de NetBSD ; Muchos de los consejos de administración más genéricos no son específicos de NetBSD, pero también se aplican a otros sistemas Unix.
fuente
Los 20 comandos CLI más utilizados:
fuente
Puede usar un solo comando de corte:
fuente
Si es solo para la sesión actual, entonces
hash
sin argumentos.fuente