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

Hariharan KHariharan K
4 min read

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

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.

0
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.