Classificando serviços no Linux

Classificando serviços no Linux

Tenho alguns servidores Linux, todos executando serviços diferentes. Quando executo service --status-all, recebo algumas telas de saída. Achei que seria inteligente e canalizá-lo para sort, e ver como um grupo quais serviços foram iniciados, não iniciados ou desconhecidos. Executei o comando, mas ele apenas classificou as [ ? ]entradas na parte superior, e todas as [ - ]entradas [ + ]e estão agrupadas em uma bagunça!

O comando que usei foi service --status-all | sort. Existe uma maneira melhor de classificar também os sinais de mais e menos?

Isto é especificamente em uma caixa Debian, executando apenas a linha de comando

Responder1

Parece que service --status-allgrava os resultados [ + ]e [ - ]em stdout, mas os [ ? ]resultados em stderr. Portanto, para sortclassificar todos eles, você terá que combinar os fluxos stdout e stderr assim:

service --status-all 2>&1 | sort

A classificação é afetada pelo valor de LC_COLLATE, que por padrão é igual à sua LANGconfiguração. Se você não deseja alterar o valor de LC_COLLATEtodos os seus aplicativos, mas deseja que esta lista seja classificada por e +, use este comando:-?

service --status-all 2>&1 | LC_COLLATE=C sort

Para configurar LC_COLLATEtodos os seus aplicativos, coloque isso em seu script ~/.profile, ~/.bash_profileou qualquer outro script de origem para configurar seu ambiente no login:

export LC_COLLATE=C

informação relacionada