Essential Linux Commands for Every User
Linux is a powerful and flexible operating system, widely used by developers, system administrators, and tech enthusiasts. Knowing the right commands can help you navigate, manage files, and optimize system performance. Here’s a list of some of the most useful Linux commands, categorized for ease of reference.
1. Basic Navigation Commands
-
pwd
– Print the current working directory. -
ls
– List files and directories in the current directory. -
cd <directory>
– Change to the specified directory. -
mkdir <directory>
– Create a new directory. -
rmdir <directory>
– Remove an empty directory.
2. File Management Commands
-
touch <filename>
– Create a new empty file. -
cp <source> <destination>
– Copy files or directories. -
mv <source> <destination>
– Move or rename files. -
rm <filename>
– Remove a file. -
rm -r <directory>
– Remove a directory and its contents.
3. Viewing and Editing Files
-
cat <filename>
– Display file contents. -
less <filename>
– View file content page by page. -
nano <filename>
– Open a file in the nano text editor. -
vim <filename>
– Open a file in the Vim text editor. -
grep '<text>' <filename>
– Search for text inside a file.
4. System Monitoring Commands
-
top
– Display active processes and system resource usage. -
htop
– A more user-friendly alternative totop
(requires installation). -
df -h
– Show disk space usage in a human-readable format. -
du -sh <directory>
– Show the size of a directory. -
free -m
– Display available and used RAM in megabytes.
5. User Management Commands
-
whoami
– Show the current logged-in user. -
id
– Display user ID (UID) and group ID (GID). -
who
– List currently logged-in users. -
passwd
– Change the current user's password. -
sudo useradd <username>
– Create a new user. -
sudo userdel <username>
– Delete a user.
6. Process Management Commands
-
ps aux
– Display active processes. -
kill <PID>
– Terminate a process using its Process ID. -
killall <process_name>
– Terminate all processes with a given name. -
pkill <pattern>
– Kill processes matching a name pattern.
7. Networking Commands
-
ip a
– Show network interfaces and IP addresses. -
ping <host>
– Test connectivity to a remote host. -
curl -I <URL>
– Fetch HTTP headers from a website. -
wget <URL>
– Download a file from the internet. -
netstat -tulnp
– Show open ports and active connections.
8. Package Management Commands
For Debian-based systems (Ubuntu, Debian):
-
sudo apt update
– Update package lists. -
sudo apt upgrade
– Upgrade installed packages. -
sudo apt install <package>
– Install a new package.
For RHEL-based systems (CentOS, Fedora):
-
sudo yum update
– Update all packages. -
sudo yum install <package>
– Install a package.
9. Permission and Ownership Commands
-
chmod <permissions> <filename>
– Change file permissions. -
chown <user>:<group> <filename>
– Change file owner and group. -
ls -l
– Display detailed file permissions and ownership.
10. Archiving and Compression Commands
-
tar -cvf archive.tar <directory>
– Create a tar archive. -
tar -xvf archive.tar
– Extract a tar archive. -
gzip <file>
– Compress a file using gzip. -
gunzip <file.gz>
– Decompress a gzip file. -
zip -r archive.zip <directory>
– Create a zip archive. -
unzip archive.zip
– Extract a zip archive.
These Linux commands are essential for managing files, processes, users, and system resources efficiently. Whether you’re a beginner or an experienced user, mastering these commands will significantly enhance your productivity. Keep practicing, and soon you’ll be navigating Linux like a pro!