Linux is a powerhouse for anyone who loves flexibility and control.

But let’s face it: the terminal can be intimidating at first.

The good news? You don’t need to memorize thousands of commands to be productive.
Mastering a core set will make daily tasks—like managing files, installing software, or troubleshooting—much easier.

Here’s a rundown of 30 essential Linux commands, with a focus on real-world usefulness and clear, friendly explanations.

Table of Contents


ls

List files and directories in your current location

Image description

Add -l for more details

Image description


cd

Change the current directory

Image description


pwd

Print the current working directory—handy when you get lost in the filesystem

Image description


mkdir

Create a new directory
Example: mkdir new_folder

Image description


rm

Remove files or directories
Use with caution!

Image description

Add -r to delete directories

Image description


cp

Copy files or directories.
Example: cp file.txt

Image description


mv

Move or rename files and directories
Example: mv old.txt new.txt

Image description


touch

Create an empty file or update the timestamp of an existing file

Image description


cat

Display the contents of a file
Great for quickly reading small files

Image description


less

View large files one page at a time
Use q to quit


head

Show the first few lines of a file

Image description


tail

Show the last few lines of a file

Image description

Add -f to watch a file update in real time

Image description


grep

Search for text inside files. Example: grep "error" example.txt

Image description


find

Locate files and directories by name or other criteria
find [path] [options] [expression]

Image description


locate

Quickly find files by name using a pre-built database

Image description


man

Read the manual page for any command
Example: man ls

Image description


chmod

Change file permissions Example: chmod +x script.sh

Image description


chown

Change file or directory owner
Example: chown [options] new_owner[:new_group] file

Image description


sudo

Run commands as the superuser (admin) Example: sudo su

Image description


ps

List running processes Add aux for a full list

Image description


kill

Terminate a process by its ID. Example: kill 1234

Image description


top

Real-time view of running processes and system resource usage

Image description


df

Show disk space usage for all mounted filesystems

Image description


du

Show disk usage for files and directories

Example: du -sh

Image description


uname

Display system information

Image description

Add -a for all details

Image description


wget

Download files from the internet

Example: wget https://example.com/file.zip

Image description


ssh

Connect to remote machines securely

Example: ssh [email protected]

Image description


history

See a list of commands you’ve recently used

Image description


echo

Print text to the terminal or write to files

Example: echo "Hello" hello.txt

Image description


apt, yum, or pacman

Install, update, or remove software packages, depending on your Linux distribution.

Image description


Conclusion

Why These Commands Matter

Learning these commands will help you:

  • Navigate and organize your files quickly
  • Manage system resources and troubleshoot issues
  • Automate repetitive tasks
  • Install and update software
  • Work confidently on remote servers

You don’t need to know every option right away—just start using these commands in your daily workflow, and you’ll pick up the details naturally.
And remember, if you ever get stuck, the man command is your best friend for looking up usage and options.

Happy exploring!