Se você pode usar o bzip2:
for file in /serv/test/*; do
bzip2 -k $file
done
A opção -k
mantém o arquivo original.
Com compressa, o loop seria muito próximo.
Se você puder usar tar
, ele criará um único arquivo morto em vez de vários arquivos.
EDIT: como apontado por gman, o utilitário find
pode ser usado para compactar em vez de fazer um loop for:
find /serv/test/ -type f -exec bzip2 -k {} \;