Overview
In this short post we will take a look at how to get around a linux system for common everyday purposes.
Origins of Unix and Linux
Unix was created at AT&T Bell Labs in 1961 by Ken Thompson and Dennis Ritchie (who also created the C Programming language along with Brian Kerningham). In 1977 The Berkeley Software Distribution (BSC) was created based on Unix version 6, but contained some copyrighted content and a lawsuit was filed.
A number of developments throughout the 1980s such as Intel’s x86 32-bit 80386 microprocessorRichard Stallman’s GNU project and the publishing of ‘The Design of the Unix Operating system’ in 1986 led to work on a number of Unix-like systems.
In 1991 Linus Torvalds began a project that became the Linux Kernel with bash and a GNU C compiler.
Mac OS is based on BSD.
The Terminal, the Shell and Bash
The terminal is the most fundamental interface in Systems Admin, and perhaps in computer science in general and there are many subtleties to it. Mastery of the terminal and shell is perhaps the single most important object in a system administrator’s arsenal of skills.
The Terminal is capable of running lots of programs, tools and utilities, the most important of which is the shell, of which bash is the most well-known.
You can run bash inside of bash, or inside another shell, which is a interesting feature of their construction.
Fundamental Commands
Shut Down
A critical command you need at your fingertips. Several options:
-
halt
-
shutdown -h now
The Manual
All the commands have a corresponding manual on how to use them. To show the manual write ‘man’ + the command you are interested in:
man ls
Type ‘q’ to exit manual.
Filesystem
Show Current Directory
pwd
List Contents of Directory
To list just the names of a directory’s contents use:
ls
List Options
This command has many useful options.
List all files and directories, including hidden files
ls -a
List contents with details such as ownership and write permissions
ls -l
switches can be combined such as:
ls -la
Create a directory
mkdir directory_name
Remove a Directory
rm directory_name
Processes
View currently Running processes
top
Network
Manage Network Interface
ifconfig