Home | Legal Tech | Projects | Writings

Glossary

Term Definition
Bash Bash is the programming language used by the Linux terminal. When you use a command like ls or mkdir newfolder you are writing in bash. Knowing a little bash means you can accomplish simple and complex tasks way more efficiently. For example, creating three new python files with the GUI needs a lot of clicks, while in bash is simply touch file1.py file2.py file3.py - those filenames can be anything you want. More complex tasks are achievable the more you know, for example replacing all spaces with underscores in all the filenames in a folder can be achieved with rename 's/[\r\n]//g' *
CSV A text-based data format commonly used, due to its simplicity. CSV stands for 'Comma Separated Values' and is literally rows of data, split into columns by a separator (such as a comma, hence the name, but other characters can be used such as a semicolon), and rows by entering a new line. As example, here is a shop inventory list in csv format:
item, price, quantity
apple, £0.50, 20
cola, £0.65, 48
morning rolls, £0.30, 64
savlon cream, £2.49, 10
Because a CSV file is essentially a grid, it is commonly opened and used in spreadsheet software such as Excel, but text editors work with it just fine.
Distro In Linux terminology, a distro is a 'distribution' of Linux. That is, because anyone can freely use free and open source software, many people have created different linux experiences. There are many distros, and many are based on others. Some are slight tweaks to others, some are completely different, but all are based on the linux kernel. Some major distros you may have heard of include Ubuntu (Canonical), Fedora (Red Hat), Debian, and Arch.
Flags Flags are additional signals you can add to commands given in the terminal, and which are preceded by dash (-). For example, ls lists the files in the current directory, while ls -l spits out the files in nice rows with additional information. Each command should have a man page, where you can learn about the command and which should include the list of valid flags and what they do. To find the flags for the ls command, enter man ls and scroll down. You should see that for l it says 'use a long listing format'. Easy peasy!
Linux / Linux kernel
Module A module is basically a pre-written python file. You can install other people's, create your own, or use the ones that come already bundled with python (called the "standard library"). Modules are introduced to a program with the line import [modulename]. For example, to import a module from the standard library containing useful mathematical functions, you'd enter import math in your python script or REPL session.
Pip Pip stands for 'Pip installs programs'. It is the program which python uses to install modules to your computer. For example, to install a program named arrow (a handy module for working with time), enter pip install arrow in your terminal. You may not have permission to install software on your machine. To remedy this, on linux use pip install --user arrow to install it as your current user (rather than the root user). If that still doesn't work, install as the root user with sudo pip install arrow followed by your password, which executes this as the superuser (admin) account. Finally, you may also. Note that pip is not the only way to install python modules, but it is the easiest.
REPL A REPL, or "Read-Eval-Print Loop" is basically an interactive session of a programming language, like Python, where each line is executed by your computer when it is entered, rather than by writing a script and then running it. By default python comes with IDLE (or IDLE3 for python3) which opens in REPL mode by default, or you can start a REPL by entering python3 in the terminal, or if your default python is already python3, simply by entering python. The REPL will tell you which version of python it is running when it opens up. It will then show you the >>> prompt, and wait for you to enter python code.
Root The root user on a Linux computer is the admin account will full privileges to install software etc. You can run any command in the terminal as the root user by preceding it with sudo upon which you will be prompted for the root password.
Terminal The terminal is an application which you can enter text commands to your computer (by default, using bash). This is where you can enter commands like ls or mkdir newfolder. Using the terminal may seem a little daunting at first, but it is actually very simple, and extremely powerful. There is a bit of a myth that Linux is tricky for beginners because it relies on the terminal too much - actually, while the terminal may be a more efficient tool for a lot of tasks, you can get on just a well using the 'graphical user interface' like you are used to in Windows or Mac (which also have terminals). The Mac terminal also uses bash, but the windows 'Command Line' terminal doesn't. If you are using Windows 10, I recommend installing a 'Windows Subsystem for Linux' which lets you install a Linux bash terminal and follow the same commands as Windows or Mac.
Text editor A lightweight application for writing text, which actually saves the text in a plain format that other applications can easily read. This is to be contrasted with Word Processors like Microsoft Word which saves text in a special 'mark up' format which also contains formatting, color, and other information. If you try to open a Microsoft Word document in a text editor, you'll just see a jumble of nonsense.
Word processor A word processor like Microsoft Word or Libreoffice Writer doesn't just save the text you enter, but formatting instructions, images, tables, and all the rest. For that reason, if you open a word processor in a text editor, you see gobbledigook: