Linux Basics: 50 Important Commands for Beginners

Table of contents
- Why Use the Terminal?
- 50 Essential Linux Commands
- 1. pwd - Show Current Location
- 2. ls - List Files and Folders
- 3. cd - Change Directory
- 4. mkdir - Create a Folder
- 5. touch - Create a File
- 6. cat - View File Contents
- 7. cp - Copy Files/Folders
- 8. mv - Move or Rename Files/Folders
- 9. rm - Delete Files/Folders
- 10. man - Show Command Help
- 11. echo - Print Text
- 12. nano - Edit Files
- 13. vim - Advanced Text Editor
- 14. clear - Clear Terminal
- 15. whoami - Show Current User
- 16. uname - System Info
- 17. df - Check Disk Space
- 18. du - Check Folder Size
- 19. free - Check Memory
- 20. top - Monitor Processes
- 21. ps - List Processes
- 22. kill - Stop a Process
- 23. chmod - Change Permissions
- 24. chown - Change Owner
- 25. find - Search for Files
- 26. grep - Search in Files
- 27. wc - Count Words/Lines
- 28. sort - Sort Lines
- 29. uniq - Remove Duplicates
- 30. cut - Extract Columns
- 31. tee - Write to File and Terminal
- 32. ln - Create Links
- 33. tar - Archive Files
- 34. gzip - Compress Files
- 35. gunzip - Decompress Files
- 36. wget - Download Files
- 37. curl - Transfer Data
- 38. ping - Check Connectivity
- 39. netstat - Network Stats
- 40. ifconfig - Network Config
- 41. date - Show Date/Time
- 42. cal - Show Calendar
- 43. uptime - System Uptime
- 44. history - Show Command History
- 45. alias - Create Shortcuts
- 46. env - Show Environment Variables
- 47. export - Set Environment Variable
- 48. sudo - Run as Admin
- 49. apt - Package Manager (Ubuntu)
- 50. shutdown - Power Off
- Wrapping Up

Hi everyone! I’m learning Linux as part of my DevOps journey, and I want to share what I’ve picked up. Linux is used in tons of servers and DevOps tools, so knowing how to use the terminal is super important. This blog is for beginners like me who want to learn the most common Linux commands. These are the commands I use a lot while working on Ubuntu, but they work on most Linux systems. Let’s get started!
Why Use the Terminal?
The terminal can feel scary at first, but it’s just a way to give your computer instructions. It’s fast and powerful, especially for DevOps tasks like managing servers or automating stuff. Below, I’ve listed 50 commonly used commands with examples to help you navigate, manage files, check system info, and more.
50 Essential Linux Commands
1. pwd
- Show Current Location
What it does: Tells you the full path of the folder you’re in.
Example:
pwd
Output: /home/user/docs
This shows you’re in the docs
folder.
2. ls
- List Files and Folders
What it does: Shows all files and folders in the current directory.
Example:
ls
Output: file.txt folder1 folder2
Use ls -l
for details or ls -a
to see hidden files.
3. cd
- Change Directory
What it does: Moves you to another folder.
Example:
cd docs
Moves to the docs
folder. Use cd ..
to go up one level or cd
to go home.
4. mkdir
- Create a Folder
What it does: Makes a new folder.
Example:
mkdir my_folder
Creates a folder named my_folder
.
5. touch
- Create a File
What it does: Creates an empty file.
Example:
touch note.txt
Creates an empty file named note.txt
.
6. cat
- View File Contents
What it does: Shows the contents of a file.
Example:
cat note.txt
Output: Hello, this is a note!
7. cp
- Copy Files/Folders
What it does: Copies files or folders.
Example:
cp note.txt note_copy.txt
Copies note.txt
to note_copy.txt
. Use cp -r
for folders.
8. mv
- Move or Rename Files/Folders
What it does: Moves or renames files/folders.
Example:
mv note.txt docs/note.txt
Moves note.txt
to the docs
folder.
To rename:
mv note.txt new_note.txt
9. rm
- Delete Files/Folders
What it does: Deletes files or folders.
Example:
rm note.txt
Deletes note.txt
. Use rm -r
for folders.
10. man
- Show Command Help
What it does: Displays the manual for a command.
Example:
man ls
Shows the help page for ls
.
11. echo
- Print Text
What it does: Prints text to the terminal.
Example:
echo "Hello"
Output: Hello
12. nano
- Edit Files
What it does: Opens a simple text editor.
Example:
nano note.txt
Opens note.txt
for editing.
13. vim
- Advanced Text Editor
What it does: Opens a powerful text editor.
Example:
vim note.txt
Opens note.txt
. Press i
to edit, :wq
to save and quit.
14. clear
- Clear Terminal
What it does: Clears the terminal screen.
Example:
clear
Clears all previous output.
15. whoami
- Show Current User
What it does: Shows your username.
Example:
whoami
Output: user
16. uname
- System Info
What it does: Shows system information.
Example:
uname -a
Output: Linux ubuntu 5.15.0-73-generic...
17. df
- Check Disk Space
What it does: Shows disk usage.
Example:
df -h
Output: Shows disk space in human-readable format.
18. du
- Check Folder Size
What it does: Shows the size of files/folders.
Example:
du -h docs
Shows the size of the docs
folder.
19. free
- Check Memory
What it does: Shows memory usage.
Example:
free -h
Shows RAM usage in a readable format.
20. top
- Monitor Processes
What it does: Shows running processes and system usage.
Example:
top
Displays a live view of processes. Press q
to quit.
21. ps
- List Processes
What it does: Shows current processes.
Example:
ps aux
Lists all running processes.
22. kill
- Stop a Process
What it does: Stops a process by its ID (PID).
Example:
kill 1234
Stops the process with PID 1234.
23. chmod
- Change Permissions
What it does: Changes file/folder permissions.
Example:
chmod 755 script.sh
Gives execute permission to script.sh
.
24. chown
- Change Owner
What it does: Changes file/folder ownership.
Example:
chown user note.txt
Changes the owner of note.txt
to user
.
25. find
- Search for Files
What it does: Finds files by name or type.
Example:
find /home -name note.txt
Finds note.txt
in the /home
directory.
26. grep
- Search in Files
What it does: Searches for text inside files.
Example:
grep "error" log.txt
Finds lines with “error” in log.txt
.
27. wc
- Count Words/Lines
What it does: Counts lines, words, or characters.
Example:
wc -l note.txt
Shows the number of lines in note.txt
.
28. sort
- Sort Lines
What it does: Sorts lines in a file.
Example:
sort names.txt
Sorts the lines in names.txt
.
29. uniq
- Remove Duplicates
What it does: Removes duplicate lines from a sorted file.
Example:
uniq names.txt
Removes duplicates from names.txt
.
30. cut
- Extract Columns
What it does: Extracts specific columns from a file.
Example:
cut -d',' -f1 data.csv
Extracts the first column from a CSV file.
31. tee
- Write to File and Terminal
What it does: Writes output to a file and the terminal.
Example:
echo "test" | tee output.txt
Writes “test” to output.txt
and shows it.
32. ln
- Create Links
What it does: Creates hard or symbolic links.
Example:
ln -s note.txt link.txt
Creates a symbolic link to note.txt
.
33. tar
- Archive Files
What it does: Creates or extracts tar archives.
Example:
tar -cvf archive.tar docs
Creates archive.tar
from the docs
folder.
34. gzip
- Compress Files
What it does: Compresses files.
Example:
gzip file.txt
Compresses file.txt
to file.txt.gz
.
35. gunzip
- Decompress Files
What it does: Decompresses .gz
files.
Example:
gunzip file.txt.gz
Decompresses file.txt.gz
.
36. wget
- Download Files
What it does: Downloads files from the web.
Example:
wget http://example.com/file.txt
Downloads file.txt
.
37. curl
- Transfer Data
What it does: Fetches data from URLs.
Example:
curl http://example.com
Displays the content of example.com
.
38. ping
- Check Connectivity
What it does: Tests network connectivity.
Example:
ping google.com
Pings google.com
.
39. netstat
- Network Stats
What it does: Shows network connections.
Example:
netstat -tuln
Lists open ports.
40. ifconfig
- Network Config
What it does: Shows network interface info.
Example:
ifconfig
Displays network details.
41. date
- Show Date/Time
What it does: Displays the current date and time.
Example:
date
Output: Mon Apr 28 12:00:00 2025
42. cal
- Show Calendar
What it does: Displays a calendar.
Example:
cal
Shows the current month’s calendar.
43. uptime
- System Uptime
What it does: Shows how long the system has been running.
Example:
uptime
Output: 12:00:00 up 1 day, 2:30
44. history
- Show Command History
What it does: Lists previously used commands.
Example:
history
Shows your command history.
45. alias
- Create Shortcuts
What it does: Creates shortcuts for commands.
Example:
alias ll='ls -l'
Now ll
runs ls -l
.
46. env
- Show Environment Variables
What it does: Lists environment variables.
Example:
env
Shows all variables like PATH
.
47. export
- Set Environment Variable
What it does: Sets an environment variable.
Example:
export MY_VAR="value"
Sets MY_VAR
to value
.
48. sudo
- Run as Admin
What it does: Runs a command with admin privileges.
Example:
sudo apt update
Updates package lists with admin rights.
49. apt
- Package Manager (Ubuntu)
What it does: Manages software packages.
Example:
sudo apt install vim
Installs vim
.
50. shutdown
- Power Off
What it does: Shuts down the system.
Example:
sudo shutdown now
Shuts down immediately.
Wrapping Up
These 50 commands are super helpful for getting started with Linux. I’m using them a lot on my Ubuntu system, and they’re making the terminal feel less scary. Next, I’m excited to try scripting to automate things more on that soon!
If you’re new, give these commands a go and share your progress on LinkedIn. Drop a comment if you have other commands you love!
Subscribe to my newsletter
Read articles from Zasim directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by

Zasim
Zasim
DevOps Engineer