Tools of the Trade: Linux and SQL Flashcards
Application
A program that performs a specific task.
Basic Input/Output System (BIOS)
A microchip that contains loading instructions for the computer and is prevalent in older systems.
Bootloader
A software program that boots the operating system.
Graphical user interface (GUI)
A user interface that uses icons on the screen to manage different tasks on the computer.
Hardware
The physical components of a computer.
Legacy operating system
An operating system that is outdated but still being used.
Operating system (OS)
The interface between computer hardware and the user.
Random Access Memory (RAM)
A hardware component used for short-term memory.
Unified Extensible Firmware Interface (UEFI)
A microchip that contains loading instructions for the computer and replaces BIOS on more modern systems.
User interface
A program that allows the user to control the functions of the operating system.
Virtual machine (VM)
A virtual version of a physical computer.
What does BIOS stand for?
Basic Input/Output System
What does CLI stand for?
Command-line interface
What does GUI stand for?
Graphical user interface
Operating system
What does OS stand for?
Random Access Memory
What does RAM stand for?
What does UEFI stand for?
Unified Extensible Firmware Interface
What does VM stand for?
Virtual Machine
Bash
The default shell in most Linux distributions.
CentOS
An open-source distribution that is closely related to Red Hat.
Central Processing Unit (CPU)
A computer’s main processor, which is used to perform general computing tasks on a computer.
Command
An instruction telling the computer to do something.
Digital forensics
The practice of collecting and analyzing data to determine what has happened after an attack.
Directory
A file that organizes where other files are stored.
Distributions
The different versions of Linux.
File path
The location of a file or directory.
Filesystem Hierarchy Standard (FHS)
The component of the Linux OS that organizes data.
Hard drive
A hardware component used for long-term memory.
Hardware
The physical components of a computer.
Internal hardware
The components required to run the computer.
Kernel
The component of the Linux OS that manages processes and memory.
Kali Linux ™
An open-source distribution of Linux that is widely used in the security industry.
Linux
An open source operating system.
Package
A piece of software that can be combined with other packages to form an application.
Package manager
A tool that helps users install, manage, and remove packages or applications.
Parrot
An open-source distribution that is commonly used for security.
Penetration test (pen test)
A simulated attack that helps identify vulnerabilities in systems, networks, websites, applications, and processes.
Peripheral devices
Hardware components that are attached and controlled by the computer system.
Red Hat® Enterprise Linux®
A subscription-based distribution of Linux built for enterprise use.
Standard error
An error message returned by the OS through the shell.
Shell
The command-line interpreter
Standard input
Information received by the OS via the command line.
Standard output
Information returned by the OS through the shell.
String data
Data consisting of an ordered sequence of characters.
Ubuntu
An open-source, user-friendly distribution that is widely used in security and other industries.
User
The person interacting with a computer.
AlmaLinux
A community-driven Linux distribution that was created as a stable replacement for CentOS.
What does FHS stand for?
Filesystem Hierarchy Standard
What does CPU stand for?
Central Processing Unit
Absolute file path
The full file path, which starts from the root.
Argument (Linux)
Specific information needed by a command.
Authentication
The process of verifying who someone is.
Authorization
The concept of granting access to specific resources in a system.
Command
The default shell in most Linux distributions.
nano
A command-line file editor that is available by default in many Linux distributions.
Options
Input that modifies the behavior of a command.
Permissions
The type of access granted for a file or directory.
Principle of least privilege
The concept of granting only the minimal access and authorization required to complete a task or function.
Relative file path
A file path that starts from the user’s current directory.
Root directory
The highest-level directory in Linux.
Root user (or superuser)
A user with elevated privileges to modify the system.
File path
The location of a file or directory.
/bin
This directory stands for “binary” and contains binary files and other executables. Executables are files that contain a series of commands a computer needs to follow to run programs and perform other functions.
/home
Each user in the system gets their own home directory.
/etc
This directory stores the system’s configuration files.
/tmp
This directory stores many temporary files. The /tmp directory is commonly used by attackers because anyone in the system can modify data in these files.
/mnt
This directory stands for “mount” and stores media, such as USB drives and hard drives.
Filtering
Selecting data that match a certain condition.
grep
This command searches a specified file and returns all lines in the file containing a specified string or text.
Piping
This sends the standard output of one command as standard input to another command for further processing.
find
This command searches for directories and files that meet specified criteria.
pwd
This command prints the working directory to the screen.
ls
This command displays the names of the files and directories in the current working directory.
cd
This command navigates between directories.
cat
This command displays the content of a file.
head
This command displays just the beginning of a file, by default 10 lines.
tail
This command can be used to display just the end of a file, by default 10 lines.
less
This command returns the content of a file one page at a time.
mkdir
This command creates a new directory.
rmdir
This command removes, or deletes, a directory.
touch
This command creates a new file.
rm
This command removes, or deletes, a file.
mv
This command moves a file or directory to a new location.
cp
This command copies a file or directory into a new location.
>
This operator sends output of echo to an existing file by overwriting it.
> >
This operator sends output of echo to an existing file by adding your content to the end of this file instead of overwriting it.
read permissions
For files, this is the ability to read the file contents; for directories, this is the ability to read all contents in the directory including both files and subdirectories.
write permissions
For files, this is the ability to make modifications on the file contents; for directories, this is the ability to create new files in the directory.
execute permissions
For files, this is the ability to execute the file if it’s a program; for directories, this is the ability to enter the directory and access its files.
user
The owner of the file.
group
A larger group that the owner is a part of.
other
All other users on the system.
ls -a
Displays hidden files. Hidden files start with a period (.) at the beginning.
ls -l
Displays permissions to files and directories. Also displays other additional information, including owner name, group, file size, and the time of last modification.
ls -la
Displays permissions to files and directories, including hidden files. This is a combination of the other two options.
chmod
This command can help you manage this authorization by changing permissions on files and directories.
sudo
This command is important for security analysts because it allows users to have elevated permissions without risking the system by running commands as the root user. It is a command that temporarily grants elevated permissions to specific users.
root user
A user with elevated privileges to modify the system.
useradd
This command adds a user to the system.
useradd -g
This command sets the user’s default group, also called their primary group,
useradd -G
This command adds the user to additional groups, also called supplemental or secondary groups.
usermod
This command modifies existing user accounts.
useradd -g
This command changes the primary group of an existing user.
useradd -a -G
This command appends a supplemental group for an existing user.
useradd -d
This command changes the user’s home directory.
useradd -l
This command changes the user’s login name.
useradd -L
This command locks the account so the user can’t log in.
userdel
This command deletes a user from the system, but doesn’t delete the files in the user’s home directory.
userdel -r
This command deletes a user from the system and deletes the files in the user’s home directory.
chown
This command changes ownership of a file or directory.
usermod -L
This command deactivates the user account.
chown :<group_name> <file_name></file_name></group_name>
This command designates a group name, or changes group ownership, to a specific file.
man
This command displays information on other commands and how they work.
apropos
This command searches the man page descriptions for a specified string.
apropos -a
This command searches the man page descriptions for a specified string using multiple words.
whatis
This command displays a description of a command on a single line.
Database
An organized collection of information or data.
Date and time data
Data representing a date and/or time.
Exclusive operator
An operator that does not include the value of comparison (e.g. <= and >=).
Filtering
Selecting data that match a certain condition.
Foreign key
A column in a table that is a primary key in another table.
Inclusive operator
An operator that includes the value of comparison (e.g. < and >).
Numeric data
Data consisting of numbers.
Operator
A symbol or keyword that represents an operation.
Primary key
A column where every row has a unique entry with no NULL values.
Query
A request for data from a database table or a combination of tables.
Relational database
A structured database containing tables that are related to each other.
SQL (Structured Query Language)
A programming language used to create, interact with, and request information from a database.
Syntax
The rules that determine what is correctly structured in a computing language.
Wildcard
A special character that can be substituted with any other character.
sqlite3
After this command, any commands typed in the command line will be directed to SQL instead of Linux commands.
SELECT
This keyword indicates which columns to return.
SELECT *
This statement will return all columns in a table.
FROM
This keyword indicates which table to query.
DESC
This keyword is short for “descending” and tells SQL to sort numbers from largest to smallest, or alphabetically from Z to A.
ORDER BY
This keyword is used for organizing the data you extract from a table by sequencing the records based on a specified column or columns.
WHERE
This clause creates a filter in SQL.
wildcard
This is a special character that can be substituted with any other character. Two of the most useful wildcards are the percentage sign (%) and the underscore (_)
%
The wildcard substitutes for any number of other characters.
_
The wildcard only substitutes for one other character.
LIKE
This operator applies wildcards to the filter.
<> or !=
This comparison operator denotes not equal to.
BETWEEN
This operator filters for numbers or dates within a range and is inclusive.
AND
This operator specifies that two conditions must be met simultaneously.
OR
This operator specifies that either condition or both conditions can be met.
NOT
This operator negates a condition.
INNER JOIN
This join returns rows matching on a specified column that exists in more than one table
LEFT JOIN
This join returns all the records of the first table, but only returns rows of the second table that match on a specified column.
RIGHT JOIN
This join returns all of the records of the second table, but only returns rows from the first table that match on a specified column.
FULL OUTER JOIN
This join returns all records from both tables.
ON
This keyword is used with the = operator to indicate the column you are joining the tables on.
Aggregate functions
Functions that perform a calculation over multiple data points and return the result of the calculation.
COUNT
This aggregate function returns a single number that represents the number of rows returned from your query.
AVG
This aggregate function returns a single number that represents the average of the numerical data in a column.
SUM
This aggregate function returns a single number that represents the sum of the numerical data in a column.