Registered non-governmental non-profit organisation certificate No. 1052p

Articles

Getting to know Linux: a beginner's guide

16 min read

What Linux is, where it is used and how to try it safely: distributions, the file system, terminal commands, permissions, apt and a practice exercise.

The Android system on your phone, the server behind the website you are reading, the Wi-Fi router at home: most of them run Linux inside. Even so, many people have never worked with this operating system directly and find it a little intimidating: the “black screen”, the commands, the cryptic errors. In this guide we explain Linux from scratch in plain language: what Linux is and how a kernel differs from a distribution, where it is used and why it is worth learning, which distribution to start with, how to try it without harming your computer, how the file system is organised, the core terminal commands, user permissions and installing software. We then look at the mistakes beginners often make, and at the end you will find a hands-on terminal exercise and a checklist.

What Linux is: kernel and distribution

At the heart of every operating system is the kernel. The kernel is the computer’s “dispatcher”: it shares processor time between programs, manages memory and works with devices such as the disk, the keyboard and the network card. Users never see the kernel directly; they work through programs, and the programs ask the kernel for services.

Strictly speaking, “Linux” is the name of that kernel. Linus Torvalds, a Finnish student, began writing it in 1991 and released it as open source. Open source means that anyone can read the program’s code, change it and share it.

A kernel on its own is not enough to use a computer, though: you also need a command line, a file manager, a browser, a text editor and a way to install software. A ready-made bundle of the kernel and these programs is called a distribution (“distro” for short). Ubuntu, Linux Mint, Fedora and Debian are distributions. They all use a kernel from the same family, but they differ in the programs they include, how they look, how they are updated and who they are aimed at.

A simple comparison: the kernel is a car’s engine, and the distribution is the finished car. In everyday speech, “Linux” usually means the whole system, in other words some distribution. That is not wrong either; just be aware of the difference.

Where Linux is used and why it is worth learning

Where you will find it

  • Servers. Much of the web, the systems behind banking apps, email services and cloud platforms run on Linux servers. When you open a website, your request very often ends up on just such a server. We describe this process in detail in how the internet works.
  • Phones. The Android operating system is based on the Linux kernel. Android and its apps look nothing like classic Linux distributions, but the foundation is the same kernel.
  • Network equipment. Many home routers, access points and some network switches run a Linux-based system.
  • Other devices. Smart TVs, CCTV cameras, in-car multimedia systems and supercomputers.

Why it is worth learning

Sardor from Tashkent works in technical support at an internet provider and wants to become a network administrator. He soon realises that connecting to a server, reading log files and restarting a service are all done in the Linux terminal. Linux basics are practically essential in the following fields:

  • Network administration. Servers, DNS, web servers and monitoring mostly live in a Linux environment.
  • Programming. Deploying code to a server, working with Git and setting up development environments all require terminal skills. If you are just starting out, the article on where to begin with programming will help too.
  • Cybersecurity. Many defence and analysis tools are written for Linux. You can read about this field in a career in cybersecurity.

There are hundreds of distributions, but four are enough to get started. All of them are free to download.

  • Ubuntu is one of the most popular distributions. There are plenty of guides and forums for beginners, and it is widely used on servers too. Versions marked LTS (Long Term Support) are supported for a long time, so choose one of those to start with.
  • Linux Mint is built on Ubuntu and looks similar to Windows: a taskbar at the bottom and a menu on the left. It is a comfortable choice for people moving from Windows.
  • Fedora is quick to adopt new technologies and is popular with developers.
  • Debian is known for its stability and is widely used on servers. Ubuntu and Mint are both built on Debian, so many of their commands work in Debian as well.

Which one should you choose? If your goal is to learn, start with Ubuntu LTS: every command in this guide works in it, and most tutorials are written for it. You can switch distributions at any time; the core knowledge is the same everywhere.

Trying Linux without harming your computer

You do not need to remove Windows to learn Linux. All three methods below are safe. Whichever you pick, back up your important files before you start; it is a good habit.

1. A virtual machine in VirtualBox

A virtual machine is “a computer inside your computer”. Whatever you do inside it does not affect your main system. This is the most convenient option for a beginner.

  1. Download VirtualBox from its official website and install it.
  2. Download the ISO file (installation image) of the LTS version from the Ubuntu website.
  3. In VirtualBox, click New, give the machine a name (for example, “Ubuntu-practice”) and select the ISO file.
  4. Allocate memory (RAM) and processor cores. Leave enough resources for your main system as well.
  5. Set the size of the virtual disk and click Finish.
  6. Click Start and follow the installation steps on screen.

The Snapshot feature is very useful with a virtual machine: you save its state before an experiment, and if something breaks you go back with a single click.

2. Live USB

A Live USB is a flash drive with Linux written to it. When you boot your computer from it, the system runs straight from the flash drive without being installed on the disk.

  1. Download the Ubuntu ISO file.
  2. Write the ISO to a flash drive with a program such as Rufus or balenaEtcher. Note: everything on the flash drive will be erased.
  3. Restart the computer and open the boot menu (F12, F11, Esc or another key, depending on the manufacturer).
  4. Choose the flash drive and click Try Ubuntu.

Be careful: if you choose Install and repartition the disk without understanding what you are doing, you could lose Windows and your files. To simply try it out, stay in “Try” mode.

3. WSL on Windows

WSL (Windows Subsystem for Linux) is a Microsoft tool that runs a Linux environment inside Windows 10 and 11. It is designed mainly for the terminal rather than a graphical desktop, but it is ideal for learning commands.

  1. Open PowerShell as an administrator (right-click it in the Start menu → Run as administrator).
  2. Enter the following command:
wsl --install
  1. Restart the computer if prompted. Ubuntu is usually installed automatically.
  2. On first launch you will create a Linux username and password. Nothing appears on screen while you type the password; this is normal.

How the file system is organised

In Windows, drives are labelled with letters: C:, D:. In Linux, everything is joined into a single tree whose starting point is the root directory, written as /. Other disks and flash drives are attached to a folder somewhere in this tree. Another difference: paths use a forward slash / rather than a backslash, and letter case matters, so Hisobot.txt and hisobot.txt are two different files.

The main directories:

  • / is the root, the start of all folders.
  • /home holds users’ personal folders. Sardor’s folder, for example, is /home/sardor. Documents, downloads and personal settings live here. This is the folder you need for everyday work.
  • /etc contains configuration files for the system and programs. Do not change anything here unless you understand it.
  • /var holds variable data: logs (/var/log), caches and, on some servers, website files. When looking for the cause of a problem, an administrator will often check /var/log.
  • /bin and /usr contain programs and their files.

The ~ (tilde) symbol stands for the current user’s personal folder. For Sardor, ~ and /home/sardor are the same place.

There are two kinds of path. An absolute path starts from the root: /home/sardor/hujjatlar. A relative path is counted from where you are now: hujjatlar. There are two special symbols: . is the current folder and .. is the folder one level up.

Terminal basics

The terminal is a window where you type commands as text. In Ubuntu you open it with Ctrl + Alt + T. In front of the cursor is the prompt, which shows your username, the computer’s name and the current folder. The examples below show only the commands themselves; you do not need to type the prompt.

Where am I and what is here

pwd
ls
ls -l
ls -a
  • pwd (print working directory) shows which folder you are currently in.
  • ls lists the files and folders in the current folder.
  • ls -l gives a detailed list: permissions, owner, size and date modified.
  • ls -a also shows hidden files. In Linux, files whose names begin with a dot are hidden.

Moving between folders

cd hujjatlar
cd ..
cd ~
cd /var/log

cd (change directory) changes the folder. cd .. moves up one level, and cd ~ or just cd takes you back to your personal folder. A useful habit: do not type a name in full; type a few letters and press Tab, and the terminal will complete it for you. The up arrow brings back previous commands.

Working with files and folders

mkdir loyiha
cp reja.txt reja-nusxa.txt
mv reja-nusxa.txt loyiha/
mv eski-nom.txt yangi-nom.txt
rm keraksiz.txt
  • mkdir creates a new folder. mkdir -p a/b/c creates nested folders in one go.
  • cp copies. To copy a folder you need cp -r.
  • mv moves or renames. One command does both jobs.
  • rm deletes.

Be careful with rm. A file deleted in the terminal does not go to the Recycle Bin; it is removed straight away and usually cannot be recovered. Before deleting, check with ls exactly what will be removed. For beginners, rm -i is handy: it asks for confirmation before deleting each file.

Reading a file

cat reja.txt
less eslatma.txt
  • cat prints the whole text of a small file to the screen.
  • less shows a large file page by page: scroll with the arrow keys and the space bar, search with / and exit with q.

Getting help

The manual for every command is built into the system:

man ls
ls --help

man (manual) opens the full manual for a command; press q to exit. --help gives a short summary.

Users, permissions and installing software

Ordinary users and sudo

Linux is a multi-user system: each user has their own folder and their own permissions. The user with the most power is root. Everyday work is done as an ordinary user, and when you need to change system settings or install a program, you put sudo in front of the command:

sudo apt update

sudo asks for your password and runs that single command with administrator rights.

Permissions and the idea behind chmod

In the output of ls -l, each line begins with something like this:

-rw-r--r--

The first character is the type: - for a file, d for a folder. The next nine characters fall into three groups: owner, group and others. Each group has three permissions: r for read, w for write (change) and x for execute (run as a program). A dash means that permission is missing. In the example above, the owner can read and write, and everyone else can only read.

Permissions are changed with the chmod command. For example, to make a script you have written executable:

chmod +x salom.sh

The key idea: give everyone only the permissions they need. The advice you often see online, “permission denied, just run chmod 777”, opens the file to everyone and creates a security hole.

The package manager: apt

In Linux, programs are usually not downloaded from websites; they are installed from the distribution’s official store (repository) through a package manager. In Ubuntu, Mint and Debian this is apt:

sudo apt update
sudo apt install tree
sudo apt upgrade
  • apt update refreshes the list of available packages (not the programs themselves).
  • apt install installs a program. tree displays a folder structure as a tree; you will need it in the exercise.
  • apt upgrade updates the installed programs.

Installing from the official repository is safer than downloading a file from an unknown website: packages are vetted and updates arrive centrally. Fedora uses a different package manager, dnf, but the idea is the same.

Common mistakes

  • Using rm -rf without thinking. -r deletes a folder with everything inside it, and -f does so without asking. One extra space in the path or the wrong folder, and the files you need are gone for good. Always check where you are with pwd and ls first.
  • Adding sudo to every command. The “it didn’t work, I’ll try again with sudo” habit is dangerous. Work out why the command failed: usually the cause is the wrong folder or a typo, not permissions. Files created with sudo end up belonging to root, and your ordinary user can no longer change them.
  • Blindly copying commands from the internet. Especially ones containing sudo, rm or of the form curl ... | sh. Understand each part first.
  • Ignoring letter case. Hujjatlar and hujjatlar are two different folders.
  • Spaces in names. To refer to a file called mening fayl.txt you need quotation marks. Use a hyphen or an underscore instead of a space: mening-fayl.txt.
  • Not reading error messages. “No such file or directory” means the file or folder was not found, “Permission denied” means you lack the rights, and “command not found” means the command name is wrong or the program is not installed. The message often tells you the solution.

Practice exercise and checklist

Nilufar, a student from Samarkand, wants to create a folder structure for a study course in the terminal. Repeat her steps in a virtual machine, on a Live USB or in WSL. The file names are just examples; feel free to use your own.

  1. Open the terminal and check where you are:
pwd
  1. Create the course folder with three folders inside it, then move into it:
mkdir -p kurs/darslar kurs/mashqlar kurs/eslatmalar
cd kurs
ls
  1. Create a notes file and write one line into it:
echo "1-dars: Linux terminali" > eslatmalar/dars1.txt
cat eslatmalar/dars1.txt
  1. Make a copy of the file and move the copy to another folder:
cp eslatmalar/dars1.txt eslatmalar/dars1-nusxa.txt
mv eslatmalar/dars1-nusxa.txt mashqlar/
ls -l mashqlar
  1. Install tree and look at the structure:
sudo apt update
sudo apt install tree
tree ~/kurs
  1. Delete the copy with confirmation:
rm -i mashqlar/dars1-nusxa.txt
  1. Open man cp, read about one more option of the cp command and exit with q.

Checklist

  • I can explain the difference between a kernel and a distribution in one sentence.
  • I have run Linux without harming my main system: in a virtual machine, on a Live USB or in WSL.
  • I know what the /, /home, /etc and /var directories are for.
  • I can use pwd, ls, cd, mkdir, cp, mv, rm, cat and less on my own.
  • For an unfamiliar command I turn to man or --help.
  • I can read the rwx permissions in the output of ls -l.
  • I use sudo only when needed and when I understand what I am doing.
  • I have installed a program with apt.
  • Before rm, I habitually check with pwd and ls.

The best way to learn Linux is to spend a little time in the terminal every day. Try doing your everyday file tasks through the terminal for a week or two, and the commands will soon become second nature.

If you would like to learn Linux, servers and networks systematically with a teacher, take a look at our association’s free network administration, cybersecurity and programming programmes and our other training programmes. When you are ready, submit an application and our specialists will get in touch.

Back to articles

More articles

14 min read

Using AI tools responsibly at work

What AI chat assistants are good for at work, how to write a good prompt, how to check the output and which data never to type in.

15 min read

Algorithmic thinking: the step before coding

Breaking problems down, patterns and abstraction, conditions and loops, pseudocode and flowcharts, simple tasks and tracing by hand, plus practical exercises.

Start learning today

Enrollment is open. Leave an application — our specialists will contact you and help you choose the right field.

Message us on Telegram