2. Terminal#
The Terminal is an application that allows communication with the operating system using command line interface (CLI), which is useful for saving time and automating repetitive tasks. Unlike applications with graphical user interfaces (GUIs) - which contain buttons, sliders, and other interactive elements - using the terminal requires us to enter lines of code (commands) in CLI in order to perform tasks. These commands are then executed by a shell, which is a user interface to the operating system. In this book, we will use BASH (Bourne-Again SHell).
Starting with the terminal is essential for a few reasons. First, it provides an efficient way to interact directly with the operating system, allowing us to navigate directories, manipulate files, install and run programs, and more. These skills are foundational for anyone working in nanobiology, as they help streamline workflows and give you control over your environment.
The terminal is also tightly linked to many essential programming tools and concepts, such as package management and version control. For instance, many tools for installing software, managing dependencies, and version-tracking code operate primarily through the CLI. It is also possible to execute Python scripts from a terminal.
Beyond these practical uses, the terminal is also invaluable for remote access and management of other computers. Tools like SSH (Secure Shell) allow you to access and control remote machines, such as supercomputing clusters like DelftBlue at TU Delft. Remote access is common in fields that require high-performance computing, such as bioinformatics and computational biology, where many tools are designed for Linux and command-line use.
Bonus
An added bonus of using the terminal: you can pretend to be a computer hacker in front of your friends and family!