Você pode fazer isso executando o comando dentro do GNU time . Por padrão, a hora mostra os itens de dados real (relógio de parede), user (CPU-segundos usados no modo de usuário) e sys (CPU-segundos usados no modo kernel). No entanto, você também pode pedir para medir outras coisas, como RAM e uso do disco:
/usr/bin/time -f "File system outputs: %O\nMaximum RSS size: %M\nCPU percentage used: %P" <command>
onde <command> é substituído pelo comando que você deseja executar. A saída será algo como:
File system outputs: 18992
Maximum RSS size: 40056
CPU percentage used: 367%
onde "percentual de CPU usado" é uma porcentagem e mostra aqui que 3.6 núcleos foram usados, "Tamanho máximo de RSS" é o mais próximo de "memória máxima usada" e é expresso em kilobytes e "Saídas do sistema de arquivos" é expresso em número de operações (isto é, não diz quantos dados são gravados). Os comandos du e df que você deu devem ajudar lá.
Nota: você precisa de usar /usr/bin/time em vez de apenas time , já que muitos shells têm isso como internos, o que não necessariamente suporta a opção -f .
Para mais informações, consulte man time