Have you used terminal? And various commands in terminal? Let's say you need to rename 2 files and the renaming is on a set pattern. You could rename 2 files manually, easy enough. But what if you need to rename 100 files? You can automate this using a shell script. Shell scripts are basically the same single line commands that you type in terminal but in a program form. So you have variables, logic, loops etc and you can run multiple commands.
Practical example, I have a shell script for syncing two folders, one on my laptop and the other on my tablet. So when I need to update my tablet, I connect it and run the shell script on my system.
Links:
Cheers,