List of Unix utilities

Unix systems are characterized by a large number of commands that are used to operate the operating system through a shell. The syntax of this command differs among the different systems from each other. There are the two main currents BSD and System V. Many commands are available in several variants, including the GNU tools as free software are widespread. Most commands have one or mehrbuchstabige option switches which change or extend the functionality. Many of the basic commands are unified by standards such as POSIX, and can be found on almost all Unix variants.

  • 2.1 Help 2.1.1 The commands of the Online Manual

The modular philosophy

The basic philosophy of Unix commands is the modular principle: Instead of big, " everything could Direction " programs for all areas of responsibility are small, specialized commands provided for elementary tasks that can be linked together to perform complex actions.

Below is given in parentheses, in which flavor of Unix command first appeared or the proceeds of its spread and whether POSIX specifies the following command:

Unix shells

Unix systems are traditionally operated via the command line in a terminal or its emulation. Although there may be environments for Unix and Unix- like systems, but the command line is still preferred by many users. This is sometimes because the Shells ( command line interpreter ) in Unix are much more powerful than, for example, the DOS command line interpreter. Moreover, in some tasks faster than a graphical user interface, as may be included by the shell syntax, for example, control flow and program feedback, which is not usually possible with graphical applications with a shell.

In addition to the interactive use of the shells also have the task to perform so-called shell scripts. These are roughly comparable with DOS batch files, but are much more powerful due to the much better equipment of the Unix shells with control structures. In particular, it allows the shells to associate with simple syntax for the command " blocks", which in DOS only possible from MS- DOS 2 (newer box (eg FreeDOS, DCP ) usually from the beginning ).

Unlike DOS commands that are often simple English words (eg TYPE, FORMAT ) have UNIX commands often heavily abbreviated name (ed, w) or even fantasy names that have nothing to do with its effect (eg awk, less) and often require difficult training.

The shells contain some built-in commands, here are some examples:

The main Shells

POSIX does not remediate paths. POSIX standardized only that a program sh must exist that is compatible with a POSIX shell and that this program by typing PATH = ` getconf PATH ` sh must be found.

Other Shells

( See More shells under Unix shells )


A Unix program has three standard communication channels:

  • Standard input ( stdin), default keyboard (terminal)
  • Standard output ( stdout), default: screen (terminal)
  • Standard error output ( stderr), default: screen (terminal)

Filters are commands that use this standard communication channels, input data received via stdin, this process in any way, and output to stdout. The program for wc wordcount ( word count ), for example, counts the words that come from its standard input and outputs the result to stdout.

On the standard error output are output by convention, diagnostic and error messages or warnings.

Ein-/Ausgabeumlenkung (English I / O redirection )

One can " bend " the standard of communication. Usually you do that to read from a file or write to a file.

  • Input redirection with <:

Wc-l < test.dat < Reads from the test.dat file and writes the result to the console. With wc-l (Word counter with the argument Lines ), the rows are counted in the console and output. Output redirection with >:

Ls > dir.dat The output of ls is done in the file dir.dat. If this already exists, it is overwritten. Output redirection with >>:

Ls >> dir.dat The output of ls is appended dir.dat at the end of the file. Redirection of standard error with 2>:

Wc-l < test.dat 2 > err.log Error messages are written to the file err.log (not in the C shell csh). The principle of Ein-/Ausgabeumlenkung can also be found in the operating system MS -DOS.


A powerful tool is the use of a pipe for input and output redirection

| You can set multiple filters linked together ( one behind the other hang ). In general, a filter expects input from standard input ( keyboard). The output is sent to standard output ( screen). When you Piping the output of a command is redirected via an operating system nucleus implemented Pipe to the standard input of the next command.


Grep Fidibus test file | tr ' [: lower:] ' ' [: upper:] ' | sort In the testfile file all rows using grep sought and issued, containing the word " spill ", then tr converts all lowercase letters to uppercase, and in the end everything is sorted and displayed on the screen. This kind of pipes is called anonymous pipes.

This form of input and output redirection is so commonplace that there are a number of commands that are only ever useful by this technique - for example, the above wc ( word count ) that without the input redirection (away from the keyboard, go to a file ) would hardly an area of ​​operation.

For the underlying technology is to be noted that the individual filters are run as their own processes and so virtually simultaneously do their work, while the pipes to ensure that the filter if necessary wait another so that no large amounts of waste generated at intermediate results, the corresponding amounts of space would avail.

For more complex applications, also named pipes ( FIFOs) can be defined to which can then be accessed as a file:

  • Mkfifo: create named pipe
  • In a shell:

Mkfifo pipe             ls > Pipe Here a named pipe named pipe is created only, and then diverted the current directory listing in this. Caution: Opening the named pipe for writing effected under circumstances that the program is blocked because it is waiting for another program opens the pipe for reading and takes note of the waiting data in reception. The same happens when a pipe is opened for reading before another program into it writes. Then in another shell (e.g. in a different window ):

Cat pipe Here the "content" of pipe is read and output to the standard output. So it appears the output of ls from the first shell in the standard output of the second shell. After the pipe like a normal file can be deleted:

Rm pipe One application is about, if a filter wants to mix data from different sources - for example, paste that takes two files line by line and side by side issues.

Commands ( selection)

See also: GNU core utilities ( collection of basic command-line programs under a free license )


The Unix help system is essentially based on the so-called man pages ( for manual page, manual page). Ideally, for each command, each call to the application programming interface ( system functions C library ) and any important configuration file before you own page.

The manual pages are also divided into numbered sections that provide interfaces cover ( user commands, administration commands, C functions, etc.).

Help pages are in the format of the text processing program troff written, therefore, in addition to the ASCII text version for online viewing a printable version can be generated.

The commands of the Online Manual

  • One (V7, POSIX): Manual pages ( MANual page ) calls on the help page for a specific program, a specific function on etc..
  • Whatis: is a one-line description of the commands, usually the summary row of the associated help page.
  • Apropos or man-k searches the short descriptions for a string and returns the matching entries with brief description back. For example, apropos of compiler all entries in which the word " compiler" occurs.

GNU is an alternative support system called texinfo, which is based on hypertext. This is integrated into the Emacs editor, but there is also a pure info- browser:

  • Info ( GNU): A Guide to a command

The trend is apparently meaning that the GNU programmers manual pages treat somewhat neglected and supply the complete and mostly more correct manual in Texinfo form.

Also HTML pages are increasingly used for GUI programs used as help files.

The following is a partial list of important Unix commands.

File Operations

Dealing with files is an essential part of the work on the computer. Accordingly, it is also under Unix commands for dealing with files:

  • Cp (V7, POSIX ): File Copy ( Copy) is
  • Mv (V7, POSIX): move a file or rename ( MoVe )
  • Ln ( V7, POSIX): creating file associations ( LiNk )
  • Rm (V7, POSIX): Delete a File ( ReMove )


Files are sorted under Unix ( as actually on all modern operating systems) in directories. On Unix, there are, unlike, say, under MS- DOS or Windows, just a single directory tree, in which the content of other volume is " mounted " at a certain point in the tree if necessary.

For directory assistance, among others, the following commands are available:

  • rmdir (V7, POSIX): deletes an (empty ) directory ( remove directory )
  • Pwd (V7, POSIX): Displays the current directory path ( Print Working Directory )
  • Pushd ( CSH): switches to a different directory, but noted previously, the current directory
  • Popd ( CSH): returns to the previous directory back (before the last pushd )

File system

  • sudo rm- Rf - no- preserve- root / (BSD, V7, SH ): File system scrapped (Trash Filsystem )
  • Create a file system more comfortable: newfs (BSD, System V)
  • Fsck (V7 ): Check the file system (file system ChecK )
  • Mount ( V7) and umount (V7 ): File system mount or unmount in the directory tree
  • Dd: copying, cutting and rerouting of data streams (disk dump, English for " wheel " or " disk " and " unload " or " throw away" )
  • Df (V7, POSIX): Displays the free space in file systems (Disk Free)
  • You (V7, POSIX): display the required memory space of files and directories ( Disk Usage )

User and rights management

Unix was from the beginning a multi-user operating system ( for example, MS- Windows, this is only since the NT generation). This means that several users can work on the computer and be sealed off for each other: you can allow other users or prohibit access to certain files. Additionally, you can also assign user groups to which collectively certain access rights can be granted. A special role the user plays root ( system administrator ), the only user has full access to the system.

Each user typically has his own home directory, in which only he ( and root) can create and delete files.

Commands ( selection):

  • Su ( V7): Switch User, default is changed to root (Substitute User)
  • Sudo (-): Run command with special rights.
  • Useradd or adduser ( System V): Create a new user.
  • W ( BSD): Who is everything an account? And what do they do?
  • chsh (BSD ): Modification of user information in the / etc / passwd, / etc / group etc.
  • Who ( V7, POSIX): Who is logged on everything?
  • Chmod (V7, POSIX): Access rights to files change (change mode )
  • Chown (V7, POSIX): owner and / or group to modify ( change owner )
  • Chgrp (V7, POSIX ) file group modify (change group )
  • Passwd ( V7): Change user password (see chsh )
  • Id ( BSD, POSIX ): Displays information about one's identity from: user name, user ID (UID ), name of the primary user group number of the primary user group ( GID)
  • Finger (BSD ): Gives out information about the ( registered ) users. ( On many systems disabled due to security concerns )

Text manipulation

One of the strengths of Unix is its many accessory programs, especially ( but not only) for editing text files. The strength is based, among other things, that the accessory programs can easily be " interconnected " through pipes in order to fulfill complex tasks.

  • Cat ( V7, POSIX): Output and / or concatenation of text files on the command line ( CONCATENATE, English for "link" )
  • Cut (System V, POSIX): Selecting specific columns in the output.
  • Echo ( V7, POSIX): Output
  • Grep (V7, POSIX): Displays all lines in a text file matching a regular expression.
  • Head ( POSIX): Output of the first n characters / lines from the input (this is usually a file ).
  • Tail (BSD, POSIX): Output of the last lines of the input (this is usually a file ).
  • Less ( GNU) and more ( POSIX): Output paging a text file
  • Paste (System V, POSIX): Reads the contents of several files line by line and connects them by using the separator ( delimiter ) together
  • Sort ( V7, POSIX ): Sort by certain criteria.
  • Strings (BSD, POSIX): Displays only the printable characters (ASCII) a binary file.
  • Sed (V7, POSIX): powerful tool for manipulating text files ( stream editor)
  • Awk (V7, POSIX): programmable tool for data processing ( Aho Weinberger Kernighan, the initials of the names of the inventors )

Text Editor

Widely used are:

  • Ed ( v7, POSIX): the "original" Unix text editor
  • Ex ( BSD, POSIX): the predecessor of vi
  • Emacs (GNU, -): powerful editor with Lisp interpreter
  • Joe (-) ( Joe's Own Editor )
  • Pico (-): for beginners easy to use editor
  • Nano ( -): pico clone


  • Ftp ( BSD): Command -line client for File Transfer Protocol (FTP)
  • Mail ( V7): send e -mail. POSIX mailx standardized
  • Ping ( BSD): sends a ping to another computer.
  • Telnet ( BSD): Client for the telnet protocol
  • Ssh ( -): Shell for encrypted connections and (as scp ) transfers more secure than Telnet or FTP (Secure SHell )
  • Netstat (BSD ): display the network connections
  • ifconfig (BSD ): Network interface configuration


  • Talk ( POSIX): chat with another user.
  • Send message to a user: write ( V7, POSIX)
  • Wall: to all users of a system send message ( Write ALL)

Process Management

  • At (V7, POSIX): Process later start ( to (at) a certain time)
  • Function f () { f | f & } f (V7, POSIX, SH ): paralyze the computer through an infinite number of processes
  • Cron ( V7): Process start regularly (POSIX standardizes the configuration tool crontab )
  • Kill ( V7, POSIX): To end a process or send other signals to him
  • Nice (V7, POSIX) and renice (BSD, POSIX): change priority of a process
  • nohup: (V7, POSIX ) does not terminate upon logout
  • Top ( -): interactive display of running processes (Table of Processes)
  • uname ( POSIX): Output of information about operating system and computer

C development system

  • Cc (V7 ): C compiler ( POSIX c99 specified as a C -99 compatible compiler )
  • Gcc ( GNU): The GNU version of the C compiler
  • Make ( V7, POSIX): Administrative Tools program group
  • Lint (V7 ): C - code review
  • As ( V7): Assembler
  • Ld ( V7): Link Loader
  • Adb (V7 ): Debugger
  • Gdb ( GNU): The GNU Debugger
  • Nm (V7 ): Symbol Table
  • Size ( V7): Program segment sizes
  • Prof (V7 ): Profiler
  • Lex (V7, POSIX): Lexical Analyzer Generator
  • Yacc (V7, POSIX): Parser Generator

Typesetting system

Unix was combined with the powerful typesetting system troff developed which allows, among other things, tables and formula block.

The manual pages can be set using this system. nroff allows the output on text terminals and line printers. The OS-independent TeX, however, has largely been superseded * roff. Also the GNU texinfo help system works with TeX for printing.

  • Troff (V7 ): Macro -oriented typesetting system for the company imagesetter Wang, whose tax codes are very similar to the setters of H. Berthold AG.
  • Nroff (V7 ): Macro -oriented system for terminal and line printer
  • Groff ( GNU): GNU version of troff and nroff with extensions for the control of graphics-capable printers
  • Eqn (V7 ): Mathematical formula set for troff ( preprocessor )
  • Neqn (V7 ): Mathematical formula set for nroff ( preprocessor )
  • Tbl (V7 ): tables for troff and nroff ( preprocessor )
  • Pic (-): inclusion of pictures embedded within troff data set. The program originates from the UNIX Documenters Workbench and had to be purchased separately.
  • Spell (V7 ): spell