-
1. Introduction to operating systems
While web developers primarily focus on coding web applications and front-end development, having a good grasp of operating systems is essential for ensuring the compatibility, security, performance, and reliability of their applications, as well as for troubleshooting and optimizing various aspects of web development.
-
2. Introduction to data networks
Networking is an integral part of web development because web applications rely on network communication to function. A solid understanding of networking concepts and practices is essential for building secure, performant, and reliable web applications.
-
3. The shell. Linux commands
Knowing Linux commands for a system administrator or even a software developer is of utmost importance because most servers run on a Linux or Unix operating system.
- 3.1 ls : showing files
- 3.2 file permissions
- 3.3 mkdir. Creating directories
- 3.4 rmdir. Deleting directories
- 3.5 Moving/renaming files and directories
- 3.6 Other commands
- 3.7 Mounting units
- 3.8 Daemons
- 3.9 What processes are running?
- 3.10 Who am I and where am I?
- 3.11 Files has its owner
- 3.12 Other commands
- 3.13 Users
- 3.14 The /etc/passwd file
- 3.15 The /etc/group file
- 3.16 Links
-
4. Shell script
In this chapter I want you to learn shell script but based on examples. Once you see the example I will propose another very similar one. If you do it and it works great, that means that not only do you understand the exercise but you are able to perform similar exercises. Keep in mind that with shell scripts you have to be patient. Misplaced whitespace can even cause a script to not work. If that happens, take a deep breath, be patient and persist, you will surely find the solution to the problem.
- 4.1. Your first shell script
- 4.2. Adding comments to your shell script
- 4.3. Variables in bash
- 4.4. Functions in bash
- 4.5 Conditional sentences
- 4.6. Repetitive sentences. Loops
- 4.7. Returning to functions
- 4.8. Arguments passed to a shell script.
- 4.9. Interaction with the user.
- 4.10. Using bash as a calculator
- 4.11. The expr command
- 4.12. What is the exit command and exit status?
- 4.13. File comparisons.
- 4.14. Comparisons of integers.
- 4.15. The shift command.
- 4.16. The let command and the arithmetic operators.
- 4.17. Logical operators.
- 4.18. The generation of random numbers.
- 4.20. C-style variables.
- 4.21. Menus in shell scripts.
- 4.22. Length of a string.
- 4.23. Finding out the numerical position of a substring in a string.
- 4.24. Extraction of a substring.
- 4.25. Deleting a substring.
- 4.26. Replacing a substring.
-
5. NETWORKING
4.8. Arguments passed to a shell script.
Arguments are the parameters that we pass to a command to parameterize it. For example, when I type ps -ef, the “-ef” are the parameters that I pass to ps to do what I want. Also when I execute mv fichero.txt fichero2.txt, I pass two parameters to mv which are the name of the file to be renamed and the name we want to give it.
Within a script we can reference the arguments passed to it using the following variables:
$0 script name
$1 first argument
$2 second argument
And so on…
$# number of arguments passed
$* all arguments passed
To see how parameters work, let’s look at a program that checks if at least one parameter has been passed:
As you can see at the beginning of the script, I check with [ -z «$1» ] that at least the first parameter exists and if not, it shows the messages you see and exits with the exit command. That way it ends and the script does not continue executing.
The previous script can be used to create a somewhat more complex script like the following:
As you can see, I have reused the previous script to make a more complete one. This script establishes source and destination directories for the backup and a file (FICH) where the backup will be performed, which has the name backup- and the date it was performed.
Copy and run the above code. Check that it works and modify the code to change the name of the file and store the backups in another directory.