# Basic Guide for Beginners to the Linux Terminal

> In this guide, we explain everything from the basics of the Linux filesystem to the commands that developers use daily, making them easy to understand.

Published: 2026-06-09
Tags: linux, terminal, developer essentials, dev ops, cloud ops, server management
Source: https://minkhantkyaw.com/writing/2026-06-09-linux-terminal-guide/
Translated to English from Burmese by AI.

# Basic Guide for Beginners to the Linux Terminal

As a Software Engineer, it is important to be proficient with the Linux Terminal. You will use the terminal daily in fields such as Backend Development, Cloud, Docker, Kubernetes, DevOps, and Server Management.

In this guide, we explain everything from the basics of the Linux filesystem to the commands that developers use daily, making them easy to understand.

---

# 1. Linux Filesystem Basics

Before learning commands, you need to understand paths first.

## .

Represents the current folder.

```bash
ls .
# လက်ရှိ Folder ထဲရှိ File နှင့် Directory များကို ပြခြင်း
```

---

## ..

Refers to the parent folder (the folder one level up).

```bash
cd ..
# လက်ရှိ Folder မှ Parent Folder သို့ ပြန်တက်ခြင်း
```

---

## ~

Represents the user's Home directory.

```bash
cd ~
# Home Directory သို့ ပြန်သွားခြင်း
```

Example

```bash
/home/mink
```

---

## /

This is the Root directory of the Linux filesystem.

```bash
cd /
# Filesystem အစ Root Folder သို့ သွားခြင်း
```

---

## *

This is a Wildcard character.

```bash
*.log
# .log ဖြင့်ဆုံးသော File များအားလုံးကို Match လုပ်ခြင်း
```

---

# 2. File and Directory Navigation

## pwd

To see where you are currently located.

```bash
pwd
# လက်ရှိ Folder Path ကို ပြခြင်း
```

Output

```bash
/home/developer/project
```

---

## ls

To view files inside a folder.

```bash
ls
# File နှင့် Folder များကို စာရင်းပြခြင်း
```

```bash
ls -l
# Permission, Owner, Size စသည်တို့ကို အသေးစိတ်ပြခြင်း
```

```bash
ls -la
# Hidden File များပါ ပြသခြင်း
```

---

## cd

To change folders.

```bash
cd src
# src Folder ထဲသို့ ဝင်ခြင်း
```

```bash
cd ../src
# Parent Folder တက်ပြီး src Folder ထဲသို့ ဝင်ခြင်း
```

```bash
cd ~
# Home Directory သို့ သွားခြင်း
```

---

# 3. File Management

## mkdir

To create a new folder.

```bash
mkdir project
# project Folder အသစ် ဖန်တီးခြင်း
```

```bash
mkdir -p app/v1/controllers
# Nested Folder Structure ကို တစ်ခါတည်း ဖန်တီးခြင်း
```

---

## touch

To create a new file.

```bash
touch index.js
# index.js File အသစ် ဖန်တီးခြင်း
```

---

## cp

To copy a file or folder.

```bash
cp app.js app-backup.js
# File Copy ကူးခြင်း
```

```bash
cp -R templates config
# Folder တစ်ခုလုံး Copy ကူးခြင်း
```

---

## mv

To rename or move.

```bash
mv old.txt new.txt
# File Name ပြောင်းခြင်း
```

```bash
mv app.js src/
# File ကို Folder အသစ်သို့ ရွှေ့ခြင်း
```

---

## rm

To delete a file or folder.

```bash
rm file.txt
# File ဖျက်ခြင်း
```

```bash
rm -r uploads
# Folder နှင့် အတွင်းရှိ File များအား ဖျက်ခြင်း
```

```bash
rm -ri uploads
# ဖျက်မည့် File များကို Confirm မေးပြီး ဖျက်ခြင်း
```

---

# 4. Viewing File Content

## cat

To view an entire file.

```bash
cat package.json
# package.json File အကြောင်းအရာအားလုံးကို ပြခြင်း
```

---

## less

To read large files page by page.

```bash
less server.log
# Log File များကို အဆင်ပြေစွာ ဖတ်ရှုခြင်း
```

```bash
q
# less မှ ထွက်ခြင်း
```

---

## head

To view the beginning of a file.

```bash
head package.json
# ပထမဆုံး Lines များကို ပြခြင်း
```

---

## tail

To view the end of a file.

```bash
tail error.log
# နောက်ဆုံး Log များကို ကြည့်ခြင်း
```

```bash
tail -n 50 error.log
# နောက်ဆုံး Line 50 ကို ပြခြင်း
```

---

# 5. Searching

## grep

To search for text.

```bash
grep "TODO" app.js
# TODO ပါသော Line များကို ရှာခြင်း
```

```bash
grep -rn "TODO" ./src
# src Folder အတွင်း TODO များကို Recursive Search လုပ်ခြင်း
```

---

## find

To search for files.

```bash
find . -name "*.js"
# JavaScript File များကို ရှာခြင်း
```

```bash
find . -name ".env"
# .env File များကို ရှာခြင်း
```

---

# 6. Text Processing

## sed

To replace text.

```bash
sed 's/localhost/production.db/g' config.env
# localhost ကို production.db ဖြင့် အစားထိုးခြင်း
```

---

## awk

To extract column data.

```bash
awk '{print $1}' access.log
# ပထမ Column ကို ထုတ်ယူခြင်း
```

```bash
awk '{print $1, $4}' access.log
# Column 1 နှင့် 4 ကို ထုတ်ယူခြင်း
```

---

## cut

To extract CSV data.

```bash
cut -d ',' -f 1,3 users.csv
# Column 1 နှင့် 3 ကို ထုတ်ယူခြင်း
```

---

# 7. Process Management

## ps

To view running processes.

```bash
ps aux
# System ပေါ်ရှိ Running Process အားလုံးကို ကြည့်ခြင်း
```

```bash
ps aux | grep node
# Node.js Process များကို ရှာခြင်း
```

---

## htop

To view system resource usage.

```bash
htop
# CPU, RAM, Process Usage ကို Real-time ကြည့်ခြင်း
```

---

## kill

To terminate a process.

```bash
kill 1234
# PID 1234 Process ကို Stop လုပ်ခြင်း
```

```bash
kill -9 1234
# Process ကို Force Stop လုပ်ခြင်း
```

---

# 8. System Information

## uname

To view operating system information.

```bash
uname -a
# OS Version နှင့် Kernel Information ကို ကြည့်ခြင်း
```

---

## df

To view disk usage.

```bash
df -h
# Disk Space အသုံးပြုမှုကို Human Readable Format ဖြင့် ပြခြင်း
```

---

## du

To view folder size.

```bash
du -sh node_modules
# node_modules Folder ၏ Size ကို ကြည့်ခြင်း
```

---

## free

To view memory usage.

```bash
free -h
# RAM နှင့် Swap Usage ကို ကြည့်ခြင်း
```

---

## which

To find the command installation location.

```bash
which docker
# Docker Executable ၏ Path ကို ပြခြင်း
```

Output

```bash
/usr/bin/docker
```

---

# 9. Networking Basics

## ping

To check the connection.

```bash
ping google.com
# Google Server သို့ Reachable ဖြစ်မဖြစ် စစ်ခြင်း
```

---

## traceroute

To view the network route.

```bash
traceroute github.com
# GitHub သို့ သွားသော Network Path ကို ကြည့်ခြင်း
```

---

## ip a

To view the IP address.

```bash
ip a
# Network Interface နှင့် IP Address များကို ပြခြင်း
```

---

## ss

To view open ports.

```bash
ss -tuln
# Listen လုပ်နေသော Port များကို ကြည့်ခြင်း
```

---

# 10. Shell Productivity

## alias

To create command shortcuts.

```bash
alias gs='git status'
# git status အတွက် Shortcut တစ်ခု ဖန်တီးခြင်း
```

---

## set -e

For Shell Script error handling.

```bash
#!/bin/bash
set -e

npm run test
npm run build

# Command တစ်ခု Fail ဖြစ်သည်နှင့် Script ကို ရပ်တန့်စေခြင်း
```

---

## &&

The second command will run only if the first command succeeds.

```bash
npm run build && npm run deploy
# Build Success ဖြစ်မှ Deploy ဆက်လုပ်ခြင်း
```

---

## ||

The second command will run only if the first command fails.

```bash
npm run build || echo "Build Failed"
# Build Fail ဖြစ်ပါက Error Message ပြခြင်း
```

---

# 11. Git Basics

## Repository Clone

```bash
git clone https://github.com/user/project.git
# Remote Repository ကို Local Machine သို့ Download လုပ်ခြင်း
```

---

## Checking Status

```bash
git status
# Modified, Deleted, Untracked Files များကို စစ်ဆေးခြင်း
```

---

## Add Changes

```bash
git add .
# ပြောင်းလဲထားသော File များကို Staging Area သို့ ထည့်ခြင်း
```

---

## Commit

```bash
git commit -m "feat: add login page"
# Local Repository တွင် Snapshot တစ်ခုအဖြစ် သိမ်းဆည်းခြင်း
```

---

## Push

```bash
git push origin main
# Local Git Update များကို Remote Repository ၏ main Branch သို့ Push လုပ်ခြင်း
```

---

## Pull

```bash
git pull origin main
# Remote Repository မှ နောက်ဆုံး Update များကို Local သို့ Sync လုပ်ခြင်း
```

---

## Viewing History

```bash
git log --oneline --graph
# Commit History ကို Tree ပုံစံဖြင့် ကြည့်ခြင်း
```

---

## Creating a Branch

```bash
git branch feature/auth
# feature/auth Branch အသစ် ဖန်တီးခြင်း
```

---

## Switching Branches

```bash
git checkout feature/auth
# feature/auth Branch သို့ ပြောင်းခြင်း
```

---

## Branch Merge

```bash
git merge feature/auth
# feature/auth Branch မှ Code များကို လက်ရှိ Branch ထဲသို့ ပေါင်းစည်းခြင်း
```

---

# 12. Beginner Developer Workflow

A common workflow used when starting a new project.

```bash
mkdir -p my-project/src my-project/tests
# Project Folder Structure ဖန်တီးခြင်း

cd my-project
# Project Folder ထဲသို့ ဝင်ခြင်း

git init
# Git Repository အသစ် စတင်ခြင်း

touch README.md .gitignore
# Project အတွက် အခြေခံ File များ ဖန်တီးခြင်း

echo "*.log" > .gitignore
# Log File များကို Git Tracking မှ ဖယ်ရှားခြင်း

echo "node_modules/" >> .gitignore
# Dependency Folder ကို Git Tracking မှ ဖယ်ရှားခြင်း

git status
# လက်ရှိ Git State ကို စစ်ဆေးခြင်း

git add .
# File အားလုံးကို Stage လုပ်ခြင်း

git commit -m "Initial project setup"
# ပထမဆုံး Commit ပြုလုပ်ခြင်း
```

Once you have mastered the commands in this guide, it will be very helpful when studying Linux Server Management, Docker, Cloud Infrastructure, CI/CD, Backend Development, and DevOps.
