Understand Basic UNIX

Understand Basic UNIX

Unix is a family of operating systems that has been around since the 1970s. Though not as widely used on personal computers as Windows or Mac OS, Unix remains very popular in computing infrastructure, servers, and mobile devices. For those new to Unix, here is a beginner's guide to understanding some of the key concepts.

What is Unix?

Unix refers to a family of multitasking, multiuser operating systems. Unlike Windows which is designed to work specifically with a graphical user interface (GUI), Unix is primarily designed to work through a command line interface (CLI). This allows Unix systems to efficiently perform complex tasks without the overhead of a GUI.

Some of the most popular and widely used Unix operating systems today include Linux, macOS, Android, Solaris, AIX, and BSD. Linux in particular powers much of the internet servers and supercomputing infrastructure around the world. Understanding Unix can open up career opportunities in IT infrastructure, web development, and scientific computing.

Key Features of Unix

Some key features and concepts to understand about Unix include:

  • Command Line Interface (CLI) - As mentioned above, Unix is designed to accept commands typed into a text terminal using the keyboard. No mouse or graphical interface is required to operate advanced Unix systems.

  • Multiuser Capabilities - Unix enables multiple users to access systems and programs simultaneously through separate accounts and permissions levels. This makes Unix well-suited for servers and mainframes.

  • Open Source Code - Many Unix operating systems are released under open-source licenses. This allows the operating systems to be freely distributed, modified, and improved through public collaboration. Linux in particular thrives due to open source development.

  • Portability - Software designed for one Unix system can usually be easily ported and compiled to run on another Unix system. This provides users and developers flexibility across platforms.

  • Advanced File System - The Unix filesystem uses a hierarchical, tree-like structure and advanced features not found in early versions of Windows and Mac. Key features include permissions, links, and fast lookup tables for files spread across storage devices.


Here is a more technical guide for beginning your journey with Unix:


Getting Started with Unix: A Technical Introduction

Installing A Unix-like OS

The best way to start learning Unix is to install a Unix-like operating system directly on your hardware. Some popular and newbie-friendly options include:

  • Ubuntu - An open-source Debian-based Linux distribution with an easy installer and UI. A recommended desktop environment is GNOME.

  • Linux Mint - Ubuntu-based, focuses on easy installation and bundled proprietary software. Uses a Cinnamon desktop environment.

  • Fedora - Community Linux distribution sponsored by Red Hat. Uses the latest packages and the GNOME desktop environment.

I'd recommend starting with Ubuntu or Linux Mint. You'll want at least 20GB of hard drive space and 2GB of RAM. The installer ISOs can be downloaded for free and written to a DVD or USB stick. Back up your existing OS first!


Learning The CLI Basics

Once installed, you'll be dropped into the bash shell by default. This is the command line interface where you type commands instead of clicking icons with a mouse. Some basic commands to learn:

  • ls - List directory contents

  • cd - Change directory

  • cat - Print file contents

  • cp - Copy files

  • mv - Move/rename files

  • pwd - Print working directory

  • sudo - Execute commands as superuser

Use the man command to read about command usage in the terminal. For example, type "man ls" to learn more about ls syntax. Tab-complete file paths and commands.


Exploring The File System

The Linux file system is laid out in a hierarchy or tree-like structure with directories leading down into other directories. Some standard locations include:

/ (root directory) /home (user home folders) /usr/bin (system-wide program binaries) /var/log (log files) /etc (system config files)

You can navigate through the file system with cd or list contents with ls. Be very careful running commands like rm as root user - you can accidentally delete critical system files if not cautious.


Choosing A Text Editor

A command line text editor will be essential. nano is the simplest built-in option for Linux, but install and learn vim or emacs to unlock powerful advanced text editing capabilities. You'll need this to view and edit system config files.


Next Steps

After getting comfortable with the basics, you'll be ready to go deeper:

  • Learn bash scripting to automate admin tasks

  • Manage user accounts and permissions

  • Install/compile apps from source code

  • Explore network and firewall configs

  • Manage Linux services

  • Interact with the system via C programming

The Linux environment offers an incredible amount of control and customization for those willing to embrace the learning curve. Have fun exploring!