I find it most useful when I approach any learning with a clear goal (or at least a specific enough task) to accomplish.
Here's a list of simple Bash scripts that I think could be a useful learning exercise:
- what's your name? – asks for your name and then shows a greeting
- hello, world! (that also shows hostname and list server IP addresses)
- write a system info script – that shows you a hostname, disks usage, network interfaces and maybe system load
- directory info – script that counts disks space taken up by a directory and shows number of files and number of directories in it
- users info – show number of users on the system, their full names and home directories (all taken from /etc/passwd file)
- list virtual hosts on your webserver – I actually have this as a login greeting on my webservers – small script that highlights which websites (domains) your server has in web server (Apache or Nginx) configuration.
Do you have any more examples of what you'd like to do in a Linux shell? If not, I'll just start with the examples above. The plan is to replace each example name in the list above with a link to the Unix Tutorial post.