Getting started with Linux

Getting started with Linux

What is Linux?

Linux® is an open-source operating system (OS). An operating system is software that directly manages a system’s hardware and resources, like CPU, memory, and storage. The OS sits between applications and hardware and makes the connections between all of your software and the physical resources that do the work.

Linux is built on a modular architecture, which means it is made up of several different components that work together to form a complete operating system. These components are organized into layers, each of which serves a specific purpose and interacts with the other layers to provide the functionality that users expect from an operating system.

Following is an overview of the main layers of the Linux architecture:

  • Hardware layer: This is the bottom-most layer of the Linux architecture and represents the physical hardware components of the computer, such as the processor, memory, and storage. The hardware layer is responsible for interacting with the various hardware devices and providing access to them for the rest of the operating system.

  • Kernel layer: The kernel is the core of the operating system and is responsible for managing the resources of the computer, such as the CPU, memory, and Input/Output devices. It also provides services to the other components of the operating system and acts as the intermediary between the hardware and the software layers.

  • System libraries layer: This layer consists of a set of libraries that provide functions for the applications to use. These libraries include system calls, which are used to invoke kernel functions, as well as other functions that perform tasks such as file manipulation, networking, and memory management.

  • System utilities layer: This layer consists of a set of programs that perform various system-level tasks, such as managing processes, controlling user accounts, and configuring system settings. These utilities are usually command-line programs that are invoked by the user or by other programs.

  • Desktop environment layer: This layer is optional and is not present on all Linux systems. It provides a graphical user interface (GUI) that allows users to interact with the operating system using a mouse and keyboard. The most common desktop environments in Linux are Gnome, KDE, and Xfce.

  • Applications layer: This is the topmost layer of the Linux architecture and consists of the various applications that run on the operating system. These can be anything from productivity software and games to web browsers and media players.

In summary, the Linux architecture is made up of a number of different layers that work together to provide a stable and flexible operating system. Each layer has a specific purpose and interacts with the other layers to provide the functionality that users expect from an operating system.

Linux Directory Structure

Basic Commands of Linux

  1. ls - Command in Linux to list directories and files

  2. pwd - Print working directory command in Linux

  3. cd - Linux command to navigate through directories

  4. mkdir - Command used to create directories in Linux

  5. mv - Move or rename files in Linux

  6. cp - Similar usage as mv but for copying files in Linux

  7. rm - Delete files or directories

  8. touch - Create blank/empty files

  9. ln - Create symbolic links (shortcuts) to other files

  10. cat - Display file contents on the terminal

  11. clear - Clear the terminal display

  12. echo - Print any text that follows the command

  13. less - Linux command to display paged outputs in the terminal

  14. man - Access manual pages for all Linux commands

  15. uname - Linux command to get basic information about the OS

  16. whoami - Get the active username

  17. tar - Command to extract and compress files in Linux

  18. grep - Search for a string within an output

  19. head - Return the specified number of lines from the top

  20. tail - Return the specified number of lines from the bottom

  21. diff - Find the difference between two files

  22. cmp - Allows you to check if two files are identical

  23. comm - Combines the functionality of diff and cmp

  24. sort - Linux command to sort the content of a file while outputting

  25. export - Export environment variables in Linux

  26. zip - Zip files in Linux

  27. unzip - Unzip files in Linux

  28. ssh - Secure Shell command in Linux

  29. service - Linux command to start and stop services

  30. ps - Display active processes

  31. kill and killall - Kill active processes by process ID or name

  32. df - Display disk filesystem information

  33. mount - Mount file systems in Linux

  34. chmod - Command to change file permissions

  35. chown - Command for granting ownership of files or folders

  36. ifconfig - Display network interfaces and IP addresses

  37. traceroute - Trace all the network hops to reach the destination

  38. wget - Direct download files from the internet

  39. ufw - Firewall command

  40. iptables - Base firewall for all other firewall utilities to interface with

  41. apt, pacman, yum, rpm - Package managers depending on the distro

  42. sudo - Command to escalate privileges in Linux

  43. cal - View a command-line calendar

  44. alias - Create custom shortcuts for your regularly used commands

  45. dd - Majorly used for creating bootable USB sticks

  46. whereis - Locate the binary, source, and manual pages for a command

  47. whatis - Find what a command is used for

  48. top - View active processes live with their system usage

  49. useradd and usermod - Add a new user or change existing users data

  50. passwd - Create or update passwords for existing users