Depende do que você pretende por 'comando'. De uma perspectiva, um comando é simplesmente um executável chamado a partir da linha de comandos, portanto, ls
e ls -alh /tmp/foo/bar/*tar.bz
são ambos o comando ls
. Outra perspectiva é que um comando é a soma de suas partes, significando que o exemplo acima é de 2 comandos distintos.
Se sua intenção é contar comandos totalmente únicos no histórico, você pode executar: history | cut -d' ' -f4- | uniq -c | sort -n
Por favor, esteja ciente que isto foi testado em um sistema Debian, a sintaxe de saída do seu comando history pode variar um pouco. Ajuste o número '4' no comando para selecionar colunas alternativas.
Se você deseja considerar apenas o primeiro comando sem argumentos, você pode executar: history | cut -d' ' -f4- | cut -d' ' -f1 | uniq -c | sort -n
Para incluir os argumentos, mas não comandos encadeados ou canalizados que se seguem, você pode executar: history | cut -d ' ' -f4- | cut -d'|' -f1 | uniq -c | sort -n
Por favor, note que cada um destes tipos o número de comandos numericamente com a maior freqüência aparecendo por último.