All Articles

Essential Basic commands for Beginners

Written by Sandesh Gadal on October 25, 2025


Essential Linux Terminal Commands for Beginners 💻

The Linux terminal, or command-line interface (CLI), is a powerful tool for interacting directly with your operating system. Mastering a few fundamental commands is crucial for efficiency in development, system administration, and everyday computing.

1. File and Directory Management 📂

These commands are essential for navigating your file system and manipulating files and folders.

1. ls List directory contents. Use -l for long listing (details) and -a to show hidden files.

Syntax:

ls [options] [directory]

Example:

ls -la /home/user

2. pwd Print working directory (shows your current location).

Syntax:

pwd

Example:

pwd

3. cd Change directory (move between folders). Use .. to move up one level.

Syntax:

cd [paths]

Example:

cd Documents/Projects or cd .. 

4. mkdir Make directory (create a new folder).

Syntax:

mkdir [options] directory_name

Example:

mkdir new_folder_name

5. touch Create a new empty file or update file timestamps.

Syntax:

touch [options] file_name

Example:

touch newfile.txt

6. cp Copy files or directories from one location to another.

Syntax:

cp [options] source destination

Example:

cp file.txt /home/user/Documents/

7. mv Move or rename files and directories.

Syntax:

mv [options] source destination

Example:

mv old_name.txt new_name.txt
mv file.txt /backup/

8. rm Remove files. Use -r to remove directories (recursive) and -f for force. Use with caution!

Syntax:

rm [options] file_or_directory

Example:

rm unwanted_file.log
rm -rf old_data_folder


2. Viewing and Editing Files 📜

Commands to inspect the content of text files without opening a full editor.

1. cat Concatenate and print file contents to the standard output. Useful for quickly viewing small files.

Syntax:

cat [options] file_name

Example:

cat important_log.txt

2. less View file content one page at a time (supports scrolling, searching). Press q to exit.

Syntax:

less [options] file_name

Example:

less large_document.pdf

3. head Display the beginning (head) of a file (defaults to first 10 lines).

Syntax:

head [options] file_name

Example:

head -n 5 script.sh

4. tail Display the end (tail) of a file. Use -f to follow (monitor) a file for new content.

Syntax:

tail [options] file_name

Example:

tail access.log
tail -f server.log

5. nano / vim Text editors for creating and modifying files directly in the terminal. nano is simpler for beginners.

Syntax:

nano file_name
vim file_name

Example:

nano configuration.ini

3. System Information and Utilities ⚙️

Commands for checking the health and status of your system.

1. man Display the manual page for a command (provides detailed documentation). Press q to exit.

Syntax:

man [command_name]

Example:

man ls

2. clear Clears the terminal screen.

Syntax:

clear

Example:

clear

3. history Shows a list of previously executed commands.

Syntax:

history [options]

Example:

history

4. grep Global Regular Expression Print: searches for a specific text pattern within files or command output.

Syntax:

grep [options] "pattern" file_name

Example:

grep "error" application.log

5. ps Process status: displays currently running processes. Often used with aux (ps aux).

Syntax:

ps [options]

Example:

ps aux

6. top Display a dynamic, real-time view of running processes and system resource usage (CPU, memory).

Syntax:

top

Example:

top

7. kill Send a signal to a process, typically to terminate it. Requires the process ID (PID).

Syntax:

kill [options] PID

Example:

kill 12345

8. df Disk free: shows the amount of available disk space. Use -h for human-readable output.

Syntax:

df [options]

Example:

df -h

9. du Disk usage: estimates file space usage. Use -sh for a summary in human-readable format.

Syntax:

du [options] directory_name

Example:

du -sh Documents/

10. uname Print system information. Use -a for all information (kernel name, version, etc.).

Syntax:

uname [options]

Example:

uname -a

11. exit Closes the current terminal session or window.

Syntax:

exit

Example:

exit

4. Permissions and Ownership 🔐

Linux systems control access using permissions. Understanding these commands is vital for security and system administration.

1. chmod Change mode (permissions) of a file or directory. Uses numeric (e.g., 755) or symbolic notation.

Syntax:

chmod [options] mode file_or_directory

Example:

chmod 755 script.sh

2. chown Change owner of a file or directory. Requires root/sudo privileges.

Syntax:

chown [options] user:group file_or_directory

Example:

chown user:group file.txt

3. sudo Super user do: executes a command with elevated privileges (as the root user).

Syntax:

sudo [command]

Example:

sudo apt update

5. Networking 🌐

Commands to check network configuration and connectivity.

1. ping Send packets to a host to test network connectivity.

Syntax:

ping [options] host

Example:

ping google.com

2. ip addr Show/manipulate routing, devices, policy routing, and tunnels (replaces the older ifconfig).

Syntax:

ip addr [options]

Example:

ip addr show

3. ssh Secure Shell: securely connect to a remote server.

Syntax:

ssh [user@]hostname

Example:

ssh user@remote_server_ip

Conclusion

These commands form the backbone of interaction with the Linux command line. Consistent practice will help you build muscle memory and significantly speed up your workflow, making you a more effective and efficient user of any Unix-like system. Remember to use the man command for deeper understanding of any tool.