UNIX / Linux Basics Flashcards
What are priced packages of software built on top of Linux called
Distributions, like Ubuntu
What is free software
Software that can be USED at no cost (but not necessarily acquiring a copy by purchasing)
When did UNIX become developed and when did it become available and where
early-70s, 1970; mid-70s, 1975, initially at universities
What is BSD
Berkeley Software Distribution (University of California)
When was Linux created
Early 90s, 1991
What is the official computer environment standards and when were they published
POSIX (Portable Operating System Interface for Computer Environments), is a section of IEEE that defines the API (Application Programming Interface), the shell, and the OS utility interface, and was written in the late1980s (1988)
Linux is not good for peripherals
False - Linux support is often first to support peripherals or interface cards. This is however not the case for graphics cards and the like as those companies do not release specs nor source code often or ever.
What are binaries
Files that are compiled into a pattern that the kernel would recognize as an executable (as opposed to source code or user data), making it so that the kernel would begin following those instructions when running its open-file procedure and identifying this (running a program). They are called binaries because the files are “compiled” into machine instructions for the kernel to follow bit-by-bit, achieved by removing all of the “text” that was only there for humans to read and converting the file contents to bitwise instructions.
What is a hypervisor
A Virtual Machine Monitor (VMM)
What is the software that manages virtual machines called
VMMs (Virtual Machine Monitors) or Hypervisors
What are the 9 advantages of VMs
- Isolation Safety
- Isolation Security
- Maximize Usage / Minimize Power Consumption
- Develop Portability
- Test Anything
- Server Variety
- Simulate Networks
- Sandbox Freedom
- Quick-Boot Snapshots
What type of OS is Linux
GENERIC because it is not written for specific hardware (not proprietary)
Why is Linux portable and what does portable mean
Portable software means it can run on different machines that have different hardware. Linux is portable because it is written in C, which is a machine-independent language.
Is UNIX portable
Not initially, because it was written in assembly language, which is machine-dependent
Why is C powerful
It gives the ability to write machine-independent programs to promote portability
What is the difference between a job and a process
Jobs have processes, but processes don’t necessarily come from jobs.
Jobs are higher-level, processes are lower-level.
What is FHS
Linux’s Filesystem Hierarchy Standard
What is a shortcut called in Linux
A Link
What is a shell
A command-line interpreter that acts as an interface between the user and the OS by reading the user input and executing them as commands
What are the 4 most popular shells
- Bourne Again Shell (BASH)
- Debian Almquist Shell (DASH)
- TC Shell (TCSH)
- Z Shell (ZSH)
What is a file that is a series of shell commands called
For Linux they are called shell scripts
For Windows they are called batch files
What is the functionality called that uses * to find filename matches
Ambiguous file references
What is the characteristic of Linux’s I/O regarding devices
Linux I/O is “device independent”, meaning that input or output can be pulled from or sent to any device due to devices being interpreted as files along with Linux’s high-level redirection functionality
Are shells interpreters
Yes, because they do not compile programs (the files being ran are not converted into binaries)
What does BASH do to fix the slowness of interpreters
It can compile functions into memory
What is a kernel
Also called an OS, controls the hardware of a computer and provides an environment that programs can run on
What are the commands to the kernel called and what are the 3 layers that can execute them
System calls. Shells, library routines, and applications
What are library routines
Collections of system call functions
What is the terminal window called
Command-Line Interface (CLI), a “textual interface”
What is the file that contains the text you see BEFORE you log in
/etc/issue
What is the file that contains the text you see AFTER you log in
/etc/motd
When logging in as x@y, what is x and what is y?
x is the username, y is the system
Why is it a good idea to exclude a GUI for a server
GUIs add more tasks, so its wasteful and makes the system more vulnerable
What is pretty print called
Pseudographical Interfaces
What is the most dangerous way to stop a program or job, how do you do it, and why
Using the KILL command as follows (if the job number is 3):
kill -KILL %3
This is dangerous because it ALWAYS stops the program no matter what, and does not allow the program to run any procedures that it typically would run when the program is signaled to stop, leading to corruption
What order of commands should you do when trying to stop a program
- Suspend
- Quit
- Kill
What username is the “super duper admin”
root
What is sudo
A way for you to use root privileges, like su, but you specifically use your own password
How do you get help
Use the “man man” command, or specify the utility replacing the 2nd man
What is a reason most people forget of not being able to log in
The filesystem is full!
What are technically the only 2 chars that cannot be on a filename
\ and [NULL]
Where is your home directory defined
/etc/password
What is it called when you use \ to use a special char as its literal char
Quoting or escaping
When you give Linux a command, how does the shell know what it means
It searches the $PATH list of directories that contain programs where the command given might exist as one
What state is the shell in while the process of a command is being executed
sleep
What does the shell do with command arguments and what happens if its wrong
The shell only passes them to the utility program, and what happens is up to the code in the program. Sometimes bad arguments are completely ignored and the program runs anyways.
How big is a block
512 bytes