O teste -s retorna verdadeiro se
[...] if file exists and has a size greater than zero
Isso está documentado no manual bash e também no manual do utilitário test (o teste também pode ser escrito em if test -s file; then ).
Para [ ... ] e [[ ... ]] , consulte: Bash - Se a confusão de sintaxe