GNU time is a really handy utility available in the repositories of every Linux distribution: we can use it to retrieve information about the “real”, “user”, and “system” execution times of a command, and, more generally, to check the amount of system resources used by it.
Jupyter Notebook is a web application used to produce computational documents, commonly called “notebooks” which can contain human-readable text, executable code, charts, and more. When used together with Python and libraries like pandas and Matplotlib, Jupyter notebooks are an excellent tool we can use for presentations and data analysis.
In previous Ansible tutorials we saw how easy it is to understand the basic concepts of this fantastic automation tool, how to write our first playbooks, how to organize tasks into roles, and how to use Ansible Vault to protect sensitive data. This time, we focus on an interactive tool which let us execute tasks on the fly, targeting single hosts or host groups: the Ansible console.
Even the most basic installation of any Linux distribution comes with a set of really useful utilities: “xargs” is undoubtedly one of those. By using xargs we can build and execute command lines using items from standard input as arguments of a command. This is especially useful when dealing with programs which don’t read standard input directly.
Documenting how an application works, its purpose, and its intended usage is really important, even if it is just a simple shell script we are talking about. To ease code maintenance in the most basic cases, documentation can be embed directly inside scripts. In this tutorial we learn how to include Pearl’s Plain Old Documentation syntax (POD) in bash scripts, and how to convert it to various formats using pod2 utilities such as pod2man and pod2html.
ShellCheck is a free and open source static analysis tool which can be used to check and improve shell scripts. It is able to highlight both common and edge-case errors, and suggest the appropriate fixes. ShellCheck can be used as an online or system utility, but can also be integrated as a linter in various text editors.
The ability to create secure shell scripts is essential not only for system administrators, but also for users who wants to automate repetitive tasks. Sometimes, from our shell scripts, we need to provide the user with some kind of information, ask him/her to provide some input, choose from a set of alternatives, or just ask for his/her confirmation before performing a potentially dangerous operation. All those actions, can be performed from the command line, of course, but to make our scripts more user-friendly, we can use of Whiptail to customize and display textual widgets.
One of the things that make Linux-based operating systems great is the high degree of customization they offer us. We can customize and adapt (almost) everything to our needs, from the options the kernel is compiled with, to the desktop environment. On any Linux distribution, the terminal emulator is an essential tool for power users and system administrators. Starship is a free and open source plugin written in rust we can use to customize our favorite shell prompt by using a variety of modules.