DEV Community

Trix Cyrus
Trix Cyrus

Posted on

List of 100 basic to advanced Linux commands that are essential for users(Must Read)

Author: Trix Cyrus

Here’s a comprehensive list of 100 basic to advanced Linux commands that are essential for users, system administrators, and developers:

Basic Commands:

ls – List directory contents
cd – Change directory
pwd – Print working directory
mkdir – Create directories
rmdir – Remove empty directories
rm – Remove files or directories
cp – Copy files and directories
mv – Move or rename files
touch – Create a new empty file
cat – Concatenate and display file content
more – View file content page by page
less – View file content with backward navigation
head – Display the beginning of a file
tail – Display the end of a file
echo – Display a line of text
df – Report filesystem disk space usage
du – Estimate file space usage
chmod – Change file permissions
chown – Change file ownership
whoami – Display the current user
Enter fullscreen mode Exit fullscreen mode

Intermediate Commands:

ps – Report a snapshot of current processes
top – Display tasks and system performance in real-time
kill – Terminate processes
killall – Kill processes by name
ping – Send ICMP echo request to test network connectivity
wget – Download files from the internet
curl – Transfer data to/from a server
grep – Search text using patterns
find – Search for files and directories
locate – Find files by name
tar – Archive files using tarballs
gzip – Compress files
gunzip – Decompress .gz files
zip – Compress files into a zip archive
unzip – Extract files from a zip archive
scp – Securely copy files between hosts
rsync – Synchronize files and directories
df -h – Show disk space usage in human-readable format
du -sh – Display directory size
nano – Open a text editor
Enter fullscreen mode Exit fullscreen mode

File System and Disk Management:

fdisk – Partition a disk
mkfs – Create a new filesystem
fsck – Check and repair a filesystem
mount – Mount a filesystem
umount – Unmount a filesystem
parted – Manage disk partitions
blkid – Identify block devices
lsblk – List information about block devices
df -T – Display disk space usage along with filesystem type
lsof – List open files and the processes using them
Enter fullscreen mode Exit fullscreen mode

System Monitoring & Management:

htop – Interactive process viewer
uptime – Show how long the system has been running
free – Display free and used memory
vmstat – Report virtual memory statistics
iostat – Report CPU and I/O statistics
dmesg – Print kernel message buffer
lshw – List hardware configuration
lsusb – List USB devices
lspci – List PCI devices
uname -a – Print system information
Enter fullscreen mode Exit fullscreen mode

Networking Commands:

ifconfig – Configure network interfaces
ip a – Display IP address info
netstat – Print network connections
ss – Display socket statistics
nmap – Network exploration tool and security scanner
traceroute – Trace the route packets take to a network host
nslookup – Query internet name servers
dig – Perform DNS lookup
iptables – Configure packet filtering rules
hostname – Show or set the system’s hostname
Enter fullscreen mode Exit fullscreen mode

User and Group Management:

useradd – Add a new user
usermod – Modify a user account
userdel – Delete a user account
groupadd – Add a new group
passwd – Change user password
su – Switch user accounts
sudo – Execute a command as another user
id – Print user and group IDs
who – Show who is logged on
last – Show the last login of users
Enter fullscreen mode Exit fullscreen mode

Package Management:

apt-get – Package handling utility for Debian-based systems
apt-cache – Search and display package information (Debian-based)
yum – Package manager for RPM-based distributions (e.g., CentOS, RedHat)
dnf – Next-generation version of yum
pacman – Package manager for Arch-based systems
rpm – Install, uninstall, and query RPM packages
dpkg – Debian package manager
Enter fullscreen mode Exit fullscreen mode

System Backup & Restore:

rsync -a – Backup files and directories using rsync
tar -czvf – Create a compressed tarball archive
crontab – Schedule tasks to run at specific intervals
at – Schedule a one-time task for later
systemctl – Control the systemd system and service manager
service – Start, stop, or restart a service
journalctl – View system logs (systemd)
history – Show the command history
Enter fullscreen mode Exit fullscreen mode

Advanced Commands:

awk – Pattern scanning and processing language
sed – Stream editor for filtering and transforming text
cron – Task scheduler
tcpdump – Capture network packets
ssh – Secure shell for remote login
Enter fullscreen mode Exit fullscreen mode

This list should help you with Linux basics and progressively move you into more advanced system administration and networking tasks.

~TrixSec

Top comments (0)