Editor's Note: For more helpful Linux commands, and examples of when and how to use them, check out this more recent...
Linux administrators cannot live by the GUI alone. That's why we've compiled the most essential Linux commands into this convenient guide. We've designed this guide specifically for Linux managers and system administrators as a reference library of only the most useful utilities. By learning how to use a few simple tools, command-line cowards can become scripting commandos, getting the most out of Linux by executing kernel and shell commands. Enjoy our guide and be sure to post your own Linux questions or browse Linux answers in our IT Knowledge Exchange community.
Apt-get is a tool to automatically update a Debian machine and to get and install Debian packages/programs.
Hot to manage software on an Ubuntu Server with "aptitude" and "apt-get."
Understanding the Debian archives and apt-get.
Inside the Red Hat and Debian package management differences.
A programming language tool used to manipulate text. The language of the AWK utility resembles the shell programming language in many areas, although AWK's syntax is very much its own.
Learn how to use the AWK utility.
Gawk is the GNU Project's version of the AWK programming language.
A Unix/Linux command that can read, modify or concatenate text files. Cat commands are most commonly used for displaying the contents of a file.
See how to use cat to display the contents of a file in Linux.
An article on what you can do with the cat command.
The cd command changes the current directory in Linux and can toggle between directories conveniently. Cd is similar to the CD and CHDIR commands in MS-DOS.
See more on how to use the cd command to change directories.
Chmod changes the access mode (permissions) of one or more files. Only the owner of a file or a privileged user may change the access mode.
See examples of changing the permissions of files using chmod.
Chown changes file or group ownership and has the option to change ownership of all objects within a directory tree, as well as having the ability to view information on objects processed.
Learn how to change file ownership with chown.
The cmp utility compares two files of any type and writes the results to the standard output. By default, cmp is silent if the files are the same; if they differ, the byte and line number at which the first difference occurred is reported.
See examples of using cmp.
Comm compares lines common to file1 and file2.The output is in three columns; from left to right: lines unique to file1, lines unique to file2 and lines common to both files.
More on comparing lines with comm.
Read a brief tutorial on using comm.
The cp command copies files and directories; copies can be made simultaneous to another directory if the copy is under a different name.
Find out how to copy Linux files and directories with the cp command.
Cpio copies files into or out of a cpio or tar archive. A tar archive is a file that contains other files, plus information about them, such as their file name, owner, timestamps and access permissions. The archive can be another file on the disk, a magnetic tape or a pipe. Cpio has three operating modes and is a more efficient alternative to tar.
Learn how to use cpio when moving files in a Unix-to-Linux port.
See how to back up files with cpio.
CRON is a Linux system process that will execute a program at a preset time. To use CRON, a user must prepare a text file that describes the program to be executed and the times at which CRON should execute them. Then the crontab program can be used to load the text file that describes the CRON jobs into CRON.
Using CRON to execute programs at specific times.
Df displays the amount of disk space available on the file system containing each file name argument. With no file name, available space on all currently mounted file systems is shown.
More on using df to display the amount of disk space available.
Exec replaces the parent process with whatever command is typed. This command treats its arguments as the specification of one or more subprocesses to execute.
More examples of replacing parent processes with exec.
Export converts a file into a different format than the one in which it is currently. Once a file is exported, it can be accessed by any application that uses its format.
Examples of exporting data from a database with export.
Find searches the directory tree to find particular groups of files that meet specified conditions, including --name and --type, -exec and --size and --mtime and --user.
Efficiently locate files with find.
Free displays the total amount of free and used physical memory and swap space in the system, as well as the buffers and cache used by the kernel.
Learn how to use the free command to optimize a computer's memory.
Gzip is the GNU project's open source program used for file compression, compressing web pages on the server end for decompression in the browser. This is popular for streaming media compression and can concatenate and compress several streams simultaneously.
Examples of using gzip for compressing files.
Ifconfig is used to configure the kernel-resident network interfaces. It is used at boot time to set up interfaces. After that, it is usually only needed when debugging or when system tuning is needed.
Examples of using ifconfig to configure a network.
Using ifconfig to detect Linux network configuration problems.
The less command lets an admin scroll through configuration and error log files, displaying text files one screen at a time, with backward or forward moving available in files. There is more mobility within files.
View several different file types with less.
Similar to less, more pages through text one screen at a time, but is more limited in moving in files.
See a few examples of displaying files with more.
Locate reads one or more databases and writes file names matching certain patterns to output.
Finding files/directories efficiently with locate.
Like locate, slocate, or secure locate, provides a way to index and quickly search for files, but also securely stores file permissions and ownership so unauthorized users will be unable to view such information.
See an example of using slocate as a quick, secure way to index files.
Lft is similar to traceroute in determining connection routes, but provides a lot more information for debugging connections or finding where a box/system is. Lft also displays route packets and file types.
More on displaying route packets with lft.
The ls command lists files and directories within the current working directory, allowing admins to see when configuration files were last edited.
The ls command is discussed in this tip.
Examples of listing files and directories with ls.
Short for "manual," man allows a user to format and display the user manual built into Linux distributions which documents commands and other aspects of the system.
The man command is discussed in this tip.
See how to use the man command.
See examples of formatting man pages.
Neat is a GNOME GUI admin tool which allows admins to specify the information needed to set up a network card, among other features.
Setting up an NTL Cable Modem using neat.
Where neat falls when building a network between Unix and Linux systems.
Netstat provides information and statistics about protocols in use and current TCP/IP network connections. It is a helpful forensic tool in figuring out which processes and programs are active on a computer and are involved in network communications.
More on checking network statuses with the netstat command.
Nslookup allows a user to enter a host name and find the corresponding IP address. A reverse of that process to find the host name is also possible.
More from Microsoft on how to find IP addresses with nslookup.
Ping allows a user to verify that a particular IP address exists and can accept requests. Ping can be used to test connectivity and determine response time, as well as to ensure that a host computer the user is trying to reach is actually operating.
Examples of using ping to verify IP addresses.
The pwd (print working directory) command displays the name of the current working directory. This is a basic Linux command.
Learn the difference between $ PATH and pwd.
Using pwd to print the current working directory.
Red Hat Package Manager (RPM) is a command-line-driven program capable of installing, uninstalling and managing software packages in Linux.
Managing packages with RPM.
The differences between yum and RPM.
Examples of installing packages with RPM.
Rsync syncs data from one disk or file to another across a network connection. Rsync is similar to rcp, but has more options.
A tip on backing up data with rsync.
How to use rsync to back up a directory in Linux.
The GNU screen utility is a terminal multiplexor in which a user can use a single terminal window to run multiple terminal applications or windows.
A tutorial on running multiple windows and other uses of screen.
A tip on the uses of screen.
Sdiff finds differences between two files by producing a side-by-side listing indicating lines that are dissimilar. Sdiff then merges the files and outputs results to the outfile.
An example of contrasting files with sdiff.
Sed is a stream editor that is used to filter text in a pipeline, distinguishing it from other editors. Sed takes text input, performs operations on it and outputs the modified text. Sed is typically used to extract part of a file using pattern matching or to substitute multiple occurrences of a string within a file.
More on extracting and replacing parts of a file with sed.
Several more examples of using sed for filtering.
Shutdown is a command that turns off the computer and that can be combined with variables such as -h, for halt after shutdown, or -r, for reboot after shutdown.
Shut down or halt a computer with shutdown.
Snort is an open source network intrusion detection system and packet sniffer that monitors network traffic, looking at each packet to detect dangerous payloads or suspicious anomalies. Snort is based on libpcap.
Stopping hackers with Snort.
More on using Snort.
Used to sort lines of text alphabetically or numerically according to fields; multiple sort keys can also be used.
Examples of sorting through lines of text with the sort command.
Sudo allows a system admin to give certain users the ability to run some (or all) commands at the root level and logs all commands and arguments.
A tutorial on giving permissions to users with the sudo command.
SSH is a command interface used for securely gaining access to a remote computer and is used by network admins to control servers remotely.
A comprehensive tutorial on secure access to remote computers with SSH.
TOP is a set of protocols for networks that performs distributed information processing in offices and displays the tasks on the system that take up the most memory. TOP can sort tasks by CPU usage, memory usage and runtime.
Monitoring system processes with TOP.
Tr is used to translate or delete characters from a text stream. Tr writes to standard output, but does not accept file names as arguments -- it only accepts inputs from standard input.
Examples of translating characters with tr.
Traceroute determines and records a route through the internet between two computers and is useful for troubleshooting network/router issues. If the domain does not work or is not available, an IP can be tracerouted.
A tutorial on using traceroute to determine network issues.
Uname displays the name of the current operating system and can print information about the system.
Examples of viewing information on the current operating system with uname.
Vi is a text editor that allows a user to control the system by solely using the keyboard instead of a combination of mouse selections and keystrokes.
An entire guide to using vi to easily control a system with the keyboard.
Vmstat is used to get a snapshot of everything in a system and to report information on such items as processes, memory, paging and CPU activity. This is a good method for admins to use to determine where issues/slowdown in a system may be occurring.
How to keep an eye on Linux performance with vmstat and other commands.
Examples of viewing system memory usage with vmstat.
Wget is a network utility that retrieves files from the web that support http, https and ftp protocols. Wget works non-interactively in the background while a user is logged off. This can create local versions of remote websites, re-creating directories of original sites.
Examples of creating mirror images of sites with wget.
Linux commands for new server admins
Six top Linux networking commands
Two Linux and Unix commands you need, but may not know
Think you know your Linux commands? Take this quiz