Linux commands are integral for managing and operating a Linux-based system.

Below is a list of some commonly used Linux commands along with a brief description of their functionality:

  1. ls – Lists files and directories in the current directory.
   ls
  1. cd – Changes the current directory.
   cd /path/to/directory
  1. pwd – Prints the path of the current directory.
   pwd
  1. mkdir – Creates a new directory.
   mkdir new_directory
  1. rmdir – Removes a directory.
   rmdir directory_name
  1. touch – Creates an empty file.
   touch new_file.txt
  1. rm – Removes files or directories.
   rm file.txt
  1. cp – Copies files or directories.
   cp source.txt destination.txt
  1. mv – Moves or renames files or directories.
   mv old_name.txt new_name.txt
  1. cat – Concatenates and displays file content. cat file.txt
  2. more/less – Displays file content page by page. less file.txt
  3. head/tail – Displays the beginning/end of a file. head file.txt tail file.txt
  4. grep – Searches text using patterns. grep "pattern" file.txt
  5. find – Finds files or directories. find / -name "file.txt"
  6. who – Shows who is logged on. who
  7. ps – Shows the current processes. ps -aux
  8. kill – Terminates processes. kill -9 process_id
  9. tar – Archives files. tar -cvf archive.tar /path/to/directory
  10. gzip/gunzip – Compresses or decompresses files. gzip file.txt gunzip file.txt.gz
  11. chmod – Changes file permissions. chmod 755 file.txt
  12. chown – Changes file ownership.
    bash chown username:group file.txt

These commands form the basic toolkit for navigating and managing a Linux system. They are executed in the terminal and are case-sensitive. The -h flag (e.g., ls -h, df -h) often provides human-readable output, and the --help flag (e.g., ls --help) provides usage information.


  1. uname – Displays system information. uname -a
  2. df – Shows disk usage. df -h
  3. du – Shows file and directory space usage. du -sh /path/to/directory
  4. ifconfig / ip – Displays or configures network interface parameters. ifconfig ip addr
  5. netstat – Shows network connections, routing tables, and interface statistics. netstat -an
  6. ss – Another utility to investigate sockets. ss -tuln
  7. ping – Tests network connectivity. ping google.com
  8. traceroute / tracepath – Traces the route packets take to a network host. traceroute google.com tracepath google.com
  9. curl / wget – Downloads files from the web. curl -O https://example.com/file.txt wget https://example.com/file.txt
  10. top / htop – Displays dynamic real-time view of system processes. top htop
  11. free – Shows memory usage. free -m
  12. whoami – Displays the username of the current user. whoami
  13. id – Displays user and group information for a user. id
  14. nano / vi / vim – Text editors. nano file.txt vi file.txt vim file.txt
  15. alias – Creates an alias for a command. alias ll='ls -la'
  16. history – Shows command history. history
  17. crontab – Scheduling jobs. crontab -e
  18. awk – Text and data extraction and reporting. awk '{print $1}' file.txt
  19. sed – Stream editor for filtering and transforming text.
    bash sed 's/old/new/' file.txt

These commands and utilities further extend your ability to manage and interact with Linux systems. They help in troubleshooting, system maintenance, network management, and other crucial system administration tasks. Each command usually has a man page which provides more detailed information on how to use it.

You can access the man page of a command by typing man followed by the command name, like so:

man ls

  1. apt / apt-get / dpkg – Package management commands for Debian-based systems. apt update apt-get install package_name dpkg -i package_name.deb
  2. yum / rpm / dnf – Package management commands for Red Hat-based systems. yum install package_name rpm -i package_name.rpm dnf install package_name
  3. zip / unzip – Compressing and decompressing files. zip archive_name.zip file1 file2 unzip archive_name.zip
  4. passwd – Changing user password. passwd
  5. useradd / userdel – Adding or deleting users. useradd username userdel username
  6. groupadd / groupdel – Adding or deleting groups. groupadd groupname groupdel groupname
  7. mount / umount – Mounting and unmounting file systems. mount /dev/sda1 /mnt umount /mnt
  8. fsck – File system check. fsck /dev/sda1
  9. shutdown / reboot – Shutting down or rebooting the system. shutdown -h now reboot
  10. lsof – Listing open files. lsof
  11. date – Displays or sets the system date and time. date
  12. cal – Displays a calendar. cal
  13. uptime – Shows how long the system has been running. uptime
  14. hostname – Shows or sets the system’s hostname. hostname
  15. nc (netcat) – Networking utility for reading from and writing to network connections. nc -l 1234
  16. dig / nslookup – DNS lookup utilities. dig example.com nslookup example.com
  17. iptables – Administration tool for IPv4/IPv6 packet filtering and NAT. iptables -L
  18. sar – System activity reporter. sar
  19. cut – Removes sections from each line of files. cut -d' ' -f1 file.txt
  20. sort – Sorts lines of text files.
    bash sort file.txt

These commands further enrich the toolkit of a Linux user or system administrator. They cover a broad range of functionalities including user management, package management, system and network diagnostics, file operations, and many other essential aspects of system operation and maintenance.


  1. uniq – Filters out adjacent matching lines in input. sort file.txt | uniq
  2. find – Searches for files in a directory hierarchy. find /path -name filename
  3. grep – Searches text using patterns. grep "pattern" file.txt
  4. tar – Archives files. tar -cvf archive.tar /path/to/directory
  5. head / tail – Outputs the first/last part of files. head -n 10 file.txt tail -n 10 file.txt
  6. touch – Creates empty files. touch file.txt
  7. chmod / chown – Changes file permissions and ownership. chmod 755 file.txt chown user:group file.txt
  8. locate – Finds files by name. locate filename
  9. kill / pkill / killall – Sends signals to processes. kill 12345 pkill process_name killall process_name
  10. ps – Shows process status. ps aux
  11. jobs – Lists active jobs. jobs
  12. fg / bg – Puts jobs in the foreground/background. fg %1 bg %1
  13. strings – Prints the strings of printable characters in files. strings filename
  14. xargs – Builds and executes command lines from standard input. find /path -type f -name "*.txt" | xargs rm
  15. diff – Compares files line by line. diff file1.txt file2.txt
  16. comm – Compares two sorted files line by line.
    bash comm file1.txt file2.txt

These additional commands cover file and text manipulation, process management, and other functionalities that are crucial for both basic and advanced system operations and troubleshooting. The Linux command line is a powerful tool that offers a vast array of utilities and commands for various tasks and is an essential skill for system administrators and power users.


I have covered a broad spectrum of commonly used Linux commands. The list includes commands for file management, user and group management, package management, network diagnostics, system monitoring, and process control among others.

Here are a few more commands related to disk management and monitoring:

  1. df – Reports file system disk space usage. df -h
  2. du – Estimates file space usage. du -sh /path/to/directory
  3. fdisk – Manipulates disk partition table. fdisk /dev/sda
  4. mkfs – Creates a file system on a device. mkfs -t ext4 /dev/sda1
  5. swapon / swapoff – Enables/disables devices and files for paging and swapping. swapon /dev/sda2 swapoff /dev/sda2
  6. hdparm – Get/set SATA/ATA disk parameters. hdparm -I /dev/sda
  7. lsblk – Lists information about all available or the specified block devices. lsblk
  8. lshw – Lists hardware information. lshw -C disk
  9. smartctl – Controls the Self-Monitoring, Analysis and Reporting Technology (SMART) system built into most modern ATA/SATA, SCSI/SAS, and NVMe disks. smartctl -a /dev/sda
  10. iostat – Reports Central Processing Unit (CPU) statistics and input/output statistics for devices and partitions.
    bash iostat

These commands are helpful in managing and monitoring disk space, partitioning disks, creating file systems, and obtaining detailed hardware and disk information. The proper use of these commands is essential for maintaining system performance, troubleshooting issues, and ensuring data integrity.


Here are some more commands related to text processing and searching, as well as a few other miscellaneous commands:

  1. sed – Stream editor for filtering and transforming text. echo "hello world" | sed 's/world/universe/'
  2. awk – Pattern scanning and text/data extraction. echo -e "one two\nthree four" | awk '{print $2}'
  3. sort – Sorts lines of text files. sort file.txt
  4. paste – Merges lines of files. paste file1.txt file2.txt
  5. cut – Removes sections from each line of files. cut -d':' -f1 /etc/passwd
  6. tr – Translates or deletes characters. echo "hello world" | tr ' ' '_'
  7. column – Formats text input into a table. column -t file.txt
  8. alias – Creates an alias for a command. alias ll='ls -la'
  9. unalias – Removes an alias. unalias ll
  10. watch – Executes a program periodically, showing output fullscreen. watch df -h
  11. who – Shows who is logged on. who
  12. w – Shows who is logged on and what they are doing. w
  13. uptime – Shows the current time, how long the system has been running, how many users are currently logged on, and the system load averages for the past 1, 5, and 15 minutes. uptime
  14. history – Shows the command history.
    bash history

These commands further illustrate the versatility and the power of the command line interface in Unix-like operating systems, enabling users to process text, monitor system status, manage their command history, and even customize their command set with aliases.