Important Linux commands
All the tools you need as a server admin
It is difficult to compile a definitive list of the most important commands on Linux, as the importance of different commands can vary depending on the specific needs and tasks of the user.
Let's try it anyway! Here is our all-time favorite list of commonly used and important commands on Linux systems, that you should definitely know:
bash
- widely used Unix shellcat
- concatenate and display filescd
- change the current directorycp
- copy files and directoriesdf
- display information about free disk spacedu
- display the size of a file or directoryecho
- display a message or the value of a variablekill
- send a signal to a processless
- view the contents of a file one page at a timels
- list the contents of a directoryman
- display the manual page for a commandmc
- start the Midnight Commandermkdir
- create a new directorymv
- move or rename files and directoriesping
- send a network test packetps
- display information about running processespwd
- print the current working directoryrm
- delete files and directoriesrsync
- synchronize files between two systemsscreen
- run multiple "tabs" in one terminal sessionssh
- connect to a remote host using the Secure Shell (SSH) protocolsudo
- execute a command as roottail
- display the last few lines of a filetop
- display the top running processes
Here at CleverUptime, we are using all of those commands on a daily basis. They make our life easier and everybody knows them by heart.
If you read this far, you probably know already all the commands above and you're interested to learn about other commands that can help you as an admin.
Great! Here is the extended list:
alias
- create a shortcut for a commandapt
- install, remove, and manage software packagesapt-cache
- search for and display information about software packagesapt-get
- install, remove, and manage software packagesaria2c
- download files using different protocolsat
- execute a command at a specified timeawk
- perform text processing and data manipulation taskscertbot
- manage SSL/TLS certificates from Let's Encryptchgrp
- change the group ownership of a file or directorychmod
- change the permissions of a file or directorychown
- change the owner of a file or directorycomm
- compare two sorted files line by linecrontab
- schedule a command to be executed at a specified timecryptsetup
- encrypt block devicescurl
- transfer data to or from a servercut
- extract fields or columns from a filedate
- display the current date and timedd
- copy data between block devicesdiff
- compare two files and display the differencesdmesg
- view the kernel's message bufferdnf
- install, remove, and manage software packages on Fedora-based systemsdpkg
- install, remove, and manage Debian package filesemacs
- edit text files with the Emacs editoremerge
- install, remove, and manage software packages on Gentoo-based systemsexport
- set the value of an environment variablefdisk
- manage partitions on hard drives and SSDsfdupes
- find and manage duplicate filesffmpeg
- manipulate multimedia filesfind
- search for files and directoriesfree
- display information about free and used memorygit
- a version control systemgrep
- search for a pattern of text within a filegzip
- compress or decompress fileshalt
- shut down the systemhead
- display the first few lines of a filehostname
- display the hostname of the systemifconfig
- display information about network interfacesiostat
- display information about the current I/O performanceip
- display and configure network interfacesiptables
- configure the kernel's firewalljoin
- join lines of two files on a common fieldlocate
- search for files and directories using a databaselsmod
- list loaded kernel moduleslsof
- list open fileslspci
- list PCI deviceslynx
- browse the Web in a terminal windowmdadm
- manage RAID devicesmkswap
- create swap spacemodprobe
- add or remove kernel modulesmore
- view the contents of a file one page at a timenano
- edit text files with the Nano editornc
- send data over the networknft
- configure the kernel's firewallnice
- run a command with a modified scheduling prioritynmap
- scan for open ports and servicespacman
- install, remove, and manage software packages on Arch Linux-based systemspaste
- combine lines of filespatch
- apply a diff file to an original filepdftk
- manipulate PDF filesprintenv
- display the value of an environment variablepv
- monitor the progress of a piperclone
- the swiss army knife for cloud storagereboot
- restart the systemrenice
- alter the priority of a running processrmdir
- delete an empty directoryroute
- modify the IP routing tablescp
- copy files to or from a remote host using the Secure Copy (SCP) protocolsed
- perform text manipulation and substitution taskssftp
- transfer files to or from a remote host using the Secure File Transfer Protocol (SFTP)sh
- launch the Bourne shellshutdown
- turn off or reboot the systemsmartctl
- show health and performance data of disk drivessort
- sort the lines of a filess
- show information about network connectionssysctl
- a tool for fine-tuning your systemtar
- create and extract archive filestelnet
- connect to a remote host using the Telnet protocoltimeout
- run a command with a time limittmux
- run multiple "tabs" in one terminal sessiontouch
- create a new file or update the modification time of an existing filetraceroute
- display the network path to a hostuname
- display information about the systemuniq
- remove duplicate lines from a fileunset
- unset the value of an environment variableunzip
- extract files from a ZIP archiveupdate-alternatives
- configure default programs for your systemuptime
- display the current uptime of the systemvi
- edit text files with the vi editorvmstat
- display performance statisticswc
- count the number of lines, words, and characters in a filewget
- download files from the Webwhereis
- display the location of a command, file, or manual pagewhich
- display the path of a commandwho
- display a list of users which are currently logged inxz
- compress or decompress filesyast
- configure a SUSE based systemyum
- install, remove, and manage software packages on Red Hat-based systemszip
- compress files into a ZIP archivezstd
- compress or decompress fileszypper
- install, remove, and manage software packages on openSUSE-based systems
This is just a small selection of the many commands that are available on Linux systems. There are many other important and useful commands that may be specific to certain applications, programming languages, or tasks, and it is always a good idea to familiarize yourself with the commands that are relevant to your work.