Como faço para fazer uma lista com os comandos mais usados no terminal?
Sei que essa pergunta pode ser inútil para futuras propostas para alguns de nós, mas, mesmo assim, a lista pode ser útil quando não lembrarmos de um comando usado uma ou várias vezes no passado, quando pudermos pesquisar no final desta lista.
command-line
bash
history
Radu Rădeanu
fonte
fonte
Respostas:
Usaremos os registros do
.bash_history
arquivo para fazer isso. O próximo comando fornecerá uma lista de todos os comandos para que você os use com mais freqüência:Se você deseja apenas os 10 principais, adicione
head
o comando acima:Para obter um top específico, por exemplo, o top 5, use
head
com a-n 5
opção:Se você quiser a lista na ordem inversa (em cima dos comandos raramente usados), não use
r
oprion por segundosort
:E, finalmente, para obter uma lista com os comandos usados uma vez, por exemplo, use
grep ' 1 '
(mude1
com o número desejado):Para lidar com
sudo
comandos (comosudo vim foo
), em vez de apenas{print $3}
no comando awk, use:Portanto, o comando inteiro ficaria assim:
Por exemplo:
Você pode ver o salto nas contagens para
vim
,rm
, etc.fonte
sudo -i
, porque me dá-i
que o comandosudo -i
inicia um novo shell. Essa história não está mais na história do seu shell, mas noroot
. Obviamente esses comandos não funcionam em muitos casos extremos; não há como lidar com todos os comandos possíveis sem escrever seu próprio analisador para a linguagem shell.if ($3 ~ /sudo/ && $4 !~ /^-/)
O comando abaixo também listará os
top 10
comandos do terminal usados com mais freqüência,Comando para listar todos os comandos mais usados no terminal,
fonte
Fish & Bash - A questão não especifica um shell específico, apenas 'terminal'. Mude a cabeça para o número que desejar.
Peixe
history | awk '{print $1}' | sort | uniq --count | sort --numeric-sort --reverse | head -10
Esse Bash parece funcionar e é um pouco mais curto e fácil de entender do que as outras respostas. Gosto das opções longas para ajudar a legibilidade nesses tipos de exemplos.
Bater
history | awk '{print $2}' | sort | uniq --count | sort --numeric-sort --reverse | head -10
fonte