Shell é a linha de comando do Linux e é quem interpreta a linha de comandos digitada pelo usuário no terminal e chama os programas desejados. O shell tem seus próprios comandos (como FOR, IF e WHILE), para tornar as chamadas de comando que o usuário faz mais “inteligente” e ajustável. É uma ferramenta importante para criar scripts e programas rápidos que automatizem as tarefas diárias.
O shell é como um Batch melhorado, polivalente e completo o bastante para fazer grandes programas. Dá para fazer interfaces que interajam com o usuário, CGI, manipular bancos de dados... Basta conhecer os comandos e desbravar as opções que ele te dá!
Antes de sair por aí dizendo que você deveria aprender Shell script, eu preciso te falar sobre a vantagem de dominar esse conhecimento: você poupa tempo. E não é pouco. Estamos falando de levar segundos para resolver algo, ou perder meia hora, caso você não saiba nada de shell script.