25 Linux Commands Every Beginner Should Know (With Examples & Simple Descriptions)


Howdy ! When I first jumped into Linux, the terminal felt scary. But slowly, I picked up commands that helped me move around, manage files, and explore the system like a Hacker. Here’s my personal list of 25 commands that helped me survive and learn the basics of Linux — explained with simple descriptions.
1. mkdir
– Make Directory
Creates a new folder in your current path. Useful to organize projects or files.
mkdir my_folder
2. cd
– Change Directory
Lets you move into other folders from your current directory. cd ..
goes back one level.
cd folder_name
cd ..
3. rm
– Remove File
Deletes files permanently from the system. No trash or undo, so use it carefully.
rm file.txt
4. rm -rf
– Force Delete Directory
Deletes folders recursively and forcefully, even if they're not empty. Super dangerous.
rm -rf file_name
5. vim
– Terminal Text Editor
Vim is a powerful editor. Use i
to start typing, Esc + :wq
to save and exit.
vim file.txt
6. cp
– Copy Files or Folders
Copies a file or folder to another location. Add -r
to copy folders.
cp source.txt destination.txt
7. ../
– Move One Directory Up
Used with cd
, it helps you move up to the parent directory.
cd ../
8. touch
– Create Empty File
Creates a blank file instantly. Also updates the timestamp if it already exists.
touch index.html
9. .filename
– Hidden File
Files starting with .
are hidden from normal ls
views.
touch .env
10. ls -a
– List All Files Including Hidden
Shows all files in a folder, including hidden ones (those starting with .
).
ls -a
11. ls -ltrh
– Detailed File List
Lists files with details, sorted by time, and human-readable sizes.
ls -ltrh
12. head
– Show First Lines of a File
Displays the top 10 lines of a file by default. Good for previewing logs or text.
head file.txt
13. tail
– Show Last Lines of a File
Displays the last 10 lines of a file. Great for checking end of logs.
tail file.txt
14. head -n
– First n Lines
Shows a custom number of lines from the top of a file.
head -5 file.txt
15. tail -n
– Last n Lines
Shows a custom number of lines from the bottom of a file.
tail -5 file.txt
16. top
– Live Process Viewer
Shows running processes, memory, CPU usage in real-time. Use q
to quit.
top
17. df
– Disk Space Usage
Displays disk space for all mounted drives. Use -h
for human-readable output.
df -h
18. echo
– Print Text
Outputs whatever text or variables you give it. Good for testing or writing to files.
echo "Hello World"
19. grep
– Search in Files
Searches for a string in a file and shows the matching lines.
grep "error" log.txt
20. grep -ir
– Recursive + Case-Insensitive Search
Search through folders, ignoring case. Perfect for deep searches.
grep -ir "keyword" .
21. find ./
– Locate Files by Name
Searches for files in the current directory and subfolders.
find ./ -name "file.txt"
22. curl
– Fetch Data from URL
Downloads or interacts with web APIs and websites.
curl https://example.com
23. wget
– Download Files from Internet
Downloads files from the web and saves them directly.
wget https://example.com/file.zip
24. man
– Read Manual Page
Shows help and documentation for any command.
man ls
25. --help
– Quick Help for Any Command
Prints basic usage and options for any command.
ls --help
Concluding Note
That’s it! These 25 commands helped me a LOT as a Linux beginner and am still a beginner — and I still use most of them daily. Whether you’re managing files, exploring directories, or just trying to understand what's going on inside your system, these basics will take you far.
Author Note
If you find these types of blogs interesting kindly subscribe and will ofcourse post more a lot interesting stuffs in the future. Hope it helps you. Have a Good one.
Subscribe to my newsletter
Read articles from Hariharan K directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Hariharan K
Hariharan K
CS undergrad with interest in embracing the technological world, programming and solving problems. At the moment, I am developing my skills in web and app Dev . I interest myself in further studying and practicing new things.