Flylib.com

Books Software

 
 
 

Section 2.8. RPC and XDR


2.8. RPC and XDR

RPC (Remote Procedure Call) is the session protocol used by both NFS and NIS. It allows a host to make a procedure call that appears to be local but is really executed remotely on another machine on the network. RPC is implemented as a library of procedures, plus a network standard for ordering bytes and data structures called XDR (eXternal Data Representation).


Chapter 3. Linux Commands

This chapter presents Linux's user , programmer, and system administration commands. These are entered into a shell at the console or on a virtual terminal on a graphical desktop.

Each entry is labeled with the command name on the outer edge of the page. The syntax line is followed by a brief description and a list of available options. Many commands come with examples at the end of the entry. If you need only a quick reminder or suggestion about a command, you can skip directly to the examples.

Typographic conventions for describing command syntax are listed in the Preface. For help in locating commands, see the index at the back of this book.

We've tried to be as thorough as possible in listing options. The basic command information and most options should be correct; however, there are many Linux distributions and many versions of commands. New options are added, and sometimes old options are dropped. You may, therefore, find some differences between the options you find described here and the ones on your system. When there seems to be a discrepancy, check the manpage . For most commands, you can also use the option --help to get a brief usage message. (Even when it isn't a valid option, it will usually result in an "invalid option" error along with the usage message.)

Traditionally, commands take single-letter options preceded by a single hyphen, such as -d . A more recent convention allows long options preceded by two hyphens, such as --debug . Often, a feature can be invoked through either the old style or the new style of options.


3.1. Alphabetical Summary of Commands

accept

accept [option]destination

System administration command. Instruct printing system to accept jobs for the specified print queue or queues. Depending on queue settings, the system may prompt for a password. Also invoked as cupsaccept .

Option



-E

Require encryption when connecting.

access

access [mode] [filename]

Check whether a file is available for the action specified with the mode argument: r for read, w for write, x for execute. Used mostly in scripting, access works better than test because it uses a direct system call rather than looking at the file permissions, which can be misleading when a filesystem is mounted read-only.

Options



--help

Display help message, then quit.



--version

Display version, then quit.

aclocal

aclocal [options]

GNU autoconf tool. Place m4 macro definitions needed by autoconf into a single file. The aclocal command first scans for macro definitions in m4 files in its default directory ( /usr/share/aclocal on some systems) and in the file acinclude.m4 . It next scans for macros used in the configure.in file. It generates an aclocal.m4 file that contains definitions of all m4 macros required by autoconf .

Options



--acdir= dir

Look for macro files in directory dir instead of the default directory.



--help

Print help message, then exit.



-I dir

Additionally, search directory dir for m4 macro definitions.



--output= file

Save output to file instead of aclocal.m4 .



--print-ac-dir

Print the name of the directory to be searched for m4 files, then exit.



--verbose

Print names of files being processed .



--version

Print version number, then exit.

aconnect

aconnect [options] [sender] [receiver] 
aconnect [options]

Like its GUI relative alsa-patch-bay, aconnect connects ports in MIDI hardware and software to route events, similar to running patch cables between different mixers and synthesizers in an all-hardware audio system. aconnect is part of the ALSA (Advanced Linux Sound Architecture) system.

Options



-d , --disconnect

Undo the connection described.



-e , --exclusive

The connection being created must be exclusive: the sender and receiver ports may not connect to any other port.



-i , --input

List all input (sender) ports. This flag is used without any other arguments or flags.



-o, --output

List all output (receiver) ports. This flag is used without any other arguments or flags.



-r, --real queue-name

All events processed through this connection get new timestamps from the named real-time queue. The receiving port must have access to, and use, the real-time queue.



-t, --tick queue-name

All events processed through this connection get new timestamps from the specified tick queue.



-x, --remove-all

Cancel all connections. This flag is used without any other arguments or flags.

acpi

acpi [options]

Displays information about the ACPI (Advanced Configuration and Power Interface) system, based on the /proc/acpi file. Most kernels after 2.4 support ACPI hardware, and in both hardware and software, ACPI is gradually replacing the older APM (Advanced Power Management) system. Some operating systems, including SUSE, ship a combined ACPI/APM power interface called powersaved. Most, however, require either ACPI or APM software.

Note that some ACPI systems have special events that are not available on others. For example, IBM laptops have events related to their docking stations and keyboard lights that are not used on nondocking or unlighted laptops. On all systems, the /proc/acpi directory must be present for acpi commands to work.

Options



-b, --battery

Display battery information.



-B, --without-battery

Do not display battery information.



-t, --thermal

Display temperature information.



-T, --without-thermal

Do not display temperature information.



-a, --ac-adapter

Show whether the AC adapter is connected.



-A, --without-ac-adapter

Do not show information about the AC adapter.



-V, --everything

Show all information on every device.



-s, --show-empty

Display information even on devices that are not available or not installed, such as empty slots for extra batteries.



-S, --hide-empty

Do not display information on devices that are not operational or not installed.



-c, --celcius

Use degrees Celsius as the temperature unit. This is the default unit.



-d, --directory / path

Use the specified path to ACPI information. The default path is /proc/acpi .



-f, --fahrenheit

Use degrees Fahrenheit as the temperature unit.



-h, --help

Display help information.



-k, --kelvin

Use degrees Kelvin as the temperature unit.



-v, --version

Display version information.

acpi_available

acpi_available

Determine whether ACPI functionality exists. Returns 0 for true and 1 for false.

acpid

acpid [options]

Daemon that informs user -space programs about ACPI (Advanced Configuration and Power Interface) events, such as battery warnings, power-supply changes, and laptop lid closings. As ACPI hardware replaces older APM (Advanced Power Management) hardware, acpid replaces apmd . Like other daemons, this application is controlled primarily through a configuration file that determines which events merit action, and what those actions are. In some operating systems, including SUSE Linux and its relatives, all power management is handled by a combined ACPI/APM system called powersave and this daemon is not installed.

Options



-c directory , --confdir= directory

Set the directory used for configuration files. The default directory is /etc/acpi/events. All files in this directory, except those beginning with a period (.), are parsed as configuration files. Typically, a single file is used for each ACPI event to be acted upon.

In the configuration files, blank lines and those beginning with # are ignored. Other lines are expected to consist of a regular expression and a command to be executed when an ACPI event matches the expression.



-d, --debug

Debug mode: run the daemon in the foreground and send all log output to stderr and stdout , rather than a logfile.



-e filename, --eventfile= filename

Set the file used to find events. Normally this is /proc/acpi/event .



-g group , --socketgroup= group

Set the group ownership of the socket to which acpid publishes events. This allows you to restrict which users on the system can access ACPI event information.



-l filename, --logfile= filename

Set the logfile location. Normally, it is /var/log/acpid .



-m mode, --socketmode= mode

Set the permission mode of the socket. Normally, it is 666, with the sticky bit off.



-s filename, --socketfile =filename

Set the file used to define the socket. Normally, this is /var/run/acpid .socket.



-S , --nosocket

Tells acpid not to open a socket at all. Overrides all other socket options.



-v , --version

Print version information and quit.



-h , --help

Print help message and quit.

addr2line

addr2line [options] [addresses]

Translate hexadecimal program addresses into filenames and line numbers for the executable given with the -e option, or a.out if -e is not specified. If addresses are given on the command line, display the filename and line number for each address. Otherwise , read the addresses from standard input and display the results on standard output (useful for use in a pipe). addr2line prints two question marks (??) if it cannot determine a filename, and 0 if it cannot determine the line number. addr2line is used for debugging.

Options



-b bfdname , --target= bfdname

Set the binary file format using its binary file descriptor name, bfdname . Use the -h option for a list of supported formats for your system.



-C , --demangle [= style ]

Decode (demangle) low-level symbol names into usernames. See the -h help output for a list of styles supported by your compiler.



-e file , --exe= file

Specify the filename of the executable to use. The default filename is a.out .



-f , --functions

Display function names in addition to filenames and line numbers.



-h , --help

Display help information and exit.



-s , --basenames

Strip directories off filenames and show only the basenames.

addresses

addresses [-p  port]

Connect to the PalmOS device on the specified port, and dump the addresses from the address book to stdout. Part of the pilot-link package of tools for managing PalmOS devices.

agetty

agetty [options] port baudrate [term]

System administration command. The Linux version of getty . Set terminal type, modes, speed, and line discipline. agetty is invoked by init . It is the second process in the series init-getty-login-shell , which ultimately connects a user with the Linux system. agetty reads the user's login name and invokes the login command with the user's name as an argument. While reading the name, agetty attempts to adapt the system to the speed and type of device being used.

You must specify a port , which agetty will search for in the /dev directory. You may use - , in which case agetty reads from standard input. You must also specify baudrate , which may be a comma-separated list of rates through which agetty will step. Optionally , you may specify the term , which is used to override the TERM environment variable.

Options



-f file

Specify the use of file instead of /etc/issue upon connection to terminal. It is overridden by -i .



-h

Specify hardware, not software, flow control.



-H hostname

Write login hostname into the utmp file. By default, no login host is specified.



-I string

Specify string to be sent to the tty or modem.



-i

Suppress printing of /etc/issue before printing the login prompt.



-l program

Specify the use of program instead of /bin/login .



-L

Do not require carrier detect; operate locally only. Use this when connecting terminals.



-m

Attempt to guess the appropriate baud rate.



-n

Don't prompt for a login name.



-t timeout

Specify that agetty should exit if the open on the line succeeds and there is no response to the login prompt in timeout seconds.



-w

Wait for carriage return or linefeed before sending login prompt. Use when sending an initialization string.

alsactl

alsactl [options] [store|restore] card

Controls advanced configuration settings for sound cards using the ALSA (Advanced Linux Sound Architecture) system. Settings are written to configuration files using the store function and loaded from those files with the restore function.

Options



-d , --debug

Debug mode: increased information output to the console.



-f file , --f =file

Specify the use of file instead of /etc/asound.state as a configuration file.



-F , --force

Force the restoration of settings.



-h , --help

Display help message and quit.



-v , --version

Display version information and quit.

amidi

amidi [options]

Read and write raw MIDI files ( .syx format, without timing information) to ALSA ports. For standard MIDI ( .mid ) files, use aplaymidi and arecordmidi .

Options



-a , --active-sensing

Record and send active-sensing (FEh) bytes in MIDI commands. By default, these bytes are ignored.



-d , --dump

Output all received data directly to the screen.



-h , --help

Display help information and quit.



-l , --list-devices

List all hardware MIDI ports.



-L , --list-rawmidis

List all RawMIDI definitions. Useful for debugging configuration files.



-p , --port= name

Use the specified port. This overrides the port set in the configuration file. If neither this flag nor the configuration file sets a port, the default is port 0 on device 0, which may or may not exist.



-r , --receive= filename

Write data from the port specified with the -p or --port flag to the file named here. This will be a raw file, and should end in . syx . Unless you use the -a option, it will not contain any Active Sensing (FEh) bytes.



-s , --send= filename

Send the file to the port specified with the -p or --port flag. Use raw ( .syx ) MIDI files only.



-S , --send-hex=" hex-numbers... "

Send a string of hexadecimal numbers to the port specified with the -p or --port flag.



-t , --timeout =n

Stop listening after n seconds of receiving no data.



-V , --version

Display version information and quit.

amixer

amixer [-ccard] [command]

Command-line ALSA mixer. For an ncurses interface, use alsamixer . amixer displays or changes the current mixer settings for the current sound card and sound device. To display all mixer settings, use with no flags or commands.

Commands



controls

Displays a complete list of card controls. These controls can be set with the cset command, in contrast to simple mixer controls, which use set or sset .



contents

List card controls and their contents.



cget [control]

Display the contents of the specified card control.



cset [control] [parameter]

Set the card control to the value specified in the parameter. Card controls may be identified by iface, name, index, device, subdevice , or numid . The parameter will normally be a number or percentage value. For example, the command amixer -c 1 cset numid=16 50% will set the 16 th element of the first sound card to 50%.



get , sget [control]

Display the current values for the specified control.



help

Display help message and quit.



info

Displays information about the card specified with the -c flag.



scontrols

Display a list of simple mixer controls. Simple mixer controls can be set with the set or sset commands, in contrast to card controls, which use the cset command.



set , sset [control] [parameter]

Set one of the controls listed by scontrols . You can specify the volume with a percentage from 0% to 100%, or a specific hardware value. By appending + or - to the number, you will increase or decrease the volume by that amount. To set recording and muting values, use the parameters cap (meaning capture, or record), nocap , mute , unmute , or toggle. To specify individual channels, use the parameters front, rear, center, or woofer . For example, the command amixer -c 1 sset Line,0 100% unmute will set Line 0 on the first sound card to 100% and unmute it.

Options



-c n

The number of the card to adjust.



-D devicename

Specify the name of the device. By default, the name is default .



-h

Display help information and quit.



-q

Quiet mode: do not show the results of changes made.

anacron

anacron [options] [job]

System administration command. Normally started in a system startup file. Execute commands periodically. By default, anacron reads a list of jobs from a configuration file, /etc/anacrontab . The file consists of shell variables to use when running commands, followed by a list of tasks to run. Each task specifies how often in days it should be run, a delay in minutes to wait before running the task, a unique job identifier used to store a timestamp, and the shell command to execute. Timestamps for the last run of each task are stored in the /var/spool/anacron file. For each task, anacron compares the stored timestamp against the current time. If the command has not been executed within the specified frequency, the command is run. Upon completion, anacron records the new date in the timestamp file. Limit anacron to a specified task by providing the task's unique job identifier on the command line.

The anacron command is often used to support the cron daemon on systems that do not run continuously.

Options



-d

Run in foreground rather than as a background process. Send messages to standard error.



-f

Run tasks ignoring timestamps.



-h

Print help message, then exit.



-n

Run tasks now, ignoring delay specifications.



-q

Suppress messages to standard error when using the -d option.



-s

Execute tasks serially . Do not start new task until previous task is completed.



-t file

Read tasks from file instead of from /etc/anacrontab .



-u

Update timestamps for tasks, but don't run them.



-V

Print version number, then exit.

aplay

aplay [options] [file]

Play sound files using the ALSA sound system. The related arecord records sound files.

Options



-h

Print help message, then exit.



--version

Print version and quit.



-l , --list-devices

List available sound cards and digital audio devices.



-L , --list-pcms

List all PCM (pulse-coded modulation, or digital audio) devices that have been defined. PCMs may be defined in the . asoundrc file.



-D , --device= devicename

Select a PCM device by name.



-q

Do not display messages.



-t , --file-type= type

Name the file type used. Files may be voc , wav , raw , or au .



-c , --channels= n

Use n channels: 1 for mono, 2 for stereo.



-f , --format= format

Specify the sample format. The sample formats available will depend on hardware. For CD and DAT output, use the cd and dat shortcuts, which set the sample rate, format, and channel numbers all at once.



-r , --rate= n

Set the sample rate in Hertz.



-d , --duration= n

Set an interrupt for n seconds after playback begins.



-s , --sleep-min= n

aplaymidi

aplaymidi [options] [file]

Play MIDI files using the ALSA sound system; output is to ALSA sequencer ports.

Options



-d , --delay= n

Delay n seconds at the end of a file to allow for reverberation of the final notes.



-h

Print help message, then exit.



-V

Print version and quit.



-l

List output ports available.



-p , --port= client:port

Specify the port to which the MIDI file will be sent. If no port is specified, the file will be sent to port 0.

apm

apm [options]

Display current Advanced Power Management hardware information, such as battery life, or send the system into standby or suspend-to-disk mode. Used on older systems, and replaced by acpi and related commands.



-V , --version

Display version information and quit.



-v , --verbose

Verbose mode. Display information about the APM BIOS and Linux APM driver.



-m , --minutes

Display estimated minutes of battery life remaining. Default format is in hours and minutes.



-s , --suspend

Suspend system to disk. Suspending the system to disk is equivalent to turning it off, but boot time will be faster and the system will resume exactly where it was before suspend.



-S , --standby

Set system to standby. This will normally turn off the monitor and spin down the disk drives , reducing energy consumption by approximately 50 percent. Recovery from this mode is more rapid than from a full suspend to disk, but the system is still running.



-i , --ignore

When the system is using AC power, ignore suspend or standby requests generated by the system.



-n , --noignore

Do not ignore any suspend or standby events. This overrides a previously issued -i flag.

apmd

apmd [options]

System administration command. apmd handles events reported by the Advanced Power Management BIOS driver. The driver reports on battery level and requests to enter sleep or suspend mode. apmd will log any reports it gets via syslogd and take steps to make sure that basic sleep and suspend requests are handled gracefully. You can fine-tune the behavior of apmd by editing the apmd_proxy script, which apmd runs when it receives an event. Note that the APM hardware standard is gradually being replaced by the ACPI (Advanced Configuration and Power Interface) standard, and apmd by acpid . On SUSE Linux, both APM and ACPI hardware are handled by powersave and powersaved .

Options



-c n , --check n

Set the number of seconds to wait for an event before rechecking the power level. Default is to wait indefinitely. Setting this causes the battery levels to be checked more frequently.



-p n , --percentage n

Log information whenever the power changes by n percent. The default is 5. Values greater than 100 will disable logging of power changes.



-P command , --apmd_proxy command

Specify the apmd_proxy command to run when APM driver events are reported. This is generally a shell script. The command will be invoked with parameters indicating what kind of event was received. The parameters are listed in the next section.



-v , --verbose

Verbose mode; all events are logged.



-V , --version

Print version and exit.



-w n , --warn n

Log a warning at ALERT level when the battery charge drops below n percent. The default is 10. Negative values disable low-battery-level warnings.



-W , --wall

Use wall to alert all users of a low battery status.



-q , --quiet

Disable low-battery-level warnings.



-? , --help

Print help summary and exit.

Parameters

The apmd proxy script is invoked with the following parameters:



start

Invoked when the daemon starts.



stop

Invoked when the daemon stops.



suspend [ system | user ]

Invoked when the daemon receives a suspend request. The second parameter indicates whether the request was made by the system or by the user. Suspend, also known as "hibernate," effectively powers the system down but has a quicker recovery than a normal boot process.



standby [ system | user ]

Invoked when the daemon receives a standby request. The second parameter indicates whether the request was made by the system or by the user. Standby mode powers off the monitor and disks, but the system continues to run and use power.



resume [ suspend | standby | critical ]

Invoked when the system resumes normal operation. The second parameter indicates the mode the system was in before resuming. critical suspends indicate an emergency shutdown. After a critical suspend, the system may be unstable, and you can use the resume command to help you recover from the suspension.



change power

Invoked when system power is changed from AC to battery or from battery to AC.



change battery

Invoked when the APM BIOS driver reports that the battery is low.



change capability

Invoked when the APM BIOS driver reports that some hardware that affects its capability has been added or removed.

apropos

apropos string ...

Search the short manual page descriptions in the whatis database for occurrences of each string and display the result on the standard output. Like whatis , except that it searches for strings instead of words. Equivalent to man -k .

apt

apt

The Advanced Package Tool, the Debian package management system. A freely available packaging system for software distribution and installation. For detailed information on apt and its commands, see Chapter 5.

ar

ar key [args] [posname] [count] archive [files]

Maintain a group of files that are combined into a file archive . Used most commonly to create and update static library files, as used by the link editor ( ld ). Compiler frontends often call ar automatically. Only one key letter may be used, but each can be combined with additional args (with no separations between). posname is the name of a file in archive . When moving or replacing files , you can specify that they be placed before or after posname . ar has largely been superseded by tar and bzip2 .

Keys



d

Delete files from archive .



m

Move files to end of archive .



p

Print files in archive .



q

Append files to archive .



r

Replace files in archive .



t

List the contents of archive or list the named files .



x

Extract contents from archive or only the named files .

Arguments



a

Use with r or m key to place files in the archive after posname .



b

Same as a , but before posname .



c

Create archive silently.



f

Truncate long filenames.



i

Same as b .



l

For backward compatibility; meaningless in Linux.



N

Use count parameter. Where multiple entries with the same name are found, use the count instance.



o

Preserve original timestamps.



P

Use full pathname. Useful for non-POSIX-compliant archives.



s

Force regeneration of archive symbol table (useful after running strip ).



S

Do not regenerate symbol table.



u

Use with r to replace only files that have changed since being put in archive .



v

Verbose; print a description of actions taken.



V

Print version number.

Example

Replace mylib.a with object files from the current directory:

ar r mylib.a `ls *.o`

arch

arch

Print machine architecture type to standard output. Equivalent to uname -m .

arecord

arecord [options] [filename]

Records sound using ALSA. Accepts the same arguments and options as aplay.

arecordmidi

arecord [options] [filename]

Records midi files using ALSA. You must specify the port using the -p flag.

Options



-p , --port= host:port

Set the sequencer host and port used. The default host is the local host, and the default is port 0.



-h , --help

Display help message.



-v , --version

Display version number.



-l , --list

List available ports.



-b , --bmp =n

Set the tempo value to n beats per minute. The default is 120.



-f , --fps= n

Set timing (SMPTE resolution) to n frames per second. The value is normally 24, 25, 29.97 (NTSC dropframe), or 30.



-t , -- ticks =n

Set the frequency with which timestamps, or ticks, are used in the file. For MIDI files using musical tempo, timestamps are set in ticks per beat (default 384), while those with SMPTE timing use ticks per frame (default 40).



-s , --split-channels

For each channel of input, create a separate track in the MIDI output file.

arp

arp [options]

TCP/IP command. Clear, add to, or dump the kernel's Address Resolution Protocol (ARP) cache ( /proc/net/arp ). ARP is used to translate protocol addresses to hardware interface addresses. Modifying your ARP cache can change which interfaces handle specific requests. ARP cache entries may be marked with the following flags: C (complete), M (permanent), and P (publish). While arp can create a proxy for a single system, subnet proxies are now handled by the arp kernel module, arp (7). See the "Linux 2.4 or later Advanced Routing HOWTO" for details.

Options

host option arguments may be given as either a hostname or an IP address. With the -D option, they may also be given as a hardware interface address (e.g., eth0, eth1).



-a [ hosts ], --display [ hosts ]

Display entries for hosts or, if none are specified, all entries.



-d host [ pub ], --delete host [ pub ]

Remove the specified host 's entry. To delete a proxy entry, add the pub argument and specify the interface associated with the proxy using -i .



-D , --use-device

Use the hardware address associated with the specified interface. This may be used with -s when creating a proxy entry.



-f file , --file file

Read entries from file and add them.



-H type , --hw-type type , -t type

Search for type entries when examining the ARP cache. type is usually ether (Ethernet), which is the default, but may be ax25 (AX.25 packet radio), arcnet (ARCnet), pronet (PROnet), or netrom (NET/ROM).



-i interface , --device interface

Select an interface. If you are dumping the ARP cache, this option will cause the command to display only the entries using that interface. When setting entries, this will cause the interface to be associated with that entry. If you do not use this option when setting an entry, the kernel will guess.



-n , --numeric

Display host IP addresses instead of their domain names.



-s host hardware-address [ netmask mask ] [ pub ], --set host hardware-address [ pub ]

Add a permanent entry for host at hardware-address . A hardware-address for type ether hardware is 6 hexadecimal bytes, colon -separated. The pub argument can be used to set the publish flag, creating a proxy entry.



-v , --verbose

Verbose mode.

Examples

Display entry for host eris :

arp -a eris

Set a permanent cache entry for host illuminati , whose hardware address you know:

arp -s illuminati 00:05:23:73:e6:cf

Set an ARP proxy for host fnord using the eth0 interface's hardware address:

arp -Ds fnord eth0 pub

Remove the fnord ARP proxy:

arp -i eth0 -d fnord pub

as

as [options] files

Generate an object file from each specified assembly-language source file . Object files have the same root name as source files but replace the .s suffix with .o . There may be some additional system-specific options.

Options



-- [ | files ]

Read input files from standard input, or from files if the pipe is used.



-a [ cdhlmns ][= file ]

With only the -a option, list source code, assembler listing, and symbol table. The other options specify additional things to list or omit:



-ac

Omit false conditionals.



-ad

Omit debugging directives.



-ah

Include the high-level source code, if available.



-al

Include an assembly listing.



-am

Include macro expansions.



-an

Suppress forms processing.



-as

Include a symbol listing.



= file

Set the listing filename to file .



--defsym symbol = value

Define the symbol to have the value value , which must be an integer.



-f

Skip whitespace and comment preprocessing.



--fatal-warnings

Treat warnings as errors.



--gstabs

Generate debugging information in stabs format.



--gdwarf2

Generate DWARF2 debugging information.



-o objfile

Place output in object file objfile (default is file .o ).



--statistics

Print information on how much time and space assembler uses.



-v

Display the version number of the assembler.



-I path

Include path when searching for .include directives.



-J

Don't warn about signed overflow.



-R

Combine both data and text in text section.



-W

Don't show warnings.



-Z

Generate object file even if there are errors.

at

at [options] time [date]

Execute commands at a specified time and optional date . The commands are read from standard input or from a file. (See also batch .) End input with EOF. time can be formed either as a numeric hour (with optional minutes and modifiers) or as a keyword. It can contain an optional date , formed as a month and date, a day of the week, or a special keyword ( today or tomorrow ). An increment can also be specified.

The at command can always be issued by a privileged user. Other users must be listed in the file /etc/at.allow if it exists; otherwise, they must not be listed in /etc/at.deny . If neither file exists, only a privileged user can issue the command.

Options



-c job [ job ...]

Display the specified jobs on the standard output. This option does not take a time specification.



-d job [ job ...]

Delete the specified jobs. Same as atrm .



-f file

Read job from file , not from standard input.



-l

Report all jobs that are scheduled for the invoking user. Same as atq .



-m

Mail user when job has completed, regardless of whether output was created.



-q letter

Place job in queue denoted by letter , where letter is any single letter from a-z or A-Z. Default queue is a . (The batch queue defaults to b .) Higher-lettered queues run at a lower priority.



-V

Display the version number.

Time



hh :[ mm] [ modifiers ]

Hours can have one digit or two (a 24-hour clock is assumed by default); optional minutes can be given as one or two digits; the colon can be omitted if the format is h , hh , or hhmm (e.g., valid times are 5, 5:30, 0530, 19:45). If modifier am or pm is added, time is based on a 12-hour clock. If the keyword zulu is added, times correspond to Greenwich Mean Time.



midnight | noon | teatime | now

Use any one of these keywords in place of a numeric time. teatime translates to 4:00 p.m.; now must be followed by an increment (described in a moment).

Date



month num [, year ]

month is one of the 12 months, spelled out or abbreviated to its first three letters ; num is the calendar date of the month; year is the four-digit year. If the given month occurs before the current month, at schedules that month next year.



day

One of the seven days of the week, spelled out or abbreviated to its first three letters.



today | tomorrow

Indicate the current day or the next day. If date is omitted, at schedules today when the specified time occurs later than the current time; otherwise, at schedules tomorrow .

Increment

Supply a numeric increment if you want to specify an execution time or day relative to the current time. The number should precede any of the keywords minute , hour , day , week , month , or year (or their plural forms). The keyword next can be used as a synonym of + 1 :

Examples

In typical usage, you run at and input commands that you want executed at a particular time, followed by EOF.

$ at 1:00 am tomorrow 
at> ./total_up > output 
at> mail joe < output 
at> <EOT>        Entered by pressing Ctrl-D
job 1 at 2003-03-19 01:00

The two commands could also be placed in a file and submitted as follows :

$ at 1:00 am tomorrow < scriptfile

More examples of syntax follow. Note that the first two commands here are equivalent:

$ at 1945 December 9
$ at 7:45pm Dec 9
$ at 3 am Saturday
$ at now + 5 hours
$ at noon next day

atd

atd options

System administration command. Normally started in a system startup file. Execute jobs queued by the at command.

Options



-b n

Wait at least n seconds after beginning one job before beginning the next job. Default is 60.



-d

Print error messages to standard error instead of using syslog .



-l average

When system load average is higher than average , wait to begin a new job. Default is 0.8.



-s

Process queue once, then exit.

atq

atq [options]

List the user's pending jobs, unless the user is a privileged user; in that case, list everybody's jobs. Same as at -l , and related to batch and atrm .

Options



-q queue

Query only the specified queue and ignore all other queues.



-v

Show jobs that have completed but have not yet been deleted.



-V

Print the version number.

atrm

atrm [options] job [job...]

Delete jobs that have been queued for future execution. Same as at -d .

Options



-q queue

Remove job from the specified queue.



-V

Print the version number and then exit.

audiosend

audiosend [email@address]

Send an audio recording as an email from a properly equipped workstation (Sun and Sony, with microphones). After prompting for address, subject, and Cc: fields, the program asks the user to record a message, then allows him to re-record, send, or cancel. audiosend is one of the metamail tools for processing nontext MIME mail messages.

aumix

aumix [options]

Audio mixer tool. Run without any options or arguments for an ncurses-based interactive mode.

Options

The first set of options sets the volume level of a channel to a percentage of the maximum. Each channel is represented by a single letter or number: v for overall volume, b for bass, t for treble, s for synthesizer, w for PCM channels, c for CD, m for microphone, i for line in, o for line out, l for the main line, x for imix, and 1 , 2 , or 3 for lines 1, 2, and 3. Passing q as an argument to any of those flags displays their current status. Passing + or - will increase or decrease the channel volume by one, and + n or - n will adjust them by n .

For example, aumix -c q -l 10 will display the CD value and set the main line to 10%.

Additional options:



-C filename

Use the color -scheme file specified to determine the appearance of the ncurses interface.



-d devicename

Specify the mixer device to be used. The default is /dev/mixer .



-f filename

Specify a settings file.



-h

Display a help message and quit.



-I

Interactive mode: provides an ncurses-based UI similar to alsamixer.



-L

Load settings from the default .aumixrc file.



-q

Query all devices, and display the results.



-S

Save settings to the default .aumixrc file.

autoconf

autoconf [options] [template_file]

Generate a configuration script from m4 macros defined in template_file , if given, or in a configure.ac or configure.in file in the current working directory. The generated script is almost invariably called configure .

Options



-d , --debug

Don't remove temporary files.



-f , --force

Replace files generated previously by autoconf .



-h , --help

Print help message, then exit.



-i , --initialization

When tracing calls with the -t option, report calls made during initialization.



-o file , --output= file

Save output to file .



-t macro , --trace= macro

Report the list of calls to macro .



-v , --verbose

Verbosely print information about the progress of autoconf .



-B dir , --prepend-include= dir

Prepend directory dir to the search path.



-I dir , --include= dir

Append directory dir to the search path.



-V , --version

Print version number, then exit.



-W category , --warnings= category

Print any warnings related to category . Accepted categories are:



cross

Cross compilation.



obsolete

Obsolete constructs.



syntax

Questionable syntax.



all

All warnings.



no- category

Turn off warnings for category .



none

Turn off all warnings.



error

Treat warnings as errors.

autoheader

autoheader [options] [template_file]

GNU autoconf tool. Generate a template file of C #define statements from m4 macros defined in template_file , if given, or in a configure.ac or configure.in file in the current working directory. The generated template file is almost invariably called config.h.in .

Options



-d , --debug

Don't remove temporary files.



-f , --force

Replace files generated previously by autoheader .



-h , --help

Print help message, then exit.



-o file, --output =file

Save output to file .



-v , --verbose

Verbosely print information about the progress of autoheader .



-B dir , --prepend-include =dir

Prepend directory dir to the search path.



-I dir , --include =dir

Append directory dir to the search path.



-V , --version

Print version number, then exit.



-W category , --warnings =category

Print any warnings related to category . Accepted categories are:



obsolete

Obsolete constructs.



all

All warnings.



no- category

Turn off warnings for category .



none

Turn off all warnings.



error

Treat warnings as errors.

automake

automake [options] [template_file]

GNU automake tool. Create GNU standards-compliant Makefile.in files from Makefile.am template files and can be used to ensure that projects contain all the files and install options required to be standards-compliant. Note that Versions 1.4 and 1.6 differ enough that many distributions include an automake14 package for backward compatibility.

Options



-a , --add-missing

Add any missing files that automake requires to the directory by creating symbolic links to automake 's default versions.



-c , --copy

Used with the -a option. Copy missing files instead of creating symbolic links.



--cygnus

Specifies project has a Cygnus-style source tree.



-f , --force-missing

Used with the -a option. Replace required files even if a local copy already exists.



--foreign

Treat project as a non-GNU project. Check only for elements required for proper operation.



--gnu

Treat project as a GNU project with the GNU project structure.



--gnits

A stricter version of --gnu , performing more checks to comply with GNU project structure rules.



--help

Print help message, then exit.



-i , --ignore-deps

Disable automatic dependency tracking.



--libdir =dir

Used with the -a option. Search in directory dir for default files.



--no-force

Update only Makefile.in files that have updated dependents.



-v , --verbose

List files being read or created by automake .



--version

Print version number, then exit.



-Werror

Treat warnings as errors.

autoreconf

autoreconf [options]

GNU autoconf tool. Update configure scripts by running autoconf , autoheader , aclocal , automake , and libtoolize in specified directories and subdirectories. This command is seldom invoked manually. It is usually called automatically from other autoconf tools.

Options



-d , --debug

Don't remove temporary files.



-f , --force

Remake all configure scripts, even when newer than their template files.



-h , --help

Print help message, then exit.



-i , --install

Add any default files missing from package by copying versions included with autoconf and automake .



-s , -- symlink

Used with the -i option. Create symbolic links to default files instead of copying them.



-v , --verbose

Verbosely print information about the progress of autoreconf .



-I dir , --include =dir

Search in directory dir for input files.



-V , --version

Print version number, then exit.



-W category , --warnings =category

Print any warnings related to category . Accepted categories are:



cross

Cross compilation.



obsolete

Obsolete constructs.



syntax

Questionable syntax.



all

All warnings.



no- category

Turn off warnings for category .



none

Turn off all warnings.



error

Treat warnings as errors.

autoscan

autoscan [options] [directory]

GNU autoconf tool. Create or maintain a preliminary configure.ac file named configure.scan based on source files in specified directory , or current directory if none given. If a configure.ac file already exists, autoconf will check it for completeness and print suggestions for correcting any problems it finds.

Options



-d , --debug

Don't remove temporary files.



-h , --help

Print help message, then exit.



-v , --verbose

Verbosely print information about the progress of autoscan .



-I dir , --include =dir

Search in directory dir for input files. Use multiple times to add multiple directories.



-B dir , --prepend-include =dir

Search dir for input files before searching in other directories. Use multiple times to add multiple directories.



-V , --version

Print version number, then exit.

autoupdate

autoupdate [options] [file]

GNU autoconf tool. Update the configure template file file , or configure.ac if no file is specified. This command is seldom invoked manually. It is usually called automatically from other autoconf tools.

Options



-d , --debug

Don't remove temporary files.



-f , --force

Remake all configure scripts, even when newer than their template files.



-h , --help

Print help message, then exit.



-v , --verbose

Verbosely print information about the progress of autoupdate .



-I dir , --include =dir

Search in directory dir for input files.



-V , --version

Print version number, then exit.

badblocks

badblocks [options] device block-count

System administration command. Search device for bad blocks. You must specify the number of blocks on the device ( block-count ). e2fsck and mke2fs will invoke badblocks automatically when given the -c option.

Options



-b blocksize

Expect blocksize -byte blocks.



-c blocksize

Test blocksize -byte blocks at a time. Default is 16.



-f

Force a read/write or nondestructive write test on a mounted device. Use only when /etc/mtab incorrectly reports a device as mounted.



-i file

Skip test of known bad blocks listed in file .



-n

Perform a nondestructive test by writing to each block and then reading back from it while preserving data.



-o file

Direct output to file .



-p number

Repeat search of device until no new bad blocks have been found in number passes . Default is 0.



-s

Show block numbers as they are checked.



-t pattern

Test blocks by reading and writing the specified pattern . You may specify pattern as a positive integer or as the word random . If you specifiy multiple patterns, badblocks will test all blocks with one pattern, and then test all blocks again with the next pattern. Read-only mode will accept only one pattern. It will not accept random .



-v

Verbose mode.



-w

Test by writing to each block and then reading back from it.

banner

banner [option] [characters]

Print characters as a poster. If no characters are supplied, banner prompts for them and reads an input line from standard input. By default, the results go to standard output, but they are intended to be sent to a printer.

Option



-w width

Set width to width characters. Note that if your banner is in all lowercase, it will be narrower than width characters. If -w is not specified, the default width is 132. If -w is specified but width is not provided, the default is 80.

Example

/usr/games/banner -w50 Happy Birthday! |lpr

basename

basename name [suffix]
basename option

Remove leading directory components from a path. If suffix is given, remove that also. The result is printed to standard output. This is useful mostly in a script when you need to work with a filename but can't predict its full path in every instance.

Options



--help

Print help message and then exit.



--version

Print the version number and then exit.

Examples

$ basename /usr/lib/libm.a
libm.a
    
$ basename /usr/lib/libm.a .a
libm

bash

bash [options] [file [arguments]
sh [options] [file [arguments]]

Standard Linux shell, a command interpreter into which all other commands are entered. For more information, see Chapter 6.

batch

batch [options] [time]

Execute commands entered on standard input. If time is omitted, execute commands when the system load permits (when the load average falls below 0.8). Very similar to at , but does not insist that the execution time be entered on the command line. See at for details.

Options



-f file

Read job from file , not standard input.



-m

Mail user when job has completed, regardless of whether output was created.



-q letter

Place job in queue denoted by letter , where letter is one letter from a-z or A-Z. The default queue is b . (The at queue defaults to a .) Higher-lettered queues run at a lower priority.



-V

Print the version number and then exit.



-v

Display the time a job will be executed.

bc

bc [options] [files]

bc is a language (and compiler) whose syntax resembles that of C, but with unlimited-precision arithmetic. bc consists of identifiers, keywords, and symbols, which are briefly described in the following entries. Examples are given at the end.

Interactively perform arbitrary-precision arithmetic or convert numbers from one base to another. Input can be taken from files or read from the standard input. To exit, type quit or EOF.

Options



-h , --help

Print help message and exit.



-i , --interactive

Interactive mode.



-l , --mathlib

Make functions from the math library available.



-s , --standard

Ignore all extensions, and process exactly as in POSIX.



-w , --warn

When extensions to POSIX bc are used, print a warning.



-q , --quiet

Do not display welcome message.



-v , --version

Print version number.

Identifiers

An identifier is a series of one or more characters. It must begin with a lowercase letter but may also contain digits and underscores. No uppercase letters are allowed. Identifiers are used as names for variables, arrays, and functions. Variables normally store arbitrary-precision numbers. Within the same program you may name a variable, an array, and a function using the same letter. The following identifiers would not conflict:



x

Variable x .



x [ i ]

Element i of array x . i can range from 0 to 2047 and can also be an expression.



x ( y , z )

Call function x with parameters y and z .

Input-output keywords

ibase , obase , scale , and last store a value. Typing them on a line by themselves displays their current value. You can also change their values through assignment. The letters A-F are treated as digits whose values are 10-15.



ibase = n

Numbers that are input (e.g., typed) are read as base n (default is 10).



obase = n

Numbers that are displayed are in base n (default is 10). Note: once ibase has been changed from 10, use A to restore ibase or obase to decimal.



scale = n

Display computations using n decimal places (default is 0, meaning that results are truncated to integers). scale is normally used only for base-10 computations.



last

Value of last printed number.

Statement keywords

A semicolon or a newline separates one statement from another. Curly braces are needed when grouping multiple statements:



if ( rel-expr ) { statements } [ else { statements } ]

Do one or more statements if relational expression rel-expr is true. Otherwise, do nothing, or if else (an extension) is specified, do alternative statements . For example:

if (x=  =y) {i = i + 1} else {i = i - 1}



while ( rel-expr ) { statements }

Repeat one or more statements while rel-expr is true. For example:

while (i>0) {p = p*n; q = a/b; i = i-1}



for ( expr1; rel-expr ; expr2 ) { statements }

Similar to while . For example, to print the first 10 multiples of 5, you could type:

for (i=1; i<=10; i++) i*5

GNU bc does not require three arguments to for . A missing argument 1 or 3 means that those expressions will never be evaluated. A missing argument 2 evaluates to the value 1.



break

Terminate a while or for statement.



print list

GNU extension. It provides an alternate means of output. list consists of a series of comma-separated strings and expressions; print displays these entities in the order of the list. It does not print a newline when it terminates. Expressions are evaluated, printed, and assigned to the special variable last . Strings (which may contain special charactersi.e., characters beginning with \) are simply printed. Special characters can be:



a

Alert or bell



b

Backspace



f

Form feed



n

Newline



r

Carriage return



q

Double quote



t

Tab



\

Backslash



continue

GNU extension. When within a for statement, jump to the next iteration.



halt

GNU extension. Cause the bc processor to quit when executed.



quit

GNU extension. Cause the bc processor to quit whether line is executed or not.



limits

GNU extension. Print the limits enforced by the local version of bc .

Function keywords



define f ( args ) {

Begin the definition of function f having the arguments args . The arguments are separated by commas. Statements follow on successive lines. End with } .



auto x , y

Set up x and y as variables local to a function definition, initialized to 0 and meaningless outside the function. Must appear first.



return( expr )

Pass the value of expression expr back to the program. Return 0 if ( expr ) is left off. Used in function definitions.



sqrt( expr )

Compute the square root of expression expr .



length( expr )

Compute how many significant digits are in expr .



scale( expr )

Same as length , but count only digits to the right of the decimal point.



read( )

GNU extension. Read a number from standard input. Return value is the number read, converted via the value of ibase .

Math library functions

These are available when bc is invoked with -l . Library functions set scale to 20:



s( angle )

Compute the sine of angle , a constant or expression in radians.



c( angle )

Compute the cosine of angle , a constant or expression in radians.



a( n )

Compute the arctangent of n , returning an angle in radians.



e( expr )

Compute e to the power of expr .



l( expr )

Compute the natural log of expr .



j( n, x )

Compute the Bessel function of integer order n .

Operators

These consist of operators and other symbols. Operators can be arithmetic, unary, assignment, or relational:



arithmetic

+ - * / % ^



unary

- ++ --



assignment

=+ =- =* =/ =% =^ =



relational

< <= > >= = = !=

Other symbols



/* */

Enclose comments.



( )

Control the evaluation of expressions (change precedence). Can also be used around assignment statements to force the result to print.



{ }

Use to group statements.



[ ]

Indicate array index.



" text "

Use as a statement to print text .

Examples

Note in these examples that when you type some quantity (a number or expression), it is evaluated and printed, but assignment statements produce no display.

ibase = 8         Octal input
20                Evaluate this octal number
16               Terminal displays decimal value

obase = 2         Display output in base 2 instead of base 10
20                Octal input
10000            Terminal now displays binary value
ibase = A         Restore base-10 input
scale = 3         Truncate results to 3 decimal places
8/7               Evaluate a division
1.001001000      Oops!  Forgot to reset output base to 10
obase = 10        Input is decimal now, so A isn't needed
8/7 
1.142            Terminal displays result (truncated)

The following lines show the use of functions:

define p(r,n){    Function p uses two arguments
auto v            v is a local variable
v = r^n           r raised to the n power
return(v)}        Value returned
    
scale = 5 
x = p(2.5,2)      x = 2.5 ^ 2
x                 Print value of x
6.25
length(x)         Number of digits
3
scale(x)          Number of places right of decimal point
2

biff

biff [arguments]

Notify user of mail arrival and sender's name. biff operates asynchronously. Mail notification works only if your system is running the comsat(8) server. The command biff y enables notification, and the command biff n disables notification. With no arguments, biff reports biff 's current status.

bison

bison [options] file

Given a file containing context-free grammar, convert into tables for subsequent parsing while sending output to file.c . To a large extent, this utility is compatible with yacc , and is in fact named for it. All input files should use the suffix .y ; output files will use the original prefix. All long options (those preceded by -- ) may instead be preceded by + .

Options



-b prefix , --file-prefix =prefix

Use prefix for all output files.



-d , --defines

Generate file.h , producing #define statements that relate bison 's token codes to the token names declared by the user.



-r , --raw

Use bison token numbers, not yacc -compatible translations, in file.h .



-k , --token-table

Include token names and values of YYNTOKENS, YYNNTS, YYNRULES, and YYNSTATES in file.c .



-l , --no-lines

Exclude #line constructs from code produced in file.c . (Use after debugging is complete.)



-n , --no-parser

Suppress parser code in output, allowing only declarations. Assemble all translations into a switch statement body and print it to file.act .



-o file , --output-file =file

Output to file .



-p prefix , --name-prefix =prefix

Substitute prefix for yy in all external symbols.



-t , --debug

Compile runtime debugging code.



-v , --verbose

Verbose mode. Print diagnostics and notes about parsing tables to file.output .



-V , --version

Display version number.



-y , --yacc , --fixed-output-files

Duplicate yacc 's conventions for naming output files.

bzcmp

bzcmp [options] file1 file2

Apply cmp to the data from files in the bzip2 format without requiring on-disk decompression . See bzip2 and cmp for usage.

bzdiff

bzdiff [options] file1 file2

Apply diff to data from files in the bzip2 format without requiring on-disk decompression. See bzip2 and cmp for usage.

bzgrep

bzgrep [options] pattern [file...]

Apply grep to data from files in the bzip2 format without requiring on-disk decompression. See bzip2 and grep for usage.

bzip2

bzip2 [options] filenames
bunzip2 [options] filenames
bzcat [option] filenames
bzip2recover filenames

File compression and decompression utility similar to gzip , but uses a different algorithm and encoding method to get better compression. bzip2 replaces each file in filenames with a compressed version of the file and with a .bz2 extension appended. bunzip2 decompresses each file compressed by bzip2 (ignoring other files, except to print a warning). bzcat decompresses all specified files to standard output, and bzip2recover is used to try to recover data from damaged files.

Additional related commands include bzcmp , which compares the contents of bzipped files; bzdiff , which creates diff (difference) files from a pair of bzip files; bzgrep , to search them; and the bzless and bzmore commands, which apply the more and less commands to bzip output, as bzcat does with the cat command. See cat , cmp , diff , and grep for information on how to use those commands.

Options



--

End of options; treat all subsequent arguments as filenames.



- dig

Set block size to dig x 100 KB when compressing, where dig is a single digit from 1 to 9.



-c , --stdout

Compress or decompress to standard output.



-d , --decompress

Force decompression.



-f , --force

Force overwrite of output files. Default is not to overwrite. Also forces breaking of hard links to files.



-k , --keep

Keep input files; don't delete them.



-L , --license , -V , --version

Print license and version information, and exit.



-q , --quiet

Print only critical messages.



--repetitive-fast , --repetitive-best

Obsolete flags, occasionally useful in versions earlier than 0.9.5 (which has an improved sorting algorithm) for providing some control over the algorithm.



-s , --small

Use less memory, at the expense of speed.



-t , --test

Check the integrity of the files, but don't actually compress them.



-v , --verbose

Verbose mode. Show the compression ratio for each file processed. Add more -v 's to increase the verbosity .



-z , --compress

Force compression, even if invoked as bunzip2 or bzcat .



-1, --fast

Perform fast compression, creating a relatively large file. This has no effect on decompression. Higher numbers, up to 9, create progressively better-compressed files. See -9 , --best .



-9, --best

Get the best possible compression, although it will take longer.

Examples

To produce two files: fileone.txt.bz2 and filetwo.ppt.bz2 , while deleting the two original files:

bzip2 fileone.tzt filetwo.ppt

To produce a single compressed file, output.bz2 , which can be decompressed to reconstitute the original fileone.txt and filetwo.txt :

bzip2 -c fileone.txt filetwo.txt > output.bz2

The tar command, combined with the -j or --bzip2 option, creates the output file nutshell .tar.bz2 :

tar -cjf nutshell.tar.bz2 /home/username/nutshell

bzless

bzless [options] file

Applies less to datafiles in the bzip2 format without requiring on-disk decompression. See bzip2 and less for usage.

bzmore

bzmore [options] file

Applies more to datafiles in the bzip2 format without requiring on-disk decompression. See bzip2 and more for usage.

c++

c++ [options] files

See g++ .

c++filt

c++filt [options] [symbol]

Decode the specified C++ or Java function name symbol , or read and decode symbols from standard input if no symbol is given. This command reverses the name mangling used by C++ and Java compilers to support function overloading, multiple functions that share the same name.

Options



-_ , --strip-underscores

Remove initial underscores from symbol names.



--help

Print usage information, then exit.



-j , --java

Print names using Java syntax.



-n , --no-strip-underscores

Preserve initial underscores on symbol names.



-s format , --format =format

Expect symbols to have been coded in the specified format. Format may be one of the following:



arm

C++ Annotated Reference Manual.



edg

EDG (Intel) compiler.



gnu

Gnu compiler (the default).



gnu-new-abi

Gnu compiler with the new application binary interface (for gcc 3.x.)



hp

HP compiler.



lucid

Lucid compiler.



--version

Print version number, then exit.

cal

cal [options] [[month] year]

Print a 12-month calendar (beginning with January) for the given year , or a one-month calendar of the given month and year . month ranges from 1 to 12. year ranges from 1 to 9999. With no arguments, print a calendar for the current month.

Options



-j

Display Julian dates (days numbered 1 to 365, starting from January 1).



-m

Display Monday as the first day of the week.



-y

Display entire year.

Examples

cal 12 2006
cal 2006 > year_file

cardctl

cardctl [options] command

System administration command. Control PCMCIA sockets or select the current scheme. The current scheme is sent along with the address of any inserted cards to configuration scripts (by default located in /etc/pcmcia ). The scheme command displays or changes the scheme. The other commands operate on a named card socket number, or all sockets if no number is given.

Commands



config [socket]

Display current socket configuration.



eject [socket]

Prepare the system for the card(s) to be ejected.



ident [socket]

Display card identification information.



info [ socket ]

Display card identification information as Bourne shell variable definitions for use in scripts.



insert [ socket ]

Notify system that a card has been inserted.



reset [ socket ]

Send reset signal to card.



resume [ socket ]

Restore power to socket and reconfigure for use.



scheme [ name ]

Display current scheme or change to specified scheme name .



status [ socket ]

Display current socket status.



suspend [ socket ]

Shut down device and cut power to socket.

Options



-c directory

Look for card configuration information in directory instead of /etc/pcmcia .



-f file

Use file to keep track of the current scheme instead of /var/run/pcmcia-scheme .



-s file

Look for current socket information in file instead of /var/run/stab .

cardmgr

cardmgr [options]

System administration command. The PCMCIA card daemon. cardmgr monitors PCMCIA sockets for devices that have been added or removed. When a card is detected , it attempts to get the card's ID and configure it according to the card configuration database (usually stored in /etc/pcmcia/config ). By default, cardmgr does two things when it detects a card: it creates a system log entry, and it beeps. Two high beeps mean it successfully identified and configured a device. One high beep followed by one low beep means it identified the device, but was unable to configure it successfully. One low beep means it could not identify the inserted card. Information on the currently configured cards can be found in /var/run/stab .

Options



-c directory

Look for the card configuration database in directory instead of /etc/pcmcia .



-f

Run in the foreground to process the current cards, then run as a daemon.



-m directory

Look in directory for card device modules. Default is /lib/modules/RELEASE , where RELEASE is the current kernel release.



-o

Configure the cards present in one pass, then exit.



-p file

Write cardmgr 's process ID to file instead of to /var/run/cardmgr.pid .



-q

Run in quiet mode. No beeps.



-s file

Write current socket information to file instead of /var/run/stab .



-v

Verbose mode.



-V

Print version number and exit.

cat

cat [options] [files]

Read (con cat enate) one or more files and print them on standard output. Read standard input if no files are specified or if - is specified as one of the files; input ends with EOF. You can use the > operator to combine several files into a new file, or >> to append files to an existing file. When appending to an existing file, use Ctrl-D, the end-of-file symbol, to end the session.

Options



-A , --show-all

Same as -vET .



-b , --number-nonblank

Number all nonblank output lines, starting with 1.



-e

Same as -vE .



-E , --show-ends

Print $ at the end of each line.



-n , --number

Number all output lines, starting with 1.



-s , --squeeze-blank

Squeeze down multiple blank lines to one blank line.



-t

Same as -vT .



-T , --show-tabs

Print TAB characters as ^I.



-u

Ignored; retained for Unix compatibility.



-v , --show-nonprinting

Display control and nonprinting characters, with the exception of LINEFEED and TAB.

Examples

cat ch1                     Display a file
cat ch1 ch2 ch3 > all    Combine files
cat note5 >> notes    Append to a file
cat > temp1        Create file at terminal. To exit, enter EOF
                                             (Ctrl-D).
cat > temp2 << STOP      Create file at terminal. To exit, enter STOP.

cc

cc [options] files

See gcc .

cdda2wav

cdda2wav [options] [output.wav]

Convert Compact Disc Digital Audio (CDDA) to the WAV format. This process is often called "ripping" a CD-ROM and is generally performed before using an encoder to convert the file to a compressed music format, such as OGG or MP3.

Options

Some of the following options use sectors as a unit of measurement. Each sector of data on a CD represents approximately 1/75 second of play time.



-A , --auxdevice drivename

Specify a different drive for ioctl purposes.



-a , --divider n

Set the sample rate to a value equal to 44100/ n samples per second. The -R option, used by itself, lists the possible values.



-B , --bulk

Copy each track into its own file. This is the single most commonly used flag.



-b , --bits-per-sample n

Set the quality of samples to n bits per sample per channel. Possible values are 8, 12, and 16.



-C byteorder, -- cdrom -endianness byteorder

Set the byte order, or "endianness" of the input data. You may set the order to little , big , or guess . This is useful when your CD-ROM drive uses an unexpected or unusual byte order for your platform.



-c channel, --channels channel

Set stereo instructions. Set channel to 1 for mono; 2 for stereo; or s for stereo, but swapped left-to-right . You can also use -s ( --stereo ) to record in stereo and -m ( --mono ) to record in mono.



--cddbp-server = servername

Set the name of the CD lookup server used. A reliable choice is freedb. freedb .org , which assigns requests to one of several official mirrors for the free CD database project.



--cddbp-port =portnumber

Select the port on which to access the CD lookup server. The servers at freedb.org use cddbp on port 8880, and http on port 80.



-D , --device devicename

Specify the device. The device must work with the -i ( --interface ) settings.



-d , --duration

Set to a number followed by f for frames (sectors) or s for seconds. Set time to zero to record an entire track. For example, to copy two minutes, enter 120s .



-E byteorder, --output-endianness byteorder

Set the byte order or "endianness" of the output data. As with -C , you may set the order to little , big , or guess .



-e , --echo device

Send output to an audio output device instead of to a file.



-g , --gui

Format all text output for easy parsing by GUI frontends.



-H , --no-infofile

Do not copy any info or CDDB files, only the audio files.



-I , --interface ifname

Specify the type of interface. For Linux systems, the most appropriate value is usually cooked_ioctl .



-i , --index n

Set the start index to n when recording.



-J , --info-only

Use this option by itself to display information about the disc, but do nothing else.



-L n --cddb-mode n

cdda2wav automatically looks up CD information online, if possible. This option determines what happens when there are multiple entries identifying the CD. If the mode is 0, the user is prompted to select an entry. If the mode is 1, the application will use the first entry returned.



-M n , --md5 n

Create MD5 checksums for the first n bytes of each track copied .



-N , --no-write

For debugging purposes, this option suppresses writing an output file.



-n , --sectors-per-request n

Read n sectors in each request.



-O , --output-format= format

Choose the output file format. Normal file options are wav , aiff , aifc , au , and sun . You can also use cdr and raw for headerless files dumped into recording devices.



-o , --offset n

Start recording n sectors before the beginning of the first track.



-P , --set-overlap n

Use n sectors of overlap for jitter correction. Very fast systems with absolutely perfect drives and unscratched CDs can set this to 0.



-p , --set-pitch n

Adjust the pitch by n percent when copying data to an audio device.



-- paranoia

Read and interpret the CD using the paranoia library instead of the cdda2wav code. Paranoia provides more sound correction routines; see cdparanoia for more information.



-q , --quiet

Quiet mode; the program will not send any data to the screen.



-R , --dump-rates

Output a list of possible sample rates and dividers . This option is typically used with no other option flags or arguments.



-r , --rate n

Set the sample rate in samples per second. To get a list of possible values, use the -R option by itself.



-S , --speed n

Specify the speed at which your system will read the CD-ROM. Set the value to the multiple of normal playback speed given as your CD-ROM drive speed (4, 16, 32, and so forth). Setting the speed lower than the maximum can prevent errors in some cases.



-t , --track n

Set start track to n. Optionally, use + and a second track number for the end track: 1+10 copies tracks one through ten.



-v , --verbose-level comma,separated,list

Determines what sort of information about the CD is displayed. The options, which should be provided as a comma separated list, are as follows: for no information, use disable ; or for all information, use all . Alternatively, use toc for the table of contents, summary for the disc summary, indices for disc indices, catalog for the disc catalog, trackid for track IDs, sectors for sectors, and titles for title information, if available.



--version

Display version and quit.



-w , --wait

Wait for a signal before recording anything.



-x , --max

Set recording quality (and amount of hard disk usage) to maximum.

Examples

For most systems, you should be able to copy a complete CD to a single WAV file with the following command:

cdda2wav

To copy a complete CD to a set of WAV files, one per track:

cdda2wav -B

After using cdda2wav , you will probably want to use an encoder to compress and convert the files to a more usable format, such as MP3 or Ogg Vorbis.

cdparanoia

cdparanoia [options] span [outfile]

Like cdda2wav , cdparanoia records Compact Disc audio files as WAV, AIFF, AIFF-C, or raw format files. It uses additional data-verification and sound-improvement algorithms to make the process more reliable and is used by a number of graphical recording programs as a backend.

Options



-a , --output-aifc

Output in AIFF-C format.



-B , --batch

Split output into multiple files, one per track. Each file will begin with the track number. This is the single most commonly used flag for this command.



-C , --force-cdrom-big-endian

Force cdparanoia to treat the drive as a big-endian device.



-c , --force-cdrom-little-endian

Force cdparanoia to treat the drive as a little-endian device.



-d , --force-cdrom-device devicename

Specify a device name to use instead of the first readable CD-ROM available.



-e , --stderr-progress

Send all progress messages to stderr instead of stdout; used by wrapper scripts.



-f , --output-aiff

Output in AIFF format. The default format is WAV.



-h , --help

Display options and syntax.



-p , --output-raw

Output headerless raw data.



-R , --output-raw-big-endian

Output raw data in big-endian byte order.



-r , --output-raw-little-endian

Output raw data in little-endian byte order.



-Q , --query

Display CD-ROM table of contents and quit.



-q , --quiet

Quiet mode.



-S , --force-read-speed n

Set the read speed to n on drives that support it. This is useful if you have a slow hard disk or not much RAM.



-s , --search-for-drive

Search for a drive, even if /dev/cdrom exists.



-V , --version

Print version information and quit.



-v , --verbose

Verbose mode.



-w , --output-wav

Output in WAV format. This is the default.



-X , --abort-on-skip

If a read fails and must be skipped , skip the entire track and delete any partially completed output file.



-Z , --disable-paranoia

Disable data verification and correction. Causes cdparanoia to behave exactly as cdda2wav would.



-z , --never-skip [ =retries ]

If a read fails (for example, due to a scratch in the disc), try again and again. If you specify a number, cdparanoia will try that number of times. If you do not, cdparanoia will retry until it succeeds. The default number of attempts is 20.

Progress symbols

The output during operation of cdparanoia includes both smiley faces and more standard progress symbols. They are:



:-)

Operation proceeding normally.



:-|

Operation proceeding normally, but with jitter during reads.



:-/

Read drift .



8-|

Repeated read problems in the same place.



:-O

SCSI/ATAPI transport error (hardware problem not related to the disc itself).



:-(

Scratch detected.



;-(

Unable to correct problem.



8-X

Unknown and uncorrectable error.



:^D

Finished.



 

Blank space in the progress indicator means that no corrections were necessary.



-

Jitter correction was required.



+

Read errors.



!

Errors even after correction; repeated read errors.



e

Corrected transport errors.



V

An uncorrected error or a skipped read.

The span argument

The cdparanoia command takes exactly one argument, which describes how much of the CD to record. It uses numbers followed by bracketed times to designate track numbers and time within them. For example, the string 1[2:23]-2[5] indicates a recording from the two-minute and twenty-three-second mark of the first track up to the fifth second of the second track. The time format is demarcated by colons, hours : minutes : seconds :. sectors , with the last item, sectors , preceded by a decimal point (a sector is 1/75 of a second). It's best to put this argument within quotes.

If you use the -B option, the span argument is not required.

cdrdao

cdrdao command [options] toc-file

Write all content specified in description file toc-file to a CD-R disk drive in one step. This is called disk-at-once (DAO) mode, as opposed to the more commonly used track-at-once (TAO) mode. DAO mode allows you to change the length of gaps between tracks and define data to be written in these gaps (like hidden bonus tracks or track intros). The toc file can be created by hand or generated from an existing CD using cdrdao 's read-toc command. A cue file, as generated by other audio programs, can be used instead of a toc file. The file format for toc files is discussed at length in the cdrdao manpage .

Commands

The first argument must be a command. Note that not all options are available for all commands.



show-toc

Print a summary of the CD to be created.



read-toc

Read from a CD and create a disk image and toc file that will allow creation of duplicates.



read-cddb

Check a CDDB server for data about the CD represented by a given toc file; then write that data to the toc file as CD-TEXT data.



show-data

Print out the data that will be written to the CD-R. Useful for checking byte order.



read-test

Check the validity of the audio files described in the toc file.



disk-info

Display information about the CD-R currently in the drive.



msinfo

Display multisession information. Useful mostly for wrapper scripts.



scanbus

Scan the system bus for devices.



simulate

A dry run: do everything except write the CD.



unlock

Unlock the recorder after a failure. Run this command if you cannot eject the CD after using cdrdao .



write

Write the CD.



copy

Copy the CD. If you use a single drive, you will be prompted to insert the CD-R after reading. An image file will be created unless you use the -- on-the-fly flag and two CD drives.

Options



--buffers n

Set the number of seconds of data to be buffered. Default is 32; set to a higher number if your read source is unreliable or is slower than the CD-R.



--cddb-servers server,server

Enter hosts for servers. Servers may include ports, paths, and proxies; you can list multiple servers separated by spaces or commas.



--cddb-timeout s

Set the timeout for CDDB server connections to s seconds.



--cddb-directory localpath

CDDB data that is fetched will be saved in the directory localpath .



--datafile filename

When used with the read-toc command, this option specifies the datafile placed in the toc file. When used with read-cd and copy , it specifies the name of the image file created.



--device bus,id,logicalunit

Set the SCSI address of the CD-R using the bus number, ID number, and logical-unit number.



--driver driver-id:option-flags

Force cdrdao to use the driver you choose with the driver options named, instead of the driver it autodetects.



--eject

Eject the disc when done.



--force

Override warnings and perform the action anyway.



--keepimage

Used only with the copy command. Keeps the image file created during the copy process.



--multi

Record as a multisession disc.



-n

Do not wait 10 seconds before writing the disc.



--on-the-fly

Do not create an image file: pipe data directly from source to CD-R.



--overburn

If you are using a disc with more storage space than cdrdao detects, use this option to keep writing even when cdrdao thinks you're out of space.



--paranoia-mode n

Specify the amount of error correction in the CD read, where n is a value from 0 to 3. 0 is none; 3 is full (see cdparanoia for information about error correction). Set error correction to a lower number to increase read speed. The default is 3.



--read-raw

Used only with the read-cd command. Write raw data to the image file.



--reload

Allow the drive to be opened before writing, without interrupting the process. Used with simulation runs.



--save

Save current options to the settings file $HOME/.cdrdao .



--session n

Used only with the read-toc and read-cd commands when working with multisession CDs. Specify the number of the session to be processed.



--source-device bus,id,logicalunit

Used only with the copy command. Set the SCSI address of the source device.



--source-driver driver-id:option-flags

Used only with the copy command. Set the source device driver and flags.



--speed value

Set the write speed to value . The default is the highest available speed; use a lower value if higher values give poor results.



--swap

Swap byte order for all samples.



-v verbose-level

Set the amount of information printed to the screen. 0 , 1 , and 2 are fine for most users; greater numbers are useful for debugging.



--with-cddb

Use CDDB to fetch information about the disc and save it as CD-TEXT data. Used with the copy , read-toc , and read-cd commands.

Examples

To find devices on the system:

cdrdao scanbus

To copy from a CD device (at 1,1,0) to a CD-R device (at 1,0,0):

cdrdao copy --source 1,1,0 --device 1,0,0 --buffers 64

cdrecord

cdrecord [general-options] dev=device [track-options]
track1,track2...

Record data or audio compact discs. This program normally requires root access. It has a large number of options and settings. A number of useful examples can be found in the manpage.

General options

General option flags go directly after the cdrecord command. Options affecting the track arguments are placed after the device argument and before the track arguments themselves. The general options are:



--atip

Display the ATIP (Absolute Time In Pregroove) information for a disc. Only some drives allow you to read this information.



--blank =type

Erase data from a CD-RW in one of the following ways:



help

Display a possible list of blanking methods .



all

Erase all information on the disc. May take a long time.



fast

Perform a quick erase of the disc, erasing only the PMA, TOC, and pregap.



track

Blank a track.



unreserve

Unreserve a track previously marked as reserved.



trtail

Blank the tail of a track only.



unclose

Unclose the last session.



session

Blank the last session.



--checkdrive

Check to see if there are valid drivers for the current drive. Returns 0 if the drive is valid.



--dao

Disk-at-once mode. Works only with MMC drives that support non-raw session-at-once modes.



--debug =n , -d

Set the debug level to an integer (greater numbers are more verbose), or use multiple -d flags as with the -v and -V flags.



--driver =name

Lets you specify a driver for your system. Suggested for experts only. The special drivers cdr_simul and dvd_simul are used for simulation and profiling tests.



--driveropts =optlist

Specify a comma-separated list of driver options. To get a list of valid options, use driveropts=help and --checkdrive .



-- dummy

Perform a dry run, doing all the steps of recording with the laser turned off. This will let you know whether the process is going to work.



--eject

Eject disc after recording. Some hardware may need to eject a disc after a dummy recording and before the actual recording.



--fix

Close ("fixate") the session, preventing future multisession recordings and allowing the disc to be played in standard audio CD players (some can also play a disc that has not been closed).



--force

Override errors if possible. May allow you to blank an otherwise broken CD-RW.



--fs= n

Set the fifo buffer size to n , in bytes. You may use k , m , s , or f to specify kilobytes, megabytes, or units of 2048 and 2352 bytes, respectively. The default is 4 MB.



--kdebug =n , --kd =n

Set the kernel's debug notification value to n during SCSI command execution. Works through the scg-driver.



--load

Load media and exit. Works with tray-loading mechanisms only.



--mcn =n

Set the Media Catalog Number to n .



--msinfo

Get multisession information from the CD. Used only with multisession discs onto which you can still record more sessions.



--multi

Set to record in multisession mode. Must be present on all sessions but the last one for a multisession disc.



--nofix

Do not close the disc after writing.



--reset

Attempt to reset the SCSI bus. Does not work on all systems.



-s , --silent

Silent mode. Do not print any SCSI error commands.



--speed =n

Set the speed to n , a multiple of the audio speed. Normally, cdrecord will get this from the CDR_SPEED environment variable. If your drive has trouble with higher numbers, try 0 as a value.



--timeout= n

Set the timeout to n seconds. Defaults to 40.



--toc

Display the table of contents for the CD currently in the drive. Works for CD-ROM, as well as CD-R and CD-RW drives.



--scanbus

Scan SCSI devices.



--useinfo

Use .inf files to override audio options set elsewhere.



-V

As with the -v , a verbose mode counter. However, this applies only to SCSI transport messages. This will slow down the application.



-v

Verbose mode. Use one v for each level of verbosity. -vv would be very verbose, and -vvv would be even more so.



--version

Print version information and exit.

The device argument

The device argument should be specified not as a file but as three integers that represent the bus, target, and logical unit, as in the cdrdao command. To check the options that are available, use the --scanbus option.

Track options and arguments

Track options may be mixed with track arguments, and normally apply to the track immediately after them or to all tracks after them. The track arguments themselves should be the files that you will be writing to the CD. Options are:



--audio

Write all tracks after this track in digital audio format ( playable by standard CD players). If you do not use this flag or the --data flag, cdrecord will assume that .au and .wav files are to be recorded as raw audio and that all other files are data.



--cdi

Write subsequent tracks in CDI format.



--data

Record subsequent tracks as CD-ROM data. If you do not use this flag or the --audio flag, all files except for those that end in .wav or .au are assumed to be data.



--index= a,b,c

Set the index list for the next track. The values should be increasing comma-separated integers, starting with index 1 and counting in sectors (75ths of a second). For example, you could set three indices in a track with index=0,750,7500 and they would occur at the beginning of the track, after 10 seconds, and after 100 seconds.



--isosize

The size of the next track should match the size of the ISO-9660 filesystem. This is used when duplicating CDs or copying from raw-data filesystems.



--isrc= n

Set the International Standard Recording Number for the track argument following this option.



--mode2

Write all subsequent tracks in CD-ROM mode 2 format.



--nopad

Do not insert blank data between data tracks following this flag. This is the default behavior.



--pad

Insert 15 sectors of blank data padding between data tracks. Applies to all subsequent tracks or until you use the --nopad argument, and is overridden by the padsize= n argument.



--padsize= n

Insert n sectors of blank data padding after the next track. Applies only to the track immediately after it.



--swab

Declare that your data is in byte-swapped (little-endian) byte order. This is not normally necessary.



--tsize= n

Set the size of the next track. Useful only if you are recording from a raw disk for which cdrecord cannot determine the file size. If you are recording from an ISO 9660 filesystem, use the --isosize flag instead.



--xa1 , --xa2

Write subsequent tracks in CD-ROM XA mode 1 or CD-ROM XA mode 2 format.

cfdisk

cfdisk [options] [device]

System administration command. Partition a hard disk using a full-screen display. Normally, device will be /dev/hda , /dev/hdb , /dev/sda , /dev/sdb , /dev/hdc , /dev/hdd , and so on; the default is the first device on the system. See also fdisk .

Options



-a

Use an arrow on the left side to highlight the currently selected partition, instead of reverse video.



-c cylinders

Specify the number of cylinders to use to format the specified device .



-g

Ignore driver-provided geometry; guess one instead.



-h heads

Specify the number of heads to use to format the specified device .



-s sectors

Specify the number of sectors per track to use to format the specified device .



-v

Print version number and exit.



-z

Do not read the partition table; partition from scratch.



-P format

Display the partition table in format , which must be r (raw data), s (sector order), or t (table format). See the manpage for the meaning of the fields in the raw format, which shows what will be written by cfdisk for each partition. The sector format shows information about the sectors used by each partition. The table format shows the starting and ending head, sector, and cylinder for each partition.

Commands



up arrow , down arrow

Move among partitions.



left arrow , right arrow

Move among commands at the bottom of the screen.



Enter key

Select currently highlighted command or value.



b

Toggle flag indicating whether selected partition is bootable.



d

Delete partition (allow other partitions to use its space).



g

Alter the disk's geometry. Prompt for what to change: cylinders, heads, or sectors ( c , h , or s , respectively).



h

Help.



m

Attempt to ensure maximum usage of disk space in the partition.



n

Create a new partition. Prompt for more information.



p

Print the partition table to a file. Possible formats are the same as for the -P option.



q

Quit without saving information.



t

Prompt for a new filesystem type, and change to that type.



u

Change the partition-size units. The choice of units rotates from megabytes to sectors to cylinders and back.



W

Save information. Must be uppercase, to prevent accidental writing.

chage

chage [options] user

Change information about user password expirations. If run without any option flags, chage will prompt for values to be entered; you may also use option flags to change or view information.

Options



-l

This flag is used without any others and causes chage to display the current password expiration attributes for the user.



-m mindays

Minimum number of days between password changes. Default is zero, meaning that the user may change the password at any time.



-M maxdays

Maximum number of days between password changes.



-d lastday

Date of last password change. This may be expressed as a date in YYYY-MM-DD format, or as the number of days between January 1, 1970 and the last password change.



-I inactive-days

If a password expires and the user does not log in for this number of days, the account will be locked and the user must contact a system administrator before logging in. Set to 0 to disable the feature.



-E expiredate

Set the date when the account will be locked. This is not a date for password expiration, but for account expiration. It may be expressed as a YYYY-MM-DD date or as a number of days since January 1, 1970.



-W warning

The number of days before password expiration that a user will be warned to change passwords.

chattr

chattr [options] mode files

Modify file attributes. Specific to Linux Second and Third Extended Filesystem (ext2 and ext3). Behaves similarly to symbolic chmod , using + , - , and = . mode is in the form opcode attribute . See also lsattr .

Options



-R

Modify directories and their contents recursively.



-V

Print modes of attributes after changing them.



-v version

Set the file's version.

Opcodes



+

Add attribute.



-

Remove attribute.



=

Assign attributes (removing unspecified attributes).

Attributes



A

Don't update access time on modify.



a

Append only for writing. Can be set or cleared only by a privileged user.



c

Compressed.



d

No dump.



i

Immutable. Can be set or cleared only by a privileged user.



j

Journalled file. This is useful only in cases where you are using an ext3 filesystem mounted with the data="ordered " or data="writeback " attributes. The data="journalled " option for the filesystem causes this operation to be performed for all files in the system and makes this option irrelevant.



S

Synchronous updates.



s

Secure deletion. The contents are zeroed on deletion, and the file cannot be undeleted or recovered in any way.



u

Undeletable. This causes a file to be saved even after it has been deleted, so that a user can undelete it later.

Example

chattr +a myfile       As superuser

chfn

chfn [options] [username]

Change the information that is stored in /etc/passwd and displayed to the finger query. Without options , chfn enters interactive mode and prompts for changes. To make a field blank, enter the keyword none . Only a privileged user can change information for another user. For regular users, chfn prompts for the user's password before making the change.

Options



-f , --full-name

Specify new full name.



-h , --home-phone

Specify new home phone number.



-o , --office

Specify new office number.



-p , --office-phone

Specify new office phone number.



-u , --usage , --help

Print help message and then exit.



-v , --version

Print version information and then exit.

Example

chfn -f "Ellen Siever" ellen

chgrp

chgrp [options] newgroup files
chgrp [options]

Change the group of one or more files to newgroup . newgroup is either a group ID number or a group name located in /etc/group . Only the owner of a file or a privileged user may change the group.

Options



-c , --changes

Print information about files that are changed.



-f , --silent , --quiet

Do not print error messages about files that cannot be changed.



--help

Print help message and then exit.



-R , --recursive

Traverse subdirectories recursively, applying changes.



--reference= filename

Change the group to that associated with filename . In this case, newgroup is not specified.



-v , --verbose

Verbosely describe ownership changes.



--version

Print version information and then exit.

chkconfig

chkconfig [options] [service [flag]]

System administration command. Manipulate symbolic links in the /etc/rc.d/rc[0-6].d directories. chkconfig manages which services will run in a specified runlevel. Valid flags are on , off , or reset to reset the service to defaults given in its initialization script in /etc/rc.d/init.d . To specify defaults in an standard initialization script, add a comment line to the script beginning with chkconfig: followed by the runlevels in which the service should run, and the start and kill priority numbers to assigne.g., chkconfig: 2345 85 15

Options



--add service

Create a start or kill symbolic link in every runlevel for the specified service according to default behavior specified in the service's initialization script.



--del service

Remove entries for specified service from all runlevels.



--level numbers

Specify by number the runlevels to change. Provide numbers as a numeric string: e.g., 016 for levels 0, 1 and 6. Use this to override specified defaults.



--list [ service ]

Print whether the specified service is on or off in each level. If no service is specified, print runlevel information for all services managed by chkconfig .

chmod

chmod [options] mode files
chmod [options] --reference=filename files

Change the access mode (permissions) of one or more files . Only the owner of a file or a privileged user may change the mode. mode can be numeric or an expression in the form of who opcode permission . who is optional (if omitted, default is a ); choose only one opcode . Multiple modes are separated by commas.

Options



-c , --changes

Print information about files that are changed.



-f , --silent , --quiet

Do not notify user of files that chmod cannot change.



--help

Print help message and then exit.



-R , --recursive

Traverse subdirectories recursively, applying changes.



--reference= filename

Change permissions to match those associated with filename .



-v , --verbose

Print information about each file, whether changed or not.



--version

Print version information and then exit.

Who



u

User.



g

Group.



o

Other.



a

All (default).

Opcode



+

Add permission.



-

Remove permission.



=

Assign permission (and remove permission of the unspecified fields).

Permissions



r

Read.



w

Write.



x

Execute.



s

Set user (or group) ID.



t

Sticky bit; used on directories to prevent removal of files by non- owners .



u

User's present permission.



g

Group's present permission.



o

Other's present permission.

Alternatively, specify permissions by a three-digit octal number. The first digit designates owner permission; the second, group permission; and the third, other's permission. Permissions are calculated by adding the following octal values:



4

Read.



2

Write.



1

Execute.

Note that a fourth digit may precede this sequence. This digit assigns the following modes:



4

Set user ID on execution to grant permissions to process based on the file's owner, not on permissions of the user who created the process.



2

Set group ID on execution to grant permissions to process based on the file's group, not on permissions of the user who created the process.



1

Set sticky bit.

Examples

Add execute-by-user permission to file :

chmod u+x  file 

Either of the following will assign read/write/execute permission by owner (7), read/execute permission by group (5), and execute-only permission by others (1) to file :

chmod 751  file 
chmod u=rwx,g=rx,o=x  file 

Any one of the following will assign read-only permission to file for everyone:

chmod =r  file 
chmod 444  file 
chmod a-wx,a+r  file 

The following makes the executable setuid, assigns read/write/execute permission by owner, and assigns read/execute permission by group and others:

chmod 4755  file 

chown

chown [options] newowner files
chown [options] --reference=filename files

Change the ownership of one or more files to newowner . newowner is either a user ID number or a login name located in /etc/passwd . chown also accepts users in the form newowner : newgroup or newowner.newgroup . The last two forms change the group ownership as well. If no owner is specified, the owner is unchanged. With a period or colon but no group, the group is changed to that of the new owner. Only the current owner of a file or a privileged user may change the owner.

Options



-c , --changes

Print information about files that are changed.



--dereference

Follow symbolic links.



-f , --silent , --quiet

Do not print error messages about files that cannot be changed.



-h , --no-dereference

Change the ownership of each symbolic link (on systems that allow it), rather than the referenced file.



-v , --verbose

Print information about all files that chown attempts to change, whether or not they are actually changed.



-R , --recursive

Traverse subdirectories recursively, applying changes.



--reference= filename

Change owner to the owner of filename instead of specifying a new owner explicitly.



--help

Print help message and then exit.



--version

Print version information and then exit.

chpasswd

chpasswd [option]

System administration command. Change user passwords in a batch. chpasswd accepts input in the form of one username : password pair per line. If the -e option is not specified, password is encrypted before being stored.

Option



-e

Passwords given are already encrypted.

chroot

chroot newroot [command]

System administration command. Change root directory for command or, if none is specified, for a new copy of the user's shell. This command or shell is executed relative to the new root. The meaning of any initial / in pathnames is changed to newroot for a command and any of its children. In addition, the initial working directory is newroot . This command is restricted to privileged users.

chrt

chrt [options] [prio] [pid |command ...]

Set or retrieve the real-time scheduling properties of a given process, or run a new process with the given real-time scheduling properties.

Options



-f , --fifo

Use the FIFO (first-in, first-out) scheduling policy.



-h , --help

Display usage information and then exit.



-m , --max

Show the minimum and maximum valid scheduling priorities.



-o , --other

Use the normal (called "other") scheduling policy.



-p , --pid

Operate on the given, existing PID and do not execute a new command.



-r , --rr

Use the round- robin scheduling policy.



-v , --version

Output version information and then exit.

chsh

chsh [options] [username]

Change your login shell, either interactively or on the command line. Warn if shell does not exist in /etc/ shells . Specify the full path to the shell. chsh prompts for your password. Only a privileged user can change another user's shell.

Options



-l , --list-shells

Print valid shells, as listed in /etc/shells , and then exit.



-s shell , --shell shell

Specify new login shell.



-u , --help

Print help message and then exit.



-v , --version

Print version information and then exit.

Example

chsh -s /bin/tcsh

chvt

chvt N

Switch to virtual terminal N (that is, switch to /dev/ttyN ). If you have not created /dev/ttyN , it will be created when you use this command. There are keyboard shortcuts for this functionality as well. From a graphical desktop, you can press Ctrl-Alt-F1 through F12 to switch to different virtual terminals. In text mode, you can skip the Ctrl key and just use Alt-F1 through F12. To switch back to graphical mode, use Alt-F7.

cksum

cksum [files]

Compute a cyclic redundancy check (CRC) checksum for all files ; this is used to ensure that a file was not corrupted during transfer. Read from standard input if the character - is given or no files are given. Display the resulting checksum, the number of bytes in the file, and (unless reading from standard input) the filename.

clear

clear

Clear the terminal display. Equivalent to pressing Ctrl-L.

cmp

cmp [options] file1 file2 [skip1 [skip2]]

Compare file1 with file2 . Use standard input if file1 is - or missing. This command is normally used for comparing binary files, although files can be of any type. (See also diff .) skip1 and skip2 are optional offsets in the files at which the comparison is to start.

Options



-c , --print-chars

Print differing bytes as characters.



-i num , --ignore-initial =num

Ignore the first num bytes of input.



-l , --verbose

Print offsets and codes of all differing bytes.



-s , --quiet , --silent

Work silently; print nothing, but return exit codes:



0

Files are identical.



1

Files are different.



2

Files are inaccessible.

Example

Print a message if two files are the same (exit code is 0):

cmp -s old new && echo 'no changes'

col

col [options]

A postprocessing filter that handles reverse linefeeds and escape characters, allowing output from tbl or nroff to appear in reasonable form on a terminal.

Options



-b

Ignore backspace characters; helpful when printing manpages.



-f

Process half-line vertical motions , but not reverse line motion. (Normally, half-line input motion is displayed on the next full line.)



-l n

Buffer at least n lines in memory. The default buffer size is 128 lines.



-x

Normally, col saves printing time by converting sequences of spaces to tabs. Use -x to suppress this conversion.

Examples

Run myfile through tbl and nroff , then capture output on screen by filtering through col and more :

tbl myfile | nroff | col | more

Save manpage output for the ls command in out.print , stripping out backspaces (which would otherwise appear as ^H):

man ls | col -b > out.print

colcrt

colcrt [options] [files]

A postprocessing filter that handles reverse linefeeds and escape characters, allowing output from tbl or nroff to appear in reasonable form on a terminal. Put half-line characters (e.g., subscripts or superscripts) and underlining (changed to dashes) on a new line between output lines.

Options



-

Do not underline.



-2

Double space by printing all half-lines.

colrm

colrm [start [stop]]

Remove specified columns from a file, where a column is a single character in a line. Read from standard input and write to standard output. Columns are numbered starting with 1; begin deleting columns at (including) the start column, and stop at (including) the stop column. Entering a tab increments the column count to the next multiple of either the start or stop column; entering a backspace decrements it by 1.

Example

colrm 3 5 < test1 > test2

column

column [options] [files]

Format input from one or more files into columns, filling rows first. Read from standard input if no files are specified.

Options



-c num

Format output into num columns.



-s char

Delimit table columns with char . Meaningful only with -t .



-t

Format input into a table. Delimit with whitespace, unless an alternate delimiter has been provided with -s .



-x

Fill columns before filling rows.

comm

comm [options] file1 file2

Compare lines common to the sorted files file1 and file2 . Output is in three columns, from left to right: lines unique to file1 , lines unique to file2 , and lines common to both files. comm is similar to diff in that both commands compare two files. But comm can also be used like uniq ; comm selects duplicate or unique lines between two sorted files, whereas uniq selects duplicate or unique lines within the same sorted file.

Options



-

Read the standard input.



- num

Suppress printing of column num . Multiple columns may be specified and should not be space-separated.



--help

Print help message and exit.



--version

Print version information and exit.

Example

Compare two lists of top-10 movies, and display items that appear in both lists:

comm -12 siskel_top10 ebert_top10

compress

compress [options] files

Compress one or more files , replacing each with the compressed file of the same name with .Z appended. If no file is specified, compress standard input. Each file specified is compressed separately. compress ignores files that are symbolic links. See also the more common commands tar , gzip , and bzip2 .

Options



-b maxbits

Limit the maximum number of bits.



-c

Write output to standard output, not to a .Z file.



-d

Decompress instead of compressing. Same as uncompress .



-f

Force generation of an output file even if one already exists.



-r

If any of the specified files is a directory, compress recursively.



-v

Print compression statistics.



-V

Print version and compilation information and then exit.

cp

cp [options] file1 file2
cp [options] files directory

Copy file1 to file2 , or copy one or more files to the same names under directory . If the destination is an existing file, the file is overwritten; if the destination is an existing directory, the file is copied into the directory (the directory is not overwritten).

Options



-a , --archive

Preserve attributes of original files where possible. The same as -dpr .



-b , --backup

Back up files that would otherwise be overwritten.



-d , --no-dereference

Do not dereference symbolic links; preserve hard-link relationships between source and copy.



-f , --force

Remove existing files in the destination.



-i , --interactive

Prompt before overwriting destination files. On most systems, this flag is turned off by default except for the root user, who is normally prompted before overwriting files.



-l , --link

Make hard links, not copies, of nondirectories.



-p , --preserve

Preserve all information, including owner, group, permissions, and timestamps.



-P , --parents

Preserve intermediate directories in source. The last argument must be the name of an existing directory. For example, the command:

cp --parents jphekman/book/ch1 newdir

copies the file jphekman/book/ch1 to the file newdir/jphekman/book/ch1 , creating intermediate directories as necessary.



-r , -R , --recursive

Copy directories recursively.



-S backup-suffix , --suffix =backup- suffix

Set suffix to be appended to backup files. This may also be set with the SIMPLE_BACKUP_SUFFIX environment variable. The default is ~. You need to explicitly include a period if you want one before the suffix (for example, specify .bak , not bak ).



-s , --symbolic-link

Make symbolic links instead of copying. Source filenames must be absolute.



--sparse =[ always | auto | never ]

Handle files that have "holes" (are defined as a certain size but have less data). always creates a sparse file, auto creates one if the input file is sparse, and never creates a non-sparse file without holes.



-u , --update

Do not copy a file to an existing destination with the same or newer modification time.



-v , --verbose

Before copying, print the name of each file.



-V type , -- version-control =type

Set the type of backups made. You may also use the VERSION_CONTROL environment variable. The default is existing . Valid arguments are:



t, numbered

Always make numbered backups.



nil, existing

Make numbered backups of files that already have them; otherwise, make simple backups.



never, simple

Always make simple backups.



-x , --one- file-system

Ignore subdirectories on other filesystems.

Example

Copy the contents of the guest directory recursively into the / archives/guest/ directory, and display a message for each file copied:

cd  /archives  && cp -av  /home/guest  guest 

cpio

cpio flags [options]

Copy file archives from or to tape or disk, or to another location on the local machine. Each of the three flags -i , -o , or -p accepts different options.

Flags



-i , --extract [ options ] [ patterns ]

Copy in (extract) from an archive files whose names match selected patterns . Each pattern can include Bourne shell filename metacharacters. (Patterns should be quoted or escaped so that they are interpreted by cpio , not by the shell.) If pattern is omitted, all files are copied in. Existing files are not overwritten by older versions from the archive unless -u is specified.



-o , --create [ options ]

Copy out to an archive a list of files whose names are given on the standard input.



-p , --pass-through [ options ] directory

Copy (pass) files to another directory on the same system. Destination pathnames are interpreted relative to the named directory .

Comparison of valid options

Options available to the -i , -o , and -p flags are shown here (the - is omitted for clarity):

i:   bcdf mnrtsuv B SVCEHMR IF
o: 0a c         vABL VC HM O F
p: 0a  d lm    uv  L V    R

Options



-0 , --null

Expect list of filenames to be terminated with null, not newline. This allows files with a newline in their names to be included.



-a , --reset-access-time

Reset access times of input files after reading them.



-A , --append

Append files to an existing archive, which must be a disk file. Specify this archive with -O or -F .



-b , --swap

Swap bytes and half-words to convert between big-endian and little-endian 32-bit integers.



-B

Block input or output using 5120 bytes per record (default is 512 bytes per record).



--blocksize= size

Set input or output block size to size x 512 bytes.



-c

Read or write header information as ASCII characters; useful when source and destination machines are different types.



-C n , --io-size =n

Like -B , but block size can be any positive integer n .



-d , --make-directories

Create directories as needed.



-E file , --pattern-file =file

Extract from the archives filenames that match patterns in file .



-f , --nonmatching

Reverse the sense of copying; copy all files except those that match patterns .



-F file , --file =file

Use file as the archive, not stdin or stdout. file can reside on another machine, if given in the form user@hostname:file (where user@ is optional).



--force-local

Assume that file (provided by -F , -I , or -O ) is a local file, even if it contains a colon (:) indicating a remote file.



-H type , --format =type

Use type format. Default for copy-out is bin ; default for copy-in is autodetection of the format. Valid formats (all caps also accepted) are:



bin

Binary.



odc

Old (POSIX.1) portable format.



newc

New (SVR4) portable format.



crc

New (SVR4) portable format with checksum added.



tar

Tar.



ustar

POSIX.1 tar (also recognizes GNU tar archives).



hpbin

HP-UX's binary (obsolete).



hpodc

HP-UX's portable format.



-I file

Read file as an input archive. May be on a remote machine (see -F ).



-k

Ignored. For backward compatibility.



-l , --link

Link files instead of copying.



-L , --dereference

Follow symbolic links.



-m , --preserve-modification-time

Retain previous file modification time.



-M msg , --message =msg

Print msg when switching media, as a prompt before switching to new media. Use variable %d in the message as a numeric ID for the next medium. -M is valid only with -I or -O .



-n , --numeric-uid-gid

When verbosely listing contents, show user ID and group ID numerically .



--no-absolute-filenames

Create all copied-in files relative to the current directory.



--no-preserve-owner

Make all copied files owned by yourself, instead of the owner of the original. Can be used only if you are a privileged user.



-O file

Archive the output to file , which may be a file on another machine (see -F ).



--only-verify-crc

For a CRC-format archive, verify the CRC of each file; don't actually copy the files in.



--quiet

Don't print the number of blocks copied.



-r

Rename files interactively.



-R [ user ][ :group ], --owner [ user ][ :group ]

Reassign file ownership and group information to the user's login ID (privileged users only).



-s , --swap-bytes

Swap bytes of each two-byte half-word.



-S , --swap-half-words

Swap half-words of each four-byte word.



--sparse

For copy-out and copy-pass, write files that have large blocks of zeros as sparse files.



-t , --list

Print a table of contents of the input (create no files). When used with the -v option, resembles output of ls -l .



-u , --unconditional

Unconditional copy; old files can overwrite new ones.



-v , --verbose

Print a list of filenames processed.



-V , --dot

Print a dot for each file read or written (this shows cpio at work without cluttering the screen).



--version

Print version number and then exit.

Examples

Generate a list of files whose names end in .old using find ; use the list as input to cpio :

find . -name "*.old" | cpio -ocBv > /dev/rst8

Restore from a tape drive all files whose names contain save (subdirectories are created if needed):

cpio -icdv "*save*" < /dev/rst8

Move a directory tree:

find . -depth | cpio -padm /mydir

cpp

cpp [options] [ifile [ofile]]

GNU C language preprocessor. cpp is normally invoked as the first pass of any C compilation by the gcc command. The output of cpp is a form acceptable as input to the next pass of the C compiler. The ifile and ofile options are, respectively, the input and output for the preprocessor; they default to standard input and standard output.

Options



-$

Do not allow $ in identifiers.



-ansi

Use 1990 ISO C standard. This is equivalent to -std=c89 .



-dD

Similar to -dM , but exclude predefined macros and include results of preprocessing.



-dM

Suppress normal output. Print series of #define s that create the macros used in the source file.



-dN

Similar to -dD , but don't print macro expansions.



-dI

Print #include directives in addition to other output.



-fpreprocessed

Treat file as already preprocessed. Skip most processing directives, remove all comments, and tokenize file.



-ftabstop= width

Set distance between tabstops so columns will be reported correctly in warnings and errors. Default is 8.



-fno-show-column

Omit column numbers in warnings and errors.



-gcc

Define _ _GNUC_ _ , _ _GNUC_MINOR_ _ , and _ _GNUC_PATCHLEVEL_ _ macros.



--help

Print usage message and exit.



-idirafter dir

Search dir for header files when a header file is not found in any of the included directories.



-imacros file

Process macros in file before processing main files.



-include file

Process file before main file.



-iprefix prefix

When adding directories with -iwithprefix , prepend prefix to the directory's name.



-isystem dir

Search dir for header files after searching directories specified with -I but before searching standard system directories.



-iwithprefix dir

Append dir to the list of directories to be searched when a header file cannot be found in the main include path. If -iprefix has been set, prepend that prefix to the directory's name.



-iwithprefixbefore dir

Insert dir at the beginning of the list of directories to be searched when a header file cannot be found in the main include path. If -iprefix has been set, prepend that prefix to the directory's name.



-lang-c , -lang-c++ , -lang-objc , -lang-objc++

Expect the source to be in C, C++, Objective C, or Objective C++, respectively.



-lint

Display all lint commands in comments as #pragma lint command .



-nostdinc

Search only specified, not standard, directories for header files.



-nostdinc++

Suppress searching of directories believed to contain C++-specific header files.



-o file

Write output to file . (Same as specifying a second filename in the command line.)



-pedantic

Warn verbosely.



-pedantic-errors

Produce a fatal error in every case in which -pedantic would have produced a warning.



-std= standard

Specify C standard of input file. Accepted values are:



iso9899:1990 , c89

1990 ISO C standard.



iso9899:199409

1994 amendment to the 1990 ISO C standard.



iso9899:1999 , c99 , iso9899:199x , c9x

1999 revised ISO C standard.



gnu89

1990 C Standard with gnu extensions. The default value.



gnu99 , gnu9x

1999 revised ISO C standard with gnu extensions.



-traditional

Behave like traditional C, not ANSI.



-trigraphs

Convert special three-letter sequences, meant to represent missing characters on some terminals, into the single character they represent.



-undef

Suppress definition of all nonstandard macros.



-v

Verbose mode.



-version

Print version number, then process file.



--version

Print version number, then exit.



-w

Don't print warnings.



-x language

Specify the language of the input file. language may be c , c++ , objective-c , or assembler-with-cpp . By default, language is deduced from the filename extension. If the extension is unrecognized, the default is c .



-A name [ =def ]

Assert name with value def as if defined by #assert . To turn off standard assertions, use -A- .



-A - name[ =def ]

Cancel assertion name with value def .



-C

Retain all comments except those found on cpp directive lines. By default, cpp strips C-style comments.



-D name [ =def ]

Define name with value def as if by a #define . If no =def is given, name is defined with value 1. -D has lower precedence than -U .



-E

Preprocess the source files, but do not compile. Print result to standard output. This option is usually passed from gcc .



-H

Print pathnames of included files, one per line, on standard error.



-I dir

Search in directory dir for #include files whose names do not begin with / before looking in directories on standard list. #include files whose names are enclosed in double quotes and do not begin with / will be searched for first in the current directory, then in directories named on -I options, and last in directories on the standard list.



-I-

Split includes. Search directories specified by -I options preceding this one for header files included with quotes ( #include "file.h" ) but not for header files included with angle brackets ( #include <file.h> ). Search directories specified by -I options following this one for all header files.



-M [ -MG ]

Suppress normal output. Print a rule for make that describes the main source file's dependencies. If -MG is specified, assume that missing header files are actually generated files, and look for them in the source file's directory.



-MF file

Print rules generated by -M or -MM to file .



-MD file

Similar to -M , but output to file ; also compile the source.



-MM

Similar to -M , but describe only those files included as a result of #include " file " .



-MMD file

Similar to -MD , but describe only the user's header files.



-MQ target

Similar to -MT , but quote any characters that are special to make .



-MT target

Specify the target to use when generating a rule for make . By default, the target is based on the name of the main input file.



-P

Preprocess input without producing line-control information used by next pass of the C compiler.



-U name

Remove any initial definition of name , where name is a reserved symbol predefined by the preprocessor, or a name defined on a -D option. Names predefined by cpp are unix and i386 (for Intel systems).



-Wall

Warn both on nested comments and trigraphs.



-Wcomment , -Wcomments

Warn when encountering the beginning of a nested comment.



-Wtraditional

Warn when encountering constructs that are interpreted differently in ANSI than in traditional C.



-Wtrigraphs

Warn when encountering trigraphs, which are three-letter sequences meant to represent missing characters on some terminals.

Special names

cpp understands various special names, some of which are:



_ _DATE_ _

Current date (e.g., Jan 10 2003).



_ _FILE_ _

Current filename (as a C string).



_ _LINE_ _

Current source line number (as a decimal integer).



_ _TIME_ _

Current time (e.g., 12:00:00).

These special names can be used anywhere , including in macros, just like any other defined names. cpp 's understanding of the line number and filename may be changed using a #line directive.

Directives

All cpp directive lines start with # in column 1. Any number of blanks and tabs is allowed between the # and the directive. The directives are:



#assert name (string)

Define a question called name , with an answer of string . Assertions can be tested with #if directives. The predefined assertions for #system , #cpu , and #machine can be used for architecture-dependent changes.



#unassert name

Remove assertion for question name .



#define name token-string

Define a macro called name , with a value of token-string . Subsequent instances of name are replaced with token-string .



#define name( arg, ... , arg ) token-string

This allows substitution of a macro with arguments. token-string will be substituted for name in the input file. Each call to name in the source file includes arguments that are plugged into the corresponding args in token-string .



#undef name

Remove definition of the macro name . No additional tokens are permitted on the directive line after name .



#ident string

Put string into the comment section of an object file.



#include " filename " , #include< filename >

Include contents of filename at this point in the program. No additional tokens are permitted on the directive line after the final " or > .



#line integer-constant " filename "

Cause cpp to generate line-control information for the next pass of the C compiler. The compiler behaves as if integer-constant is the line number of the next line of source code and filename (if present) is the name of the input file. No additional tokens are permitted on the directive line after the optional filename .



#endif

End a section of lines begun by a test directive ( #if , #ifdef , or # ifndef ). No additional tokens are permitted on the directive line.



#ifdef name

Lines following this directive and up to matching #endif or next #else or #elif will appear in the output if name is currently defined. No additional tokens are permitted on the directive line after name .



#ifndef name

Lines following this directive and up to matching #endif or next #else or #elif will appear in the output if name is not currently defined. No additional tokens are permitted on the directive line after name .



#if constant-expression

Lines following this directive and up to matching #endif or next #else or #elif will appear in the output if constant-expression evaluates to nonzero.



#elif constant-expression

An arbitrary number of #elif directives are allowed between an #if , #ifdef , or #ifndef directive and an #else or #endif directive. The lines following the #elif and up to the next #else , #elif , or #endif directive will appear in the output if the preceding test directive and all intervening #elif directives evaluate to zero, and the constant-expression evaluates to nonzero. If constant-expression evaluates to nonzero, all succeeding #elif and #else directives will be ignored.



#else

Lines following this directive and up to the matching #endif will appear in the output if the preceding test directive evaluates to zero, and all intervening #elif directives evaluate to zero. No additional tokens are permitted on the directive line.



#error

Report fatal errors.



#warning

Report warnings, but then continue processing.

crond

crond [options]

System administration command. Normally started in a system startup file. Execute commands at scheduled times, as specified in users' files in /var/spool/cron . Each file shares its name with the user who owns it. The files are controlled via the command crontab . The crond command will also read commands from the /etc/crontab file and from the /etc/cron.d/ directory. See anacron for scheduling events on systems that are frequently rebooted or powered off, such as notebook computers.

Options



-n

Run the command in the foreground.



-p

Remove security restrictions on crontab file permissions.

crontab

crontab [options] [file]

View, install, or uninstall your current crontab file. A privileged user can run crontab for another user by supplying -u user . A crontab file is a list of commands, one per line, that will execute automatically at a given time. Numbers are supplied before each command to specify the execution time. The numbers appear in five fields, as follows:

Minute      0-59
Hour        0-23
Day of month1-31
Month       1-12
                                             Jan, Feb, Mar, ...
Day of week 0-6, with 0 = Sunday
                                             Sun, Mon, Tue, ...

Use a comma between multiple values, a hyphen to indicate a range, and an asterisk to indicate all possible values. For example, assuming these crontab entries:

59 3 * * 5         find / -print | backup_program
0 0 1,15 * *       echo "Timesheets due" | mail user

the first command backs up the system files every Friday at 3:59 a.m., and the second command mails a reminder on the 1st and 15th of each month.

The superuser can always issue the crontab command. Other users must be listed in the file /etc/cron.allow if it exists; otherwise, they must not be listed in /etc/cron.deny . If neither file exists, only the superuser can issue the command.

Options

The -e , -l , and -r options are not valid if any files are specified.



-e

Edit the user's current crontab file (or create one).



-l

Display the user's crontab file on standard output.



-r

Delete the user's crontab file.



-u user

Indicate which user 's crontab file will be acted upon.

csplit

csplit [options] file arguments

Separate file into context-based sections and place sections in files named xx00 through xx n ( n < 100), breaking file at each pattern specified in arguments . See also split .

Options



-

Read from standard input.



-b suffix , --suffix-format =suffix

Append suffix to output filename. This option causes -n to be ignored. suffix must specify how to convert the binary integer to readable form by including one of the following: %d , %i , %u , %o , %x , or %X . The value of suffix determines the format for numbers as follows:



%d

Signed decimal.



%i

Same as %d .



%u

Unsigned decimal.



%o

Octal.



%x

Hexadecimal.



%X

Same as %x .



-f prefix , --prefix =prefix

Name new files prefix 00 through prefixn (default is xx00 through xx n ).



-k , --keep-files

Keep newly created files even when an error occurs (which would normally remove these files). This is useful when you need to specify an arbitrarily large repeat argument, { n } , and you don't want an out-of-range error to cause removal of the new files.



-n num , --digits =num

Use output filenames with numbers num digits long. The default is 2.



-s , -q , --silent , --quiet

Suppress all character counts.



-z , --elide-empty-files

Do not create empty output files. However, number as if those files had been created.

Arguments

Any one or a combination of the following expressions may be specified as arguments. Arguments containing blanks or other special characters should be surrounded by single quotes.



/ expr / [ offset ]

Create file from the current line up to the line containing the regular expression expr . offset should be of the form + n or - n , where n is the number of lines below or above expr .



% expr % [ offset ]

Same as / expr / , except no file is created for lines previous to line containing expr .



num

Create file from current line up to (but not including) line number num . When followed by a repeat count (number inside { } ), put the next num lines of input into another output file.



{ n }

Repeat argument n times. May follow any of the preceding arguments. Files will split at instances of expr or in blocks of num lines. If * is given instead of n , repeat argument until input is exhausted.

Examples

Create up to 20 chapter files from the file novel :

csplit -k -f chap. novel '/CHAPTER/' '{20}'

Create up to 100 address files (xx00 through xx99), each four lines long, from a database named address_list :

csplit -k address_list 4 {99}

ctags

ctags [options] files

Create a list of function and macro names defined in a programming source file . More than one file may be specified. ctags understands many programming languages, including C, C++, FORTRAN, Java, Perl, Python, flex, yacc, and bison. The output list (named tags by default) contains lines of the form:

name     file     context

where name is the function or macro name, file is the source file in which name is defined, and context is a search pattern that shows the line of code containing name . After the list of tags is created, you can invoke vi on any file and type:

:set tags= tagsfile 
:tag  name 

This switches the vi editor to the source file associated with the name listed in tagsfile (which you specify with -t ).

etags produces an equivalent file for tags to be used with Emacs.

Options



-a

Append tag output to existing list of tags.



-e

Create tag files for use with emacs .



-h extensionlist

Interpret files with filename extensions specified in extensionlist as header files. The default list is ".h.H.hh.hpp.hxx.h++.inc.def". To indicate that files without extensions should be treated as header files, insert an additional period in the list before another period or at the end of the list, or use just a period by itself. To use this option multiple times and have the specified lists ANDed together, use a plus sign as the first character in the list. To restore the default, use the word "default".



-n

Use numeric ex commands to locate tags. Same as --excmd= number .



-o file , -f file , --output =file

Write to file .



--packages-only

Include tag entries for members of structure-like constructs.



-R

Recursively read files in subdirectories of the directory given on the command line.



-u

Don't sort tag entries.



-x

Produce a tabular listing of each function, and its line number, source file, and context.



-B

Search for tags backward through files.



-I tokenlist

Specify a list of tokens to be specially handled. If tokenlist is given as a file, use ex pattern commands to locate tags. Same as --excmd=pattern .



-N

Use ex pattern commands to locate tags. Same as --excmd= pattern .



-S , --ignore-indentation

Normally ctags uses indentation to parse the tag file; this option tells ctags to rely on indentation less.



-T , -- typedefs -and-c++

Include tag entries for typedefs, structs, enums, unions, and C++ member functions.



-V , --version

Print the version number and exit.

cupsd

cupsd options

System administration command. Start the print scheduler for the Common UNIX Printing System.

Options



-c file

Use specified configuration file instead of /etc/cups/cupsd.conf .



-f

Run scheduler in foreground.



-F

Run scheduler in foreground but detach it from the controlling terminal and current directory. Sometimes used when running cupsd from init .

cut

cut options [files]

Cut out selected columns or fields from one or more files . In the following options, list is a sequence of integers. Use a comma between separate values, and a hyphen to specify a range (e.g., 1-10 , 15 , 20 or 50- ). See also paste and join .

Options



-b list , --bytes list

Specify list of positions; only bytes in these positions will be printed.



-c list , --characters list

Cut the column positions identified in list . Column numbers start with 1.



-d c , --delimiter c

Use with -f to specify field delimiter as character c (default is tab); special characters (e.g., a space) must be quoted.



-f list , --fields list

Cut the fields identified in list .



-n

Don't split multibyte characters.



-s , --only-delimited

Use with -f to suppress lines without delimiters.



--output-delimiter= string

Use string as the output delimiter. By default, the output delimiter is the same as the input delimiter.



--help

Print help message and exit.



--version

Print version information and exit.

Examples

Extract usernames and real names from /etc/passwd :

cut -d: -f1,5 /etc/passwd

Find out who is logged on, but list only login names:

who | cut -d" " -f1

Cut characters in the fourth column of file , and paste them back as the first column in the same file:

cut -c4 file | paste - file

cvs

cvs [options] cvs-command [command-options] [command-args]

CVS (Concurrent Versions System) is a version-control system. Like earlier version-control systems such as RCS, CVS tracks versions, permits the storage and retrieval of earlier versions, and allows tracking of the history of a file or an entire project. In addition, it permits multiple users on different systems across a network to work in a file simultaneously and merge their changes. All CVS commands start with cvs , followed by any global options, the command to execute, and any command options or arguments. For more information on CVS and its commands, see Chapter 1.

date

date [options] [+format] [date]

Print the current date and time. You may specify a display format . format can consist of literal text strings (blanks must be quoted) as well as field descriptors, whose values will appear as described in the following entries (the listing shows some logical groupings). A privileged user can change the system's date and time.

Options



+ format

Display current date in a nonstandard format. For example:

$date +"%A %j %n%k %p"
Tuesday 248
15 PM

The default is %a %b %e %T %Z %Y (e.g., Tue Sep 5 14:59:37 EDT 2005).



-d date , --date date

Display date , which should be in quotes and may be in the format d days or m months d days , to print a date in the future. Specify ago to print a date in the past. You may include formatting (see the following section).



-f datefile , --file =datefile

Like -d , but printed once for each line of datefile .



-I [ timespec ], --iso-8601 [ =timespec ]

Display in ISO-8601 format. If specified, timespec can have one of the following values: date (for date only), hours , minutes , or seconds to get the indicated precision.



-r file , --reference =file

Display the time file was last modified.



-R , --rfc-822

Display the date in RFC 822 format.



--help

Print help message and exit.



--version

Print version information and exit.



-s date , --set date

Set the date.



-u , --universal

Set the date to Greenwich Mean Time, not local time.

Format

The exact result of many of these codes is locale-specific and depends upon your language setting, particularly the LANG environment variable. See locale .



%

Literal % .



- (hyphen)

Do not pad fields (default: pad fields with zeros).



_ ( underscore )

Pad fields with space (default: zeros).



%a

Abbreviated weekday.



%b

Abbreviated month name.



%c

Country-specific date and time format.



%d

Day of month (01-31).



%h

Same as %b .



%j

Julian day of year (001-366).



%k

Hour in 24-hour format, without leading zeros (0-23).



%l

Hour in 12-hour format, without leading zeros (1-12).



%m

Month of year (01-12).



%n

Insert a new line.



%p

String to indicate a.m. or p.m.



%r

Time in %I:%M:%S %p (12-hour) format.



%s

Seconds since "the Epoch ," which is 1970-01-01 00:00:00 UTC (a nonstandard extension).



%t

Insert a tab.



%w

Day of week (Sunday = 0).



%x

Country-specific date format based on locale.



%y

Last two digits of year (00-99).



%z

RFC 822-style numeric time zone.



%A

Full weekday.



%B

Full month name.



%D

Date in %m/%d/%y format.



%H

Hour in 24-hour format (00-23).



%I

Hour in 12-hour format (01-12).



%M

Minutes (00-59).



%S

Seconds (00-59).



%T

Time in %H:%M:%S format.



%U

Week number in year (00-53); start week on Sunday.



%V

Week number in year (01-52); start week on Monday.



%W

Week number in year (00-53); start week on Monday.



%X

Country-specific time format based on locale.



%Y

Four-digit year (e.g., 2006).



%Z

Time-zone name.

Strings for setting date

Strings for setting the date may be numeric or nonnumeric. Numeric strings consist of time , day , and year in the format MMDDhhmm[[CC]YY][.ss] . Nonnumeric strings may include month strings, time zones, a.m., and p.m.



time

A two-digit hour and two-digit minute ( hhmm ); hh uses 24-hour format.



day

A two-digit month and two-digit day of month ( MMDD ); default is current day and month.



year

The year specified as either the full four-digit century and year or just the two-digit year; the default is the current year.

Examples

Set the date to July 1 ( 0701 ), 4 a.m. ( 0400 ), 2005 ( 05 ):

date 0701040095

The command:

date +"Hello%t Date is %D %n%t Time is %T"

produces a formatted date as follows:

Hello     Date is 05/09/05
     Time is 17:53:39

dd

dd options

Make a copy of an input file ( if ) using the specified conditions, and send the results to the output file (or standard output if of is not specified). Any number of options can be supplied, although if and of are the most common and are usually specified first. Because dd can handle arbitrary block sizes, it is useful when converting between raw physical devices.

Options



bs= n

Set input and output block size to n bytes; this option overrides ibs and obs .



cbs= n

Set the size of the conversion buffer (logical record length) to n bytes. Use only if the conversion flag is ascii , ebcdic , ibm , block , or unblock .



conv= flags

Convert the input according to one or more (comma-separated) flags listed next. The first five flags are mutually exclusive.



ascii

EBCDIC to ASCII.



ebcdic

ASCII to EBCDIC.



ibm

ASCII to EBCDIC with IBM conventions.



block

Variable-length records (i.e., those terminated by a newline) to fixed-length records.



unblock

Fixed-length records to variable-length records.



lcase

Uppercase to lowercase.



ucase

Lowercase to uppercase.



noerror

Continue processing after read errors.



notrunc

Don't truncate output file.



swab

Swap each pair of input bytes.



sync

Pad input blocks to ibs with trailing zeros.



count= n

Copy only n input blocks.



ibs= n

Set input block size to n bytes (default is 512).



if= file

Read input from file (default is standard input).



obs= n

Set output block size to n bytes (default is 512).



of= file

Write output to file (default is standard output).



seek= n

Skip n output- sized blocks from start of output file.



skip= n

Skip n input-sized blocks from start of input file.



--help

Print help message and then exit.



--version

Print the version number and then exit.

You can multiply size values ( n ) by a factor of 1024, 512, or 2 by appending the letter k , b , or w , respectively. You can use the letter x as a multiplication operator between two numbers.

Examples

Convert an input file to all lowercase:

dd if=caps_file of=small_file conv=lcase

Retrieve variable-length data and write it as fixed-length to out :

[data_retrieval_cmd ] | dd of=out conv=sync,block 

deallocvt

deallocvt N

Deallocate and destroy the unused virtual console /dev/ttyN . Multiple consoles may be named with additional spaces and integers: deallocvt 1 4 will deallocate the /dev/tty1 and /dev/tty4 consoles. Consoles are considered unused if they are not in the foreground, have no open processes, and have no selected text. The command will not destroy consoles that are still active.

debugfs

debugfs [[option] device]

System administration command. Provide direct access to data structure of an ext2 or ext3 filesystem in order to debug problems with the device. device is the special file corresponding to the device containing the filesystem (e.g., /dev/hda3 ). debugfs may be used on a mounted filesystem device.

Option



-b blocksize

Use the specified blocksize for the filesystem.



-c

Catastrophic mode. Open the filesystem in read-only mode; do not read the inode and group bitmaps initially.



-f file

Read commands from file . Exit when done executing commands.



-i

Specify filesystem device is an ext2 image file created by e2image .



-s block

Read the superblock from the specified block .



-w

Open the filesystem in read-write mode.



-R request

Execute the given request (see list below) then exit.



-V

Print version number, then exit.

Requests



bmap file logicalblock

Given the logicalblock of inode file , print the corresponding physical block.



cat file

Dump the contents of an inode to standard output.



cd directory

Change the current working directory to directory .



chroot directory

Change the root directory to be the specified inode.



close

Close the currently open filesystem.



clri file

Clear the contents of the inode corresponding to file .



dump [ -p ] file out_file

Dump the contents of inode file to out_file . Change ownership and permissions of out_file to match file if -p is specified.



expand_dir directory

Expand directory .



feature [[ - ] feature ]

Set filesystem feature listed on the command line, then print current feature settings. Use - to clear a feature .



find_free_block [[ n ] goal ]

Find and allocate first n free blocks starting from goal (if specified).



find_free_inode [ dir [ mode ]]

Find a free inode and allocate it.



freeb block [ n ]

Free n blocks beginning from block . Default is 1 block.



freei file

Free the inode corresponding to file .



help

Print a list of commands understood by debugfs .



icheck block

Do block-to-inode translation.



imap file

Print the location of the inode data structure for file .



init_filesys device blocksize

Create an ext2 filesystem on device .



kill_file file

Remove file and deallocate its blocks.



lcd directory

Change current working directory on native filesystem.



ln source_file dest_file

Create a link.



logdump [ -acs ] [ -b block ] [ -i inode ] [ -f journal_file ] [ out_file ]

Print the ext3 journal contents to screen or to the specified out_file . Prints the superblock journal by default. Specify other journal information by block or inode . You can also specify a journal_file containing journal data. Use -a to print the contents of descriptor blocks. Use -b to print records referring to a specified block. Use -c to print the hexadecimal and ASCII contents of blocks referenced by the logdump.



ls [ -l ] [ -d ] [ pathname ]

Emulate the ls command. Use -l for verbose format and -d to list deleted entries.



modify_inode file

Modify the contents of the inode corresponding to file .



mkdir directory

Make directory .



mknod file [ p |[[ c | b ] major minor ]]

Create a special device file.



ncheck inode

Do inode-to-name translation.



open [ -b blocksize] [ -c ] [ -f ] [ -i ] [ -w ] [ -s block] device

Open a filesystem. The options are identical to options for debugfs .



pwd

Print the current working directory.



quit

Quit debugfs .



rdump directory dest_directory

Recursively dump directory and its contents to dest_directory on the native filesystem.



rm file

Remove file .



rmdir directory

Remove directory .



setb block [ n ]

Mark n blocks as allocated, beginning from block . Default is 1 block.



seti file

Mark in use the inode corresponding to file .



set_super_value [ -l ] field value

Set superblock field to value . Use -l to print a list of valid fields.



show_super_stats [ -h ]

List the contents of the superblock and block group descriptors. Use -h to list only the superblock contents.



stat file

Dump the contents of the inode corresponding to file .



testb block [ n ]

Print whether each of n blocks is in use, beginning with block . By default, just check the specified block .



testi file

Test whether the inode corresponding to file is marked as allocated.



unlink file

Remove a link.



write source_file file

Create a file in the filesystem named file , and copy the contents of source_file into the destination file.

depmod

depmod [options] modules

System administration command. Create a dependency file for the modules given on the command line. This dependency file can be used by modprobe to automatically load the relevant modules . The normal use of depmod is to include the line /sbin/depmod -a in one of the files in /etc/rc.d so that the correct module dependencies will be available after booting the system.

Options



-a , --all

Create dependencies for all modules listed in /etc/modules.conf .



-b dir , -- basedir dir

Specify a base directory to use instead of /lib/modules .



-e , --errsyms

Print a list of all unresolved symbols.



-d

Debug mode. Show all commands being issued.



-h , --help

Print help message, then exit.



-n , --show

Write dependency file to standard output.



-q , --quiet

Don't display error messages about missing symbols.



-r , --root

Allow root to load modules not owned by root.



-s , --syslog

Write error messages to the syslog daemon instead of to standard error.



-v

Print a list of all processed modules.



-A , --quick

Check timestamps and update the dependency file if anything has changed.



-C file , --config file

Use the specified configuration file instead of /etc/modules.conf . May also be set using the MODULECONF environment variable.



-F file , --kernelsyms file

Use the specified kernel symbol file to build dependencies. Usually this is either a copy of a system's System.map file or the output of /proc/ksyms .



-V , --version

Print version number.

Files



/etc/modules.conf

Information about modules: which ones depend on others, and which directories correspond to particular types of modules.



/sbin/insmod , /sbin/rmmod

Programs that depmod relies on.

devdump

devdump isoimage

Interactively display the contents of the device or filesystem image isoimage . devdump displays the first 256 bytes of the first 2048-byte sector and waits for commands. The prompt shows the extent number (zone) and offset within the extent, and the contents display at the top of the screen.

Commands



+

Search forward for the next instance of the search string.



a

Search backward within the image.



b

Search forward within the image.



f

Prompt for a new search string.



g

Prompt for a new starting block and go there.



q

Exit.

df

df [options] [name]

Report the amount of free disk space available on all mounted filesystems or on the given name . ( df cannot report on unmounted filesystems.) Disk space is shown in 1 KB blocks (default) or 512-byte blocks (if the environment variable POSIXLY_CORRECT is set). name can be a device name (e.g., /dev/hd* ), the directory name of a mounting point (e.g., /usr ), or a directory name (in which case df reports on the entire filesystem in which that directory is mounted).

Options



-a , --all

Include empty filesystems (those with 0 blocks).



--block-size= n

Show space as n -byte blocks.



-h , -- human-readable

Print sizes in a format friendly to human readers (e.g., 1.9G instead of 1967156).



-H , --si

Like -h , but show as power of 1000 rather than 1024.



-i , --inodes

Report free, used, and percent-used inodes.



-k , --kilobytes

Print sizes in kilobytes.



-l , --local

Show local filesystems only.



-m , --megabytes

Print sizes in megabytes.



--no-sync

Show results without invoking sync first (i.e., without flushing the buffers). This is the default.



-P , --portability

Use POSIX output format (i.e., print information about each filesystem on exactly one line).



--sync

Invoke sync (flush buffers) before getting and showing sizes.



-t type , --type =type

Show only type filesystems.



-T , --print-type

Print the type of each filesystem in addition to the sizes.



-x type , --exclude-type =type

Show only filesystems that are not of type type .



--help

Print help message and then exit.



--version

Print the version and then exit.

diff

diff [options] [diroptions] file1 file2

Compare two text files. diff reports lines that differ between file1 and file2 . Output consists of lines of context from each file, with file1 text flagged by a < symbol and file2 text by a > symbol. Context lines are preceded by the ed command ( a , c , or d ) that would be used to convert file1 to file2 . If one of the files is - , standard input is read. If one of the files is a directory, diff locates the filename in that directory corresponding to the other argument (e.g., diff my_dir junk is the same as diff my_dir/junk junk ). If both arguments are directories, diff reports lines that differ between all pairs of files having equivalent names (e.g., olddir/program and newdir/program ); in addition, diff lists filenames unique to one directory, as well as subdirectories common to both. See also cmp .

Options



-a , --text

Treat all files as text files. Useful for checking to see if binary files are identical.



-b , --ignore-space-change

Ignore repeating blanks and end-of-line blanks; treat successive blanks as one.



-B , --ignore-blank-lines

Ignore blank lines in files.



-c

Context diff : print 3 lines surrounding each changed line.



-C n , --context [ =n ]

Context diff : print n lines surrounding each changed line. The default context is 3 lines.



-d , --minimal

To speed up comparison, ignore segments of numerous changes and output a smaller set of changes.



-D symbol , --ifdef =symbol

When handling C files, create an output file that contains all the contents of both input files, including #ifdef and #ifndef directives that reflect the directives in both files.



-e , --ed

Produce a script of commands ( a , c , d ) to re-create file2 from file1 using the ed editor.



-F regexp , --show-function-line [ =regexp ]

For context and unified diff , show the most recent line containing regexp before each block of changed lines.



-H

Speed output of large files by scanning for scattered small changes; long stretches with many changes may not show up.



--help

Print brief usage message.



--horizon-lines= n

In an attempt to find a more compact listing, keep n lines on both sides of the changed lines when performing the comparison.



-i , --ignore-case

Ignore case in text comparison. Uppercase and lowercase are considered the same.



-I regexp , --ignore-matching-lines =regexp

Ignore lines in files that match the regular expression regexp .



-l , -- paginate

Paginate output by passing it to pr .



-L label , --label label , --label =label

For context and unified diff , print label in place of the filename being compared. The first such option applies to the first filename and the second option to the second filename.



--left-column

For two-column output ( -y ), show only left column of common lines.



-n , --rcs

Produce output in RCS diff format.



-N , --new-file

Treat nonexistent files as empty.



-p , --show-c-function

When handling files in C or C-like languages such as Java, show the function containing each block of changed lines. Assumes -c , but can also be used with a unified diff .



-P , --unidirectional-new-file

If two directories are being compared and the first lacks a file that is in the second, pretend that an empty file of that name exists in the first directory.



-q , --brief

Output only whether files differ.



-r , --recursive

Compare subdirectories recursively.



-s , --report-identical-files

Indicate when files do not differ.



-S filename , --starting-file =filename

For directory comparisons, begin with the file filename , skipping files that come earlier in the standard list order.



--suppress-common-lines

For two-column output ( -y ), do not show common lines.



-t , --expand-tabs

Produce output with tabs expanded to spaces.



-T , --initial-tab

Insert initial tabs into output to line up tabs properly.



-u

Unified diff : print old and new versions of lines in a single block, with 3 lines surrounding each block of changed lines.



-U n , --unified [ =n ]

Unified diff : print old and new versions of lines in a single block, with n lines surrounding each block of changed lines. The default context is 3 lines.



-v , --version

Print version number of this version of diff .



-w , --ignore-all-space

Ignore all whitespace in files for comparisons.



-W n , --width =n

For two-column output ( -y ), produce columns with a maximum width of n characters. Default is 130.



-x regexp , --exclude =regexp

Do not compare files in a directory whose names match regexp .



-X filename , --exclude-from =filename

Do not compare files in a directory whose names match patterns described in the file filename .



-y , --side-by-side

Produce two-column output.



- n

For context and unified diff , print n lines of context. Same as specifying a number with -C or -U .

diff3

diff3 [options] file1 file2 file3

Compare three files and report the differences. No more than one of the files may be given as - (indicating that it is to be read from standard input). The output is displayed with the following codes:



= = = =

All three files differ.



= = = =1

file1 is different.



= = = =2

file2 is different.



= = = =3

file3 is different.

diff3 is also designed to merge changes in two differing files based on a common ancestor file (i.e., when two people have made their own set of changes to the same file). diff3 can find changes between the ancestor and one of the newer files and generate output that adds those differences to the other new file. Unmerged changes occur where both of the newer files differ from each other and at least one of them differs from the ancestor. Changes from the ancestor that are the same in both of the newer files are called merged changes . If all three files differ in the same place, it is called an overlapping change .

This scheme is used on the command line, with the ancestor being file2 , the second filename. Comparison is made between file2 and file3 , with those differences then applied to file1 .

Options



-3 , --easy-only

Create an ed script to incorporate into file1 unmerged, nonoverlapping differences between file1 and file3 .



-a , --text

Treat files as text.



-A , --show-all

Create an ed script to incorporate all changes, showing conflicts in bracketed format.



-e , --ed

Create an ed script to incorporate into file1 all unmerged differences between file2 and file3 .



-E , --show-overlap

Create an ed script to incorporate unmerged changes, showing conflicts in bracketed format.



-x , --overlap-only

Create an ed script to incorporate into file1 all differences where all three files differ (overlapping changes).



-X

Same as -x , but show only overlapping changes, in bracketed format.



-m , --merge

Create file with changes merged (not an ed script).



-L label , --label =label

Use label to replace filename in output.



-i

Append the w (save) and q (quit) commands to ed script output.



-T , --initial-tab

To line tabs up properly in output, begin lines with a tab instead of two spaces.



-v , --version

Print version information and then exit.

dig

dig [@server] [options] [name] [type] [class] [query-options]
dig @server name type
dig -h

The dig command is used to query DNS servers; it is more flexible than the deprecated nslookup command. When invoked with just the -h option, it displays a list of options for the command. If you use it without any options or arguments, it will search for the root server. The standard arguments are:



server

The server to query. If no server is supplied, dig will check the nameservers listed in /etc/resolv.conf . The address may be an IPv4 dotted address or an IPv6 colon-delimited address. It may also be a hostname, which dig will resolve (through the nameservers in /etc/resolv.conf ).



name

The domain name to look up.



type

The type of query to perform, such as A , ANY , MX , SIG , and so forth. The default is A , but you may use any valid BIND9 query type.

Options

You may use the following option flags with dig :



-b address

Set the source IP address for the query.



-c class

Set the class of query. The default value is IN (internet), but you can choose HS for Hesiod or CH for CHAOSNET.



-f filename

Operate in batch mode, performing the queries in the file you specify.



-p portnumber

Choose the port number for the query. The default value is the standard DNS port, 53.



-t type

Set the type of query, as with the query argument. The default value is A , but you may use any valid BIND9 query.



-x addr

Use the -x flag for reverse lookups, specifying an IPv4 or IPv6 address. You do not need the name, class, or type arguments if you use the -x flag.



-k filename

Specify a TSIG keyfile ; used for signed transactions. You can also use the -y key, although this is less secure.



-y keyname : keyvalue

Enter the actual key name and value when conducting a signed transaction. Because the key and value can be seen in the output of ps , this is not recommended for use on multiuser systems; use -k instead.

Query options

There are a large number of query options for dig . Each query option is preceded by + , and many have an opposite version beginning with no . For example, the tcp flag is passed as +tcp , and negated with +notcp . Because there are so many options, only a few are discussed here. For greater detail, see the dig manpage.



+tcp , +notcp

Use (or do not use) the TCP protocol instead of the default UDP.



+domain >=searchdomain

Perform a search in the domain specified; this is equivalent to using the +search option and having "searchdomain" as the sole entry in the search list or domain directive of /etc/resolv.conf .



+search , +nosearch

Use (or do not use) the search list provided in /etc/resolv.conf . The default is not to use the search list.



+time =t

Timeout for queries, in seconds. The default is 5, and the minimum is 1.



+ tries =n

The number of times to retry UDP queries. The default is 3, and the minimum is 1.

dir

dir [options] [file]

List directory contents. dir is equivalent to the command ls -C -b (list files in columns, sorted vertically, special characters escaped), and it takes the same arguments as ls . This is an alternate invocation of the ls command and is provided for the convenience of those converting from Microsoft Windows and the DOS shell.

dircolors

dircolors [options] [file]

Set the color options for ls by changing the LS_COLORS environment variable. If you specify a file, dircolors will read it to determine which colors to use. Otherwise, it will use a default set of colors.

Options

The program takes three options in addition to the standard --help and --version flags:



-p , --print-database

Display the default colors. You can copy this information into a file and change it to suit your preferences, and then run the program with the file as its argument to set the colors to your new values.



-c , --csh , --c-shell

Use csh (C shell) syntax when setting the LS_COLORS variable.



-b , --sh , --bourne-shell

Use the Bourne shell syntax when setting the LS_COLORS variable.

dirname

dirname pathname

Print pathname , excluding the last level. Useful for stripping the actual filename from a pathname. If there are no slashes (no directory levels) in pathname , dirname prints . to indicate the current directory. See also basename .

disable

disable [options] destination

Disables access to a printer. Equivalent to reject .

Options



-c

Cancel all jobs on the destination printer.



-r [ reason ]

Enter a reason for your action. If this is left blank, the message is set to "Reason Unknown."

dlpsh

dlpsh [-p port]

Desktop Link Protocol (DLP) shell. Connects to a PalmOS device on the specified port to execute DLP commands. Within the shell, adding the --help flag to any command displays additional help about that command.

Commands



user

Display or set username, ID, PCID, and ViewerID.



ls

List files. As in Bash and other shells, the -l option displays a long-format list, and the -r option shows a short list. No other flags are supported.



df

Display the amount of free memory (RAM and ROM) on the device. Accepts no flags or arguments.



time

Set the PalmOS device time to the current desktop time.



rm

Delete a file. There is no undelete process.



quit

Exit the shell.

dmesg

dmesg [options]

System administration command. Display the system control messages from the kernel ring buffer. This buffer stores all messages since the last system boot, or the most recent ones if the buffer has been filled.

Options



-c

Clear buffer after printing messages.



-n level

Set the level of system message that will display on console.



-s buffersize

Specify buffersize of kernel ring buffer. This is useful if you have changed the kernel default.

dnsdomainname

dnsdomainname

TCP/IP command. Print the system's DNS domain name. See also hostname .

dnssec-keygen

dnssec-keygen [options] domain-name

System administration command. Generate encrypted Secure DNS (DNSSEC) or Transaction Signatures (TSIG) keys for domain-name . When the key is completed, dnssec-keygen prints the key identifier to standard output and creates public and private keyfiles whose names are based on the key identifier and the filename extensions .key and .private . It creates both files even when using an asymmetric algorithm, such as HMAC-MD5. For more information on Secure DNS, see DNS and BIND (O'Reilly), or read RFC 2535.

Options



-a algorithm

Specify the cryptographic algorithm to use. Accepted values are RSAMD5 , RSA , DSA , DH , or HMAC-MD5 . DSA or RSA should be used for Secure DNS, and HMAC-MD5 for TSIG.



-b bitsize

Specify the key bitsize . Accepted values depend on the encryption algorithm used, but, in general, a larger key size means stronger encryption. 128 bits is usually considered reasonably secure, and 512 quite good.



-c class

The domain record for which the key is being generated should contain class . When this option is not given, a class of IN is assumed.



-e

Use a large exponent when generating an RSA key.



-g generator

Specify the number to use as a generator when creating a DH (Diffie Hellman) key. Accepted values are 2 and 5 .



-h

Print a help message, then exit.



-n type

The owner of the key must be of the specified type . Accepted values are ZONE , HOST , ENTITY , or USER .



-p protocol

Specify the protocol value for the generated key. Accepted values are given in RFC 2535 and other DNS Security RFCs. By default, the value is either 2 (email) or 3 (DNSSEC).



-r device

Specify the device to use as a source of randomness when creating keys. This can be a device file, a file containing random data, or the string keyboard to specify keyboard input. By default, /dev/random will be used when available, and keyboard input will be used when it is not.



-s type

Specify whether the key can be used for authentication, confirmation, both, or neither. Accepted values for type are AUTHCONF , NOAUTHCONF , NOAUTH , or NOCONF .

dnssec-makekeyset

dnssec-makekeyset [options] key-identifiers

System administration command. Generate a domain keyset from one or more DNS Security keys generated by dnssec-keygen . Keysets can be sent to parent zone administrators to be signed with the zone key. The keyset is written to a file with the name keyset - domainname . For more information on Secure DNS, see DNS and BIND (O'Reilly), or read RFC 2535.

Options



-a

Verify all generated signatures.



-e end-time

Specify the date and time the records will expire. The end-time may be specified in yyyymmddhhmmss notation, or as + n seconds from the start-time . The default is 30 days from start-time .



-h

Print help message, then exit.



-p

Use pseudo-random data to sign the zone key.



-r device

Specify the device to use as a source of randomness when creating keys. This can be a device file, a file containing random data, or the string keyboard to specify keyboard input. By default, /dev/random will be used when available, and keyboard input will be used when it is not.



-s start-time

Specify the date and time the records become valid. The end-time may be specified in yyyymmddhhmmss notation, or as + n seconds from the current time. The default is the current time.



-t ttl

Specify the TTL (time to live) in seconds for the KEY and SIG records. Default is 3600 seconds.

dnssec-signkey

dnssec-signkey [options] keyset key-identifiers

System administration command. Sign a secure DNS keyset with the key signatures specified in the list of key-identifiers . A zone administrator would use this command to sign a child zone's keyset with the parent zone's keys. For more information on Secure DNS, see DNS and BIND (O'Reilly), or read RFC 2535.

Options



-a

Verify generated signatures.



-c class

Specify the DNS class of the keyset.



-e end-time

Specify the date and time the records will expire. The end-time may be specified in yyyymmddhhmmss notation, or as + n seconds from the start-time . The default is 30 days from start-time .



-h

Print help message, then exit.



-p

Use pseudo-random data to sign the zone key.



-r device

Specify the device to use as a source of randomness when creating keys. This can be a device file, a file containing random data, or the string keyboard to specify keyboard input. By default, /dev/random will be used when available, and keyboard input will be used when it is not.



-s start-time

Specify the date and time the records become valid. The end-time may be specified in yyyymmddhhmmss notation, or given as + n seconds from the current time. The default is the current time.

dnssec-signzone

dnssec-signzone [options] zonefile [key-identifiers]

System administration command. Sign a secure DNS zonefile with the signatures in the specified list of key-identifiers . If signed keysets associated with the zone are found in the current directory, include their signatures in the signed zone file. The dnssec-signzone command writes the signed zone information to a file named db- domainname . signed . This file should be referenced in a zone statement in a named.conf file. For more information on Secure DNS, see DNS and BIND (O'Reilly), or read RFC 2535.

Options



-a

Verify generated signatures.



-c class

Specify the DNS class of the keyset.



-d directory

Search directory for signed keyfiles.



-e end-time

Specify the date and time the records will expire. The end-time may be specified in yyyymmddhhmmss notation, or given as + n seconds from the start-time . The default is 30 days from start-time .



-f file

Write output to the specified file instead of the default output file.



-h

Print help message, then exit.



-i days

When signing a previously signed zone, replace any records due to expire within the specified number of days . The default is one quarter of the number of days between the signature's start-time and end-time .



-n threads

Specify the number of threads to use when signing the zone file. The default is one for each detected CPU.



-o origin

Specify the zone origin . The name of the zone file is the default origin.



-p

Use pseudo-random data to sign the zone key.



-r device

Specify the device to use as a source of randomness when creating keys. This can be a device file, a file containing random data, or the string keyboard to specify keyboard input. By default, /dev/random will be used when available, and keyboard input will be used when it is not.



-s start-time

Specify the date and time the records become valid. The end-time may be specified in yyyymmddhhmmss notation, or given as + n seconds from the current time. The default is the current time.



-t

Print statistics when complete.

doexec

doexec /path/to/command [argv[0]] ... [argv[n]]

Execute the specified command with the specified options and arguments. Differs from the normal exec command in that argv [0] may be completely arbitrary, and in that it passes all options to the executable being run.

domainname

domainname [name]

NFS/NIS command. Set or display name of current NIS domain. With no argument, domainname displays the name of the current NIS domain. Only a privileged user can set the domain name by giving an argument; this is usually done in a startup script.

dosfsck

dosfsck [options] device
fsck.msdos [options] device

System administration command. Similar to fsck , but specifically intended for MS-DOS filesystems. When checking an MS-DOS filesystem, fsck calls this command. Normally dosfsck stores all changes in memory, then writes them when checks are complete.

Options



-a

Automatically repair the system; do not prompt the user.



-d file

Drop the named file from the file allocation table. Force checking, even if kernel has already marked the filesystem as valid. dosfsck will normally exit without checking if the system appears to be clean.



-f

Save unused cluster chains to files.



-l

List pathnames of files being processed.



-r

Repair the system, prompting user for advice.



-t

Mark unreadable clusters as bad.



-u file

Attempt to undelete the named file.



-v

Verbose mode.



-w

Write changes to disk immediately.



-y

When queried, answer "yes."



-A

Filesystem is an Atari version of MS-DOS.



-V

Repeat test to verify all errors have been corrected.

du

du [options] [directories]

Print disk usage (as the number of 1 KB blocks used by each named directory and its subdirectories; default is the current directory).

Options



-a , --all

Print disk usage for all files, not just subdirectories.



-b , --bytes

Print sizes in bytes.



-c , --total

In addition to normal output, print grand total of all arguments.



-D , --dereference-args

Follow symbolic links, but only if they are command-line arguments.



-h , --human-readable

Print sizes in human-readable format.



-H , --si

Like -h , but show as power of 1000 rather than 1024.



-k , --kilobytes

Print sizes in kilobytes (this is the default).



-l , --count-links

Count the size of all files, whether or not they have already appeared (i.e., via a hard link).



-L , --dereference

Follow symbolic links.



--exclude =pattern

Exclude files that match pattern .



--max-depth =num

Report sizes for directories only down to num levels below the starting point (which is level 0).



-m , --megabytes

Print sizes in megabytes.



-s , --summarize

Print only the grand total for each named directory.



-S , --separate-dirs

Do not include the sizes of subdirectories when totaling the size of parent directories.



-x , --one-file-system

Display usage of files in current filesystem only.



-X , --exclude-from =file

Exclude files that match any pattern in file .



--help

Print help message and then exit.



--version

Print the version and then exit.

dump

dump [options] files

System administration command. This simple backup utility accesses ext2 and ext3 file devices directly, quickly backing up files without affecting file access times. files may be specified as a mount point or as a list of files and directories to back up. While you can use this on a mounted system, dump may write corrupted information to the backup when the kernel has written only part of its cached information. Dump maintains a record of which files it has saved in /etc/dumpdates , and will perform incremental backups after creating an initial full backup. Use the restore command to restore a dump backup.

Options



-a

Write until end-of-media. Default behavior when writing to tape drives.



-A file

Create a table of contents for the archive in the specified file.



-b blocksize

Block size in kilobytes to use in dumped records. By default, it is 10, or 32 when dumping to a tape with a density greater than 6250BPI.



-B blocks

Specify number of blocks to write per volume.



-c

Treat target as a 1700- foot -long cartridge tape drive with 8000 bpi. Override end-of-media detection.



-d density

Specify tape density.



-D file

Write dump information to file instead of /etc/dumpdates .



-E file

Exclude inodes specified in file .



-f files

Write backup volumes to the specified files or devices. Use - to write to standard output. Separate multiple files with a comma. Use host:file or user@host :file to write to a networked host using either the rmt program or the program specified by the RMT environment variable.



-F script

Run script at the end of each volume other than the last. dump will pass the current device and volume number to the script. The script should return 0 to continue, 1 to prompt for a new tape, or any other exit value to abort the dump. The script will run with the processes real user and group ID.



-i inodes

Specify a comma-separated list of inodes to skip.



-I n

Ignore the first n read errors. dump ignores 32 read errors by default. Specify 0 to ignore all errors. You may need to do this when dumping a mounted filesystem.



-j [ level ]

Compress each block using the bzlib library at the specified compression level . By default dump uses level 2 compression.



-k

Use Kerberos authentication when writing to a remote system.



-L label

Write the specified volume label into the dump header.



-m

Save only metadata when backing up changed but not modified files.



-M

Create a multivolume backup. Treat any filename provided with -f as a prefix.



-n

Use wall to notify members of group operator when prompting for information.



-q

Abort the backup instead of prompting for information when operator input is required.



-Q file

Create Quick Access information in the specified file for use by restore .



-s n

Write only n feet of tape in a single volume. Prompt for a new tape upon reaching this limit.



-S

Calculate and print the amount of space required to perform the backup, then exit.



-T date

Only back up files changed or modified since date . This overrides the time given in /etc/dumpdates .



-u

Update /etc/dumpdates after completing the backup.



-v

Print verbose information about the dump.



-W

Generate a report on the backup status of all filesystems based on information in /etc/dumpdates and /etc/fstab .



-W

Generate a report of filesystems that need to be backed up. Only report on filesystems listed in /etc/fstab and /etc/mtab that need to be backed up.



-y

Compress each block using the lzo library.



-z [ level ]

Compress each block using the zlib library. If provided, use the specified compression level . The default is 2.

dumpe2fs

dumpe2fs device

System administration command. Print information about device 's superblock and blocks group.

Options



-b

List blocks marked as bad.



-f

Force display of filesystems with unknown feature flags.



-h

Display superblock information only.



-i

Specify device is an image file created by e2image .



-ob superblock

Specify location of the superblock.



-oB blocksize

Specify blocksize to use when examining filesystem.



-x

Print block numbers in hexadecimal.



-V

Print version number and exit.

dumpkeys

dumpkeys [options]

Print information about the keyboard driver's translation tables to standard output. Further information is available in the manual pages under keymaps (5).

Options



-1 , --separate-lines

Print one line for each modifier/ keycode pair, and prefix plain to each unmodified keycode.



-c charset , --charset =charset

Specify character set with which to interpret character code values. The default character set is iso-8859-1 . The full list of valid character sets is available with the --help option.



--compose-only

Print compose key combinations only. Requires compose key support in the kernel.



-f , --full-table

Output in canonical, not short, form: for each key, print a row with modifier combinations divided into columns.



--funcs-only

Print function-key string definitions only; do not print key bindings or string definitions.



-h , --help

Print help message and the version.



-i , --short-info

Print in short-info format, including information about acceptable keycode keywords in the keytable files; the number of actions that can be bound to a key; a list of the ranges of action codes (the values to the right of a key definition); and the number of function keys that the kernel supports.



--keys-only

Print key bindings only; do not print string definitions.



-l , --long-info

Print the same information as in --short-info , plus a list of the supported action symbols and their numeric values.



-n , --numeric

Print action code values in hexadecimal notation; do not attempt to convert them to symbolic notation.



-S num , --shape =num

Print using num to determine table shape. Values of num are:



0

Default.



1

Same as --full-table .



2

Same as --separate-lines .



3

One line for each keycode up to the first hole, then one line per modifier/keycode pair.

e2fsck

e2fsck [options] device
fsck.ext2 [options] device

System administration command. Checks and repairs a disk, as does fsck , but specifically designed for ext2 (Linux Second Extended) and ext3 (Third Extended, a journaling version of ext2) filesystems. fsck actually uses this command when checking ext2 and ext3 filesystems. Most often used after a sudden shutdown, such as from a power outage , or when damage to the disk is suspected.

Options



-b superblock

Use superblock instead of the default superblock.



-c

Find bad blocks using the badblocks command. Specify this option twice to perform the scan with a nondestructive read-write test.



-d

Debugging mode.



-f

Force checking, even if kernel has already marked the filesystem as valid. e2fsck will normally exit without checking if the system appears to be clean.



-j file

Use the specified external journal file .



-k

Preserve all previously marked bad blocks when using the -c option.



-l file

Consult file for a list of bad blocks, in addition to checking for others.



-n

Ensure that no changes are made to the filesystem. When queried, answer "no."



-p

"Preen." Repair all bad blocks noninteractively.



-s

Byte-swap the filesystem if necessary to standard (little-endian) byte-order.



-t

Display timing statistics.



-v

Verbose.



-y

When queried, answer "yes."



-B size

Expect to find the superblock at size ; if it's not there, exit.



-C filedescriptor

Write completion information to the specified filedescriptor . If 0 , print a completion bar.



-D

Optimize directories by reindexing, sorting, and compressing them where possible.



-F

Flush buffer caches before checking.



-L file

Consult file for list of bad blocks instead of checking filesystem for them.



-S

Byte-swap the filesystem.

e2image

e2image [option] device file

System administration command. Store disaster recovery data for ext2 filesystem on device to image file file . Weekly filesystem images can be an important part of a disaster recovery plan.

Option



-r

Create a raw image file that can be checked and debugged using filesystem utilities such as e2fsck or debugfs . Raw images are created as sparse files. Either compress the image file before moving it, or use the - -sparse=always option when copying it with cp .



--sparse =[ always | auto | never ]

Handle files that have "holes" (are defined as a certain size, but have less data). always creates a sparse file, auto creates one if the input file is sparse, and never creates a non-sparse file without holes.

e2label

e2label device [label]

System administration command. Display the filesystem label on an ext2 filesystem device . Change filesystem label to label if specified.

echo

echo [options] [string]

Send (echo) the input string to standard output. This is the /bin/echo command. echo also exists as a command built into bash . The following character sequences have special meanings:



\a

Alert (bell).



\b

Backspace.



\c

Suppress trailing newline.



\f

Form feed.



\n

Newline.



\r

Carriage return.



\t

Horizontal tab.



\v

Vertical tab.



\\

Literal backslash.



\ nnn

The octal character whose ASCII code is nnn .

Options



-e

Enable character sequences with special meaning. (In some versions, this option is not required in order to make the sequences work.)



-E

Disable character sequences with special meaning.



-n

Suppress printing of newline after text.



--help

Print help message and then exit.



--version

Print version information and then exit.

Examples

/bin/echo "testing printer" | lp
/bin/echo "TITLE" > file ; cat doc1 doc2 >> file
/bin/echo "Warning: ringing bell \a"

edquota

edquota [options] [name]

System administration command. Edit filesystem quotas using a text editor. When edits are complete, edquota writes the new information to the binary quota files. Uses the editor specified in the EDITOR environment variable, or vi by default.

Options



-f filesystem

Only apply changes to the specified filesystem .



-F format

Specify filesystem quota format to use. See quota for a list of accepted values.



-g

Edit group quotas.



-p prototype

Apply the same settings as used for the specified user or group: prototype .



-r

Edit quotas on remote systems.



-t

Edit grace times for block and inode quotas.



-T

Edit grace times for individual user or group name .



-u

Edit user quotas. (This is the default.)

egrep

egrep [options] [regexp] [files]

Search one or more files for lines that match an extended regular expression regexp . egrep doesn't support the regular expressions \(, \), \ n , \<, \>, \{, or \}, but it does support the other expressions, as well as the extended set + , ? , | , and ( ). Remember to enclose these characters in quotes. Regular expressions are described in Chapter 7. Exit status is 0 if any lines match, 1 if none match, and 2 for errors.

See grep for the list of available options. Also see fgrep .

Examples

Search for occurrences of Victor or Victoria in file :

egrep 'Victor(ia)*'  file 
egrep '(Victor|Victoria)'  file 

Find and print strings such as old.doc1 or new.doc2 in files , and include their line numbers:

egrep -n '(old|new)\.doc?'  files 

eject

eject [options] [device]

Eject removable media such as a CD-ROM, floppy, tape, or JAZ or ZIP disk. You may name the device by its /dev or /mnt filename. The /dev and /mnt prefixes are optional for any items in the /dev and /mnt directories. If no device is named, it is assumed that "cdrom" should be ejected.

Options

The eject command takes the following option flags:



-h

Display help information.



-v , --verbose

Verbose mode: display additional information about actions.



-d , --default

List the default device name rather than doing anything.



-a , --auto on|1|off|0

Set the auto-eject mode to on or off (equivalent to 1 or 0 , respectively). If auto-eject mode is on, the device is ejected when closed or unmounted.



-c , --changerslot slotnumber

If using a CD-ROM changer, select a CD from one of the slots. Slots are enumerated starting with 0, and the CD-ROM drive must not be playing music or mounted to read data.



-t , --trayclose

Close the CD-ROM drive. Not all drives will respond to this command.



-x , --cdspeed speed

Set the speed multiplier for the CD-ROM to an integer, usually a power of 2. Not all devices support this command. Setting the speed to 0 indicates that the drive should operate at its maximum speed.



-n , --noop

Do not perform any actions; merely display the actions that would be performed.



-r , --cdrom

Use CD-ROM commands to eject the drive. Normally, the system will try all methods (CD-ROM, SCSI, floppy, tape) to eject.



-s , --scsi

Use SCSI commands to eject the drive. Normally, the system will try all methods (CD-ROM, SCSI, floppy, tape) to eject.



-f , --floppy

Use floppy commands to eject the drive. Normally, the system will try all methods (CD-ROM, SCSI, floppy, tape) to eject.



-q , --tape

Use tape commands to eject the drive. Normally, the system will try all methods (CD-ROM, SCSI, floppy, tape) to eject.



-p , --proc

Use the mounted files listed in /proc/mounts rather than in /etc/mtab .



-V , --version

Display version information, then quit.

elvtune

elvtune [options] devices

System administration command. Set the latency in the elevator algorithm used to schedule I/O activities for the specified block devices . If no options are given, print the current settings for devices .

Options



-b n

Set the maximum coalescing factor allowed on writes when reads are pending to n .



-h

Print help message, then exit.



-r n

Set the maximum read latency (basically, the number of sectors to read before writes are allowed) to n . The default is 8192.



-v

Print version number, then exit.



-w n

Set the maximum write latency (sectors to write before allowing a read) to n . The default is 16384.

emacs

emacs [options] [files]

A text editor and all-purpose work environment. For more information, see Chapter 8.

enable

enable -E [destination]

Enable printers or printer classes. Part of the CUPS system. More often invoked as accept .

env

env [option] [variable=value ... ] [command]

Display the current environment or, if an environment variable is specified, set it to a new value and display the modified environment. If command is specified, execute it under the modified environment.

Options



- , -i , --ignore-environment

Ignore current environment entirely.



-u name , --unset name

Unset the specified variable.



--help

Print help message and then exit.



--version

Print version information and then exit.

envsubst

envsubst [options] [shell-format]

Substitutes environment variables in a shell string or script. When used with no options, copies stdin to stdout, replacing any environment variable string, such as $ VARIABLE or ${ VARIABLE }, with the appropriate environment variable value. So, "My editor is $EDITOR" would be converted to "My editor is /usr/bin/emacs." Specifying a shell format limits the substitutions to those variables referenced in the shell format.

Options



-h , --help

Print help message and then exit.



-V , --version

Print version information and then exit.



-v , --variables

Display the variables referenced in the shell format, and then exit.

esd

esd [options]

Start the Enlightened Sound Daemon, also called EsounD, a sound-mixing daemon that allows multiple applications to access a single audio device at one time.

Options



-d devicename

Use the specified device devicename . Some common sound devices are /dev/dsp and /dev/dsp2 .



-b

Play eight-bit sound.



-r rate

Specify the sample rate for the server.



-as n

After n seconds of inactivity, release the audio device. Set to -1 for "never."



-unix

Use UNIX domain sockets. Default is TCP/IP.



-tcp

Use TCP/IP sockets. This is the default.



-public

Allow remote systems to access the daemon over TCP/IP.



-promiscuous

Disable authentication. Not recommended.



-terminate

When last client exits, quit.



-nobeeps

Do not beep when starting.



-beeps

Beep when starting.



-trust

Allow esd to start even if the /tmp/.esd directory may be insecure .



-port n

Listen on TCP/IP port n .



-bind address

Bind to the TCP/IP address specified.



-v, --version

Print version information and quit.

esd-config

esd-config [options]

Determine the compiler and linker flags that should be used when compiling applications that need to use EsounD.

Options



--cflags

Display the compiler flags that should be used.



--exec-prefix=[ directory ]

Determine compiler and linker flags using the specified execution prefix, instead of the one EsounD provides. This option must come before the --libs and --cflags options.



--libs

Display linker flags used to link applications to EsounD.



--prefix=[ directory ]

Determine compiler and linker flags using the specified installation prefix instead of the one EsounD provides. This option must come before the --libs and --cflags options.



--version

Display the version of esd .

esdcat

esdcat [options]< file

Send audio data from the specified file (usually a pipe) to a sound device using the Enlightened Sound Daemon.

Options



-s servername

Hostname of the server where esd is running. The default is localhost.



-b

Output eight-bit sound.



-m

Output monophonic sound.



-r rate

Specify the sample rate of the output.

esdctl

esdctl [options] command

Control program for the Enlightened Sound Daemon.

Options



-s servername:port

Hostname of the server where esd is running (default is localhost). Port number is optional.

Commands



lock

Allow only local clients to access the daemon.



unlock

Allow remote clients to access the daemon.



standby, off

Stop sound output.



resume, on

Start sound output.



cache sample

Cache the specified sample in the daemon's memory.



getid name

Retrieve the named sample from the memory.



free name

Free the named sample.



play name

Play the named sample.



loop name

Loop the named sample.



stop name

Stop an ongoing loop at the end of the next cycle.



serverinfo

Get server information.



allinfo

Get all available information from server: server, player, sample information.



panstream id left right set

Pan for a stream.



pansample id left right set

Pan for a sample. Default left and right values are scaled to 256.



standbymode

Check whether the server is in standby mode.

esddsp

esddsp [options]player args

Reroute non- esd audio data through esd . This permits you to control all the audio on the system using only esd .

Options



-s, --server =servername : port

Host name of the server where esd is running. The default is localhost.



-h, --help

Show help message.



-m, --mixer

Use esd as a mixer.



-n, --name =player

Specify name of player.



-v, --verbose

Verbose output: show parameters.



--mmap

Use memory-mapping emulation. Good for memory- intensive applications such as 3-D games.

esdmon

esdmon [options]file

Duplicate the sound being sent to the sound device, and send it to a secondary location as well. The file argument specifies where the output stream should go; default is stdout.

Options



-s servername:port

Set the EsounD server to be used.



-b

Eight bit output.



-m

Monophonic output.



-r rate

Set the output sample rate.

esdplay

esdplay [options]file

Play the file through the EsounD system.

Options



-s , --server =servername :port

Set the EsounD server that will play the audio.



-h , --help

Set the EsounD server that will play the audio.



-v , --version

Display version information and quit.

esdrec

esdrec [options]< file

Record audio to the specified file.

Options



-s servername:port

Set the EsounD server to be used.



-b

Eight bit output.



-m

Monophonic output.



-r rate

Set the output sample rate.

esdsample

esdsample [options]< file

Sample audio using esd .

Options



-s servername:port

Set the EsounD server to be used.



-b

Eight bit output.



-m

Monophonic output.



-r

Set the sample rate in bits per second.



-d

Set the duration of the sample in seconds.

etags

etags [options] files

Create a list of function and macro names defined in a programming source file . etags generates tags for use by emacs . ( ctags produces an equivalent tags file for use with vi .) More than one file may be specified. etags understands many programming languages, including C, C++, FORTRAN, Java, Perl, Python, flex , yacc , and bison . The output list (named TAGS by default) contains lines of the form:

name     file     context

where name is the function or macro name, file is the source file in which name is defined, and context is a search pattern that shows the line of code containing name . After the list of tags is created, you can invoke Emacs on any file and type:

M-x visit-tags-table

You will be prompted for the name of the tag table; the default is TAGS . To switch to the source file associated with the name listed in tagsfile , type:

M-x find-tag

You will be prompted for the tag you would like Emacs to search for.

Options



-a , --append

Append tag output to existing list of tags.



-d , --defines

Include tag entries for C preprocessor definitions.



-i file , --include =file

Add a note to the tags file that file should be consulted in addition to the normal input file.



-l language , --language =language

Consider the files that follow this option to be written in language . Use the -h option for a list of languages and their default filename extensions.



-o file , --output =file

Write to file .



-r regexp , --regex =regexp

Include a tag for each line that matches regexp in the files following this option.



-C , --c++

Expect .c and .h files to contain C++, not C, code.



-D , --no-defines

Do not include tag entries for C preprocessor definitions.



-H , -h , --help

Print usage information.



-R , --noregex

Do not include tags based on regular-expression matching for the files that follow this option.



-S , --ignore-indentation

Normally, etags uses indentation to parse the tag file; this option tells it to rely on it less.



-V , --version

Print the version number.

ex

ex [options] file

An interactive command-based editor. For more information, see Chapter 9.

expand

expand [options] [files]

Convert tabs in given files (or standard input, if the file is named -) to appropriate number of spaces; write results to standard output.

Options



-tabs, -t tabs, --tabs tabs

tabs is a comma-separated list of integers that specify the placement of tab stops. If exactly one integer is provided, the tab stops are set to every integer spaces. By default, tab stops are eight spaces apart. With -t and --tabs , the list may be separated by whitespace instead of commas.



-i , --initial

Convert tabs only at the beginning of lines.



--help

Print help message and then exit.



--version

Print version information and then exit.

expr

expr arg1 operator arg2 [ operator arg3 ... ]

Evaluate arguments as expressions and print the results. Arguments and operators must be separated by spaces. In most cases, an argument is an integer, typed literally or represented by a shell variable. There are three types of operators: arithmetic, relational, and logical, as well as keyword expressions. Exit status for expr is 0 (expression is nonzero and nonnull), 1 (expression is 0 or null), or 2 (expression is invalid).

Arithmetic operators

Use these to produce mathematical expressions whose results are printed:



+

Add arg2 to arg1 .



-

Subtract arg2 from arg1 .



*

Multiply the arguments.



/

Divide arg1 by arg2 .



%

Take the remainder when arg1 is divided by arg2 .

Addition and subtraction are evaluated last, unless they are grouped inside parentheses. The symbols *, ( , and ) have meaning to the shell, so they must be escaped (preceded by a backslash or enclosed in single quotes).

Relational operators

Use these to compare two arguments. Arguments can also be words, in which case comparisons are defined by the locale. If the comparison statement is true, the result is 1; if false, the result is 0. Symbols > and < must be escaped.



=, ==

Are the arguments equal?



!=

Are the arguments different?



>

Is arg1 greater than arg2 ?



>=

Is arg1 greater than or equal to arg2 ?



<

Is arg1 less than arg2 ?



<=

Is arg1 less than or equal to arg2 ?

Logical operators

Use these to compare two arguments. Depending on the values, the result can be arg1 (or some portion of it), arg2 , or 0. Symbols | and & must be escaped.



|

Logical OR; if arg1 has a nonzero (and nonnull) value, the result is arg1 ; otherwise, the result is arg2 .



&

Logical AND; if both arg1 and arg2 have a nonzero (and nonnull) value, the result is arg1 ; otherwise, the result is 0.



:

Like grep ; arg2 is a pattern to search for in arg1 . arg2 must be a regular expression. If part of the arg2 pattern is enclosed in \( \) (escaped parentheses), the result is the portion of arg1 that matches; otherwise, the result is simply the number of characters that match. By default, a pattern match always applies to the beginning of the first argument (the search string implicitly begins with a ^ ). Start the search string with .* to match other parts of the string.

Keywords



index string character-list

Return the first position in string that matches the first possible character listed in character-list . Continue through character-list until a match is found, or return 0.



length string

Return the length of string .



match string regex

Same as string : regex .



quote token

Treat token as a string, even if it would normally be a keyword or an operator.



substr string start length

Return a section of string , beginning with start , with a maximum length of length characters. Return null when given a negative or nonnumeric start or length .

Examples

Division happens first; result is 10:

expr 5 + 10 / 2

Addition happens first; result is 7 (truncated from 7.5):

expr \( 5 + 10 \) / 2

Add 1 to variable i . This is how variables are incremented in shell scripts:

i=`expr $i + 1`

Print 1 (true) if variable a is the string "hello":

expr $a = hello

Print 1 (true) if b plus 5 equals 10 or more:

expr $b + 5 \>= 10

Find the 5th, 6th, and 7th letters of the word character :

expr substr character 5 3

In the examples that follow, variable p is the string "version.100". This command prints the number of characters in p :

expr $p : '.*'     Result is 11

Match all characters and print them:

expr $p : '\(.*\)'    Result is "version.100"

Print the number of lowercase letters at the beginning of p :

expr $p : '[a-z]*'    Result is 7

Match the lowercase letters at the beginning of p :

expr $p : '\([a-z]*\)'     Result is "version"

Truncate $x if it contains five or more characters; if not, just print $x . (Logical OR uses the second argument when the first one is 0 or null, i.e., when the match fails.)

expr $x : '\(.....\)' \| $x

In a shell script, rename files to their first five letters:

mv $x `expr $x : '\(.....\)' \| $x`

(To avoid overwriting files with similar names, use mv -i.)

factor

factor [options] n

Calculate and display the prime factors of number n . If n is not specified, numbers are read from stdin, separated by commas, spaces, or tabs. This may take a very long time for numbers that are the product of two primes.

Options



--help

Display help information.



--version

Display version information.

Example:

user@systemname:~> factor 60
60: 2, 2, 3 5

false

false

A null command that returns an unsuccessful (nonzero) exit status. Normally used in bash scripts. See also true .

fc-cache

fc-cache [options] [dirs]

Create font information caches for fontconfig system. This enables applications that use fontconfig to load fonts more rapidly . If no directory is specified, the current font configuration directories are used. Only fonts readable by FreeType are cached.

Options



-f , --force

Regenerate cache files, even if they seem to be up to date.



-s , --system-only

Scan directories of fonts for the whole system, not the fonts in the user's home directory.



-v , --verbose

Verbose mode: display status information during operation.



-V , --version

Display version information.



-? , --help

Display help information.

fc-list

fc-list [options] [pattern] [element]

Part of the fontconfig system. Lists available fonts and font styles. The first argument will limit listed fonts to those matching the pattern, and the second displays the listed font attribute or element. To set the element argument without setting a pattern, use the : character to match all fonts. For example, fc-list : family will display all available fonts, with their font family information.

Options



-v , --verbose

Verbose mode: display status information during operation.



-? , --help

Display help message



-V , --version

Display version information and quit.

fdformat

fdformat [option] device

Low-level format of a floppy disk. The device for a standard format is usually /dev/fd0 or /dev/fd1 .

Option



-n

Do not verify format after completion.

fdisk

fdisk [options] [device]

System administration command. fdisk displays information about disk partitions, creates and deletes disk partitions, and changes the active partition. It is possible to assign a different operating system to each of the four possible primary partitions, though only one partition is active at any given time. You can also divide a physical partition into several logical partitions. The minimum recommended size for a Linux system partition is 40 MB. Normally, each device will be /dev/hda , /dev/hdb , /dev/sda , /dev/sdb , /dev/hdc , /dev/hdd , and so on. An interactive, menu-driven mode is also available. Note that this command can be destructive if used improperly.

Options



-b sectorsize

Set the size of individual disk sectors. May be 512, 1024, or 2048. Most systems now recognize sector sizes, so this is not necessary.



-l

List partition tables and exit.



-u

Report partition sizes in sectors instead of cylinders.



-s partition

Display the size of partition , unless it is a DOS partition.



-v

Print version number, then exit.



-C cylinders

Specify the number of cylinders on the disk.



-H heads

Specify the number of heads per cylinder.



-S sectors

Specify sectors per track for partitioning.

Commands



a

Toggle a bootable flag on current partition.



b

Edit disklabel of a BSD partition.



c

Toggle DOS compatibility flag.



d

Delete current partition.



l

List all partition types.



m

Main menu.



n

Create a new partition; prompt for more information.



o

Create an empty DOS partition table.



p

Print a list of all partitions and information about each.



q

Quit; do not save.



t

Replace the type of the current partition.



u

Modify the display/entry units, which must be cylinders or sectors.



v

Verify: check for errors, and display a summary of the number of unallocated sectors.



w

Save changes and exit.



x

Switch to expert commands.

Example

To list all partitions currently on the system:

fdisk -l

fetchmail

fetchmail [options] [servers...]

System administration command. Retrieve mail from mail servers and forward it to the local mail delivery system. fetchmail retrieves mail from servers that support the common mail protocols POP2, POP3, IMAP2bis, and IMAP4. Messages are delivered via SMTP through port 25 on the local host and through your system's mail delivery agent (such as sendmail ), where they can be read through the user's mail client. fetchmail settings are stored in the ~/.fetchmailrc file. Parameters and servers can also be set on the command line, which will override settings in the .fetchmailrc file. fetchmail is compatible with the popclient program, and users can use both without having to adjust file settings.

Options



-a , --all

Retrieve all messages from server, even ones that have already been seen but are left on the server. The default is to retrieve only new messages.



--auth type

Specify an authentication type. type can be: password , kerberos_v5 , kerberos , gssapi , cram-md5 , otp , ntlm , ssh , or any . When using the default value, any , fetchmail will use the highest authentication available. In decreasing order of security, types are gssapi , kerberos , cram , x-otp , ntlm , and login . Using ssh suppresses authentication. Use ssh when using an end-to-end secure connection.



-b n , --batchlimit n

Set the maximum number of messages sent to an SMTP listener per connection. When this limit is reached, the connection will be broken and reestablished. The default of 0 means no limit.



-bsmtp file

Append fetched mail to the specified batched sendmail (BSMTP) file . If file is -, send to standard output.



-B n , --fetchlimit n

Set the maximum number of messages ( n ) accepted from a server per query.



-c , --check

Check for mail on a single server without retrieving or deleting messages. Works with IMAP, and is partially functional for POP3 systems, but not POP2 systems.



-d n, --daemon n

Detach from current process and run as a daemon, fetching mail every n seconds. A user may run only one fetchmail daemon process. See option --quit .



-D [ domain ] , --smtpaddress [ domain ]

Specify the domain name placed in RCPT TO lines sent to SMTP. The default is the local host.



-e n, --expunge n

Tell an IMAP server to EXPUNGE (i.e., purge messages marked for deletion) after n deletes. A setting of 0 indicates expunging only at the end of the session. Normally, an expunge occurs after each delete.



-E header, --envelope header

Change the header assumed to contain the mail's envelope address (usually "X-Envelope-to:") to header .



-f file, --fetchmailrc file

Specify a nondefault name for the fetchmail configuration file.



--fetchdomains hosts

Specify the domains to which mail should be sent when operating in ETRN or ODMR mode.



-F , --flush

For POP3 and IMAP servers, remove previously retrieved messages from the server before retrieving new ones.



-i file, --idfile file

Store POP3 UIDs in file instead of the default .fetchids file.



--invisible

Suppress Received header and spoof the MTA so it looks like mail comes directly from the mailserver host.



-I specification, --interface specification

Require that the mail server machine is up and running at a specified IP address (or range) before polling. The specification is given as interface/ipaddress/mask . The first part indicates the type of TCP connection expected ( sl0 , ppp0 , etc.), the second is the IP address, and the third is the bit mask for the IP, assumed to be 255.255.255.255.



-k , --keep

Keep copies of all retrieved messages on the mail server.



-K , --nokeep

Delete all retrieved messages from the mail server.



-l size, --limit size

Set the maximum message size that will be retrieved from a server. Messages larger than this size will be left on the server and marked unread.



-lmtp

Deliver fetched mail via LMTP instead of SMTP. The server, specified with the -S option, must explicitly include the port to be used.



-L file, --logfile file

Redirect status messages to the specified file . This option is primarily for use in debugging. See the --syslog option.



-m command, --mda command

Pass mail directly to mail delivery agent instead of sending to port 25. The command is the path and options for the mailer, such as /usr/lib/sendmail -oem . A %T in the command will be replaced with the local delivery address, and an %F will be replaced with the message's From address.



-M interface, --monitor interface

In daemon mode, monitor the specified TCP/IP interface for any activity besides itself, and skip the poll if there is no other activity. Useful for PPP connections that automatically time out with no activity.



-n , --norewrite

Do not expand local mail IDs to full addresses. This option will disable expected addressing and should be used only to find problems.



--nobounce

Do not bounce error messages back to the sender; send them to the postmaster instead.



--nosyslog

Turn off logging to syslogd . This option overrides resource file settings and the -L option.



-N , --nodetach

Run command in the foreground. Useful for debugging a configuration file that normally would run fetchmail as a daemon. Also causes fetchmail to ignore -L or --syslog options.



-p proto, --protocol proto

Specify the protocol to use when polling a mail server. proto can be:



AUTO

Attempt IMAP, POP3, then POP2.



POP2

Post Office Protocol 2.



POP3

Post Office Protocol 3.



APOP

POP3 with MD5 authentication.



KPOP

POP3 with Kerberos v4 authentication on port 1109.



RPOP

POP3 with RPOP authentication.



SDPS

Demon Internet's Standard Dial-up POP3 Service.



IMAP

IMAP2bis, IMAP4, or IMAP4rev1. fetchmail autodetects their capabilities.



ETRN

Extended SMTP with Extended TURN command.



ODMR

On Demand Mail Relaying.



--plugin command

Use external program to establish the TCP connection. The command is the path and options for the external program. Use escape codes %h and %p in command to pass the hostname and port as arguments to the external program. When using this command, fetchmail will write to the program's standard input and read from its standard output.



--plugout command

Same as the --plugin option, but used to establish SMTP connections.



--principal principal

Authenticate using the specified service principal . Used with POP3 or IMAP with Kerberos authentication.



--postmaster name

If unable to deliver mail, deliver it to name . Set name to "" to have undeliverable mail discarded.



-P n, --port n

Specify a port to connect to on the mail server. The default port numbers for supported protocols are usually sufficient.



-q , --quit

Kill a running daemon process before performing any other commands.



-Q string, --qvirtual string

Remove the prefix string , which is the local user's hostid, from the address in the envelope header (such as "Delivered-To:").



-r folder, --folder folder

Retrieve the specified mail folder from the mail server.



-s , --silent

Suppress status messages during a fetch.



--showdots

Always display progress dots. By default, fetchmail prints progress dots only when the current tty is standard output.



--smtpname user

Specify the user and domain name to use in RCPT TO lines sent to SMTP. user should be in the form user @ domain . By default, fetchmail uses the local user and domain.



--syslog

Redirect status and error messages to the syslog daemon.



--ssl

Encrypt connection to mail server using Secure Socket Layer.



--sslcert file

Specify the file containing the client-side public SSL certificate.



--sslkey file

Specify the file containing the client-side private SSL key.



--sslproto proto

Specify a specific SSL protocol to use. proto may be ssl2 , ssl3 , or tls1 .



--sslcertck

Fail unless the server's certificate has been signed by a local list of trusted certificates. proto may be ssl2 , ssl3 , or tls1 .



--sslcertpath directory

Specify the directory containing trusted certificates to be used with --sslcertck .



--sslfingerprint hash

Fail unless the server's key fingerprint matches the specified fingerprint hash . hash is an MD5 hash of the server's key given in hexadecimal notation, using colons to separate groups of two digits. Letter hex digits must be in uppercase.



-S hostlist, -smtphost hostlist

Attempt to forward mail to one of the SMTP hosts listed in the comma-separated hostlist . The hosts are tried in the order they are given. The host may be a domain name, IP address, or the directory path to an LMTP socket. Port numbers can be appended to domain names and IP addresses using / port notation.



-t n, --timeout n

Set the nonresponse timeout to n seconds.



--tracepolls

Add information about the account and server being polled to the Received header of each message received.



-u name, --username name

Specify the user name to use when logging into the mail server.



-U , --uidl

For POP3, track the age of kept messages via unique ID listing.



-v , --verbose

Display all status messages during a fetch.



-V , --version

Print the version information for fetchmail and display the options set for each mail server. Perform no fetch .



-w n, --warnings n

When issuing warnings about oversized messages, wait n seconds after each warning before sending another warning.



-Z nnn, --antispam nnn

Specify the SMTP error nnn to signal a spam block from the client. If nnn is -1, this option is disabled. Multiple SMTP codes may be given as a comma-separated list. By default, fetchmail discards messages with error codes 571, 550, 501, and 554.

fgconsole

fgconsole

Print the number of the current virtual console. For example, if you are using /dev/tty1 , the command would return 1.

fgrep

fgrep [options] string [files]

Search one or more files for lines that match the specified text string . Exit status is 0 if any lines match, 1 if not, and 2 for errors. fgrep is faster than normal grep searches, but less flexible: it can only find fixed text, not regular expressions.

See grep for the list of available options. Also see egrep .

Examples

Print lines in file that don't contain any spaces:

fgrep -v ' '  file 

Print lines in file that contain the words in the file spell_list :

fgrep -f spell_list  file 

file

file [options] files

Classify the named files according to the type of data they contain. file checks the magic file (usually /usr/share/magic ) to identify some file types.

Options



-b

Brief mode; do not prepend filenames to output lines.



-c

Check the format of the magic file ( files argument is invalid with -c ). Usually used with -m .



-f file

Read the names of files to be checked from file .



-L

Follow symbolic links. By default, symbolic links are not followed.



-m file

Search for file types in file instead of /usr/share/magic .



-n

Flush standard output after checking a file.



-s

Check files that are block or character special files in addition to checking ordinary files.



-v

Print the version.



-z

Attempt checking of compressed files.

Many file types are understood. Output lists each filename, followed by a brief classification such as:

ascii text
c program text
c-shell commands
data
empty
iAPX 386 executable
directory
[nt]roff, tbl, or eqn input text
shell commands
symbolic link to ../usr/etc/arp

Example

List all files that are deemed to be troff / nroff input:

file * | grep roff

find

find [pathnames] [conditions]

An extremely useful command for finding particular groups of files (numerous examples follow this description). find descends the directory tree beginning at each pathname and locates files that meet the specified conditions . The default pathname is the current directory. The most useful conditions include -name and -type (for general use), -exec and -size (for advanced use), and -mtime and -user (for administrators).

Conditions may be grouped by enclosing them in \( \) (escaped parentheses), negated with !, given as alternatives by separating them with -o , or repeated (adding restrictions to the match; usually only for -name , -type , or -perm ). Note that "modification" refers to editing of a file's contents, whereas "change" means a modification, or permission or ownership changes. In other words, - ctime is more inclusive than -atime or -mtime .

Conditions and actions



-amin + n | - n | n

Find files last accessed more than n (+ n ), less than n (- n ), or exactly n minutes ago.



-anewer file

Find files that were accessed after file was last modified. Affected by -follow when after -follow on the command line.



-atime + n | - n | n

Find files that were last accessed more than n (+ n ), less than n (- n ), or exactly n days ago. Note that find changes the access time of directories supplied as pathnames .



-cmin + n | - n | n

Find files last changed more than n (+ n ), less than n (- n ), or exactly n minutes ago.



-cnewer file

Find files that were changed after they were last modified. Affected by -follow when after -follow on the command line.



-ctime + n | - n | n

Find files that were changed more than n (+ n ), less than n (- n ), or exactly n days ago. A change is anything that changes the directory entry for the file, such as a chmod .



-daystart

Calculate times from the start of the day today, not 24 hours ago.



-depth

Descend the directory tree, skipping directories and working on actual files first, and then the parent directories. Useful when files reside in unwritable directories (e.g., when using find with cpio ).



-empty

Continue if file is empty. Applies to regular files and directories.



-exec command { } \ ;

Run the Linux command , from the starting directory on each file matched by find (provided command executes successfully on that filei.e., returns a 0 exit status). When command runs, the argument { } substitutes the current file. Follow the entire sequence with an escaped semicolon (\;). In some shells, the braces may need to be escaped as well.



-false

Return false value for each file encountered .



-follow

Follow symbolic links and track the directories visited (don't use with -type l ).



-fstype type

Match files only on type filesystems. Acceptable types include minix , ext , ext2 , xia , msdos , umsdos , vfat , proc , nfs , iso9660 , hpfs , sysv , smb , and ncpfs .



-gid num

Find files with numeric group ID of num .



-group gname

Find files belonging to group gname . gname can be a group name or a group ID number.



-ilname pattern

A case-insensitive version of -lname .



-iname pattern

A case-insensitive version of -name .



-inum n

Find files whose inode number is n .



-ipath pattern

A case-insensitive version of -path .



-iregex pattern

A case-insensitive version of -regex .



-links n

Find files having n links.



-lname pattern

Search for files that are symbolic links, pointing to files named pattern . pattern can include shell metacharacters and does not treat / or . specially. The match is case-insensitive.



-maxdepth num

Do not descend more than num levels of directories.



-mindepth num

Begin applying tests and actions only at levels deeper than num levels.



-mmin + n | - n | n

Find files last modified more than n (+ n ), less than n (- n ), or exactly n minutes ago.



-mount, -xdev

Search only for files that reside on the same filesystem as pathname .



-mtime + n | - n | n

Find files that were last modified more than n (+ n ), less than n (- n ), or exactly n days ago. A modification is a change to a file's data.



-name pattern

Find files whose names match pattern . Filename metacharacters may be used but should be escaped or quoted.



-newer file

Find files that were modified more recently than file ; similar to -mtime . Affected by -follow only if it occurs after -follow on the command line.



-nogroup

The file's group ID does not correspond to any group.



-noleaf

Normally, find assumes that each directory has at least two hard links that should be ignored (a hard link for its name and one for "."--i.e., two fewer "real" directories than its hard link count indicates). -noleaf turns off this assumption, a useful practice when find runs on non-Unix-style filesystems. This forces find to examine all entries, assuming that some might prove to be directories into which it must descend (a time- waster on Unix).



-nouser

The file's user ID does not correspond to any user.



-ok command { }\;

Same as -exec , but prompts user to respond with y before command is executed.



-path pattern

Find files whose names match pattern . Expect full pathnames relative to the starting pathname (i.e., do not treat / or . specially).



-perm nnn

Find files whose permission flags (e.g., rwx ) match octal number nnn exactly (e.g., 664 matches -rw-rw-r-- ). Use a minus sign before nnn to make a "wildcard" match of any unspecified octal digit (e.g., -perm -600 matches -rw-****** , where * can be any mode).



-print

Print the matching files and directories, using their full pathnames. Return true. This is the default behavior.



-regex pattern

Like -path , but uses grep -style regular expressions instead of the shell-like globbing used in -name and -path .



-size n[c]

Find files containing n blocks, or if c is specified, n characters long.



-type c

Find files whose type is c . c can be b ( b lock special file), c ( c haracter special file), d ( d irectory), p (fifo or named p ipe), l (symbolic l ink), s ( s ocket), or f (plain f ile).



-user user

Find files belonging to user (name or ID).

Examples

List all files (and subdirectories) in your home directory:

find $HOME -print

List all files named chapter1 in the /work directory:

find /work -name chapter1

List all files beginning with memo owned by ann :

find /work -name 'memo*' -user ann -print

Search the filesystem (begin at root) for manpage directories:

find / -type d -name 'man*' -print

Search the current directory, look for filenames that don't begin with a capital letter, and send them to the printer:

find . \! -name '[A-Z]*' -exec lpr {  }\;

Find and compress files whose names don't end with .gz :

gzip `find . \! -name '*.gz' -print`

Remove all empty files on the system (prompting first):

find / -size 0 -ok rm {  } \;

Search the system for files that were modified within the last two days (good candidates for backing up):

find / -mtime -2 -print

Recursively grep for a pattern down a directory tree:

find /book -print | xargs grep '[Nn]utshell'

If the files kt1 and kt2 exist in the current directory, their names can be printed with the command:

$ find . -name 'kt[0-9]'
./kt1
./kt2

Since the command prints these names with an initial ./ path, you need to specify the ./ when using the -path option:

$ find . -path './kt[0-9]'
./kt1
./kt2

The -regex option uses a complete pathname, like -path , but treats the following argument as a regular expression rather than a glob pattern (although in this case the result is the same):

$ find . -regex './kt[0-9]'
./kt1
./kt2

finger

finger [options] users

Display data about one or more users , including information listed in the files .plan and .project in each user's home directory. You can specify each user either as a login name (exact match) or as a first or last name (display information on all matching names). Networked environments recognize arguments of the form user@host and @host.

Options



-l

Force long format (default): everything included by the -s option, as well as home directory, home phone, login shell, mail status, .plan , .project , and .forward .



-m

Suppress matching of users' "real" names.



-p

Omit .plan and .project files from display.



-s

Show short format: login name, real name, terminal name, write status, idle time, office location, and office phone number.

fingerd

in.fingerd [options]

TCP/IP command. Remote user information server. fingerd provides a network interface to the finger program. It listens for TCP connections on the finger port and, for each connection, reads a single input line, passes the line to finger , and copies the output of finger to the user on the client machine. fingerd is started by xinetd and must have an entry in xinetd 's configuration file, /etc/xinetd.conf .

Options



-f

Allow finger forwarding in the form of user@host1@host2.



-p command , -L path

Use alternate finger program specified by command .



-l

Log finger requests.



-t n

Set timeout period to n seconds.



-u

Reject requests in the form of @host .



-w

Include a welcome banner with additional information, such as uptime and the name of the operating system.

flex

flex [options] [file]

flex (Fast Lexical Analyzer Generator) is a faster variant of lex . It generates a lexical analysis program (named lex.yy.c ) based on the regular expressions and C statements contained in one or more input files . See also bison , yacc , and the O'Reilly book lex & yacc .

Options



-b

Generate backup information to lex.backup .



-d

Debug mode.



-f

Use a faster scanner. The result is larger but faster.



-h

Help summary.



-i

Scan case-insensitively.



-l

Maximum lex compatibility.



-o file

Write output to file instead of lex.yy.c .



-p

Print performance report.



-s

Exit if the scanner encounters input that does not match any of its rules.



-t

Print to standard output. (By default, flex prints to lex.yy.c .)



-v

Print a summary of statistics.



-w

Suppress warning messages.



-B

Generate batch ( noninteractive ) scanner.



-F

Use the fast scanner table representation. This option is usually as fast as -f and often generates smaller data (although for some data sets, it generates larger data).



-I

Generate an interactive scanner (default).



-L

Suppress #line directives in lex.yy.c .



-P prefix

Change default yy prefix to prefix for all globally visible variable and function names.



-V

Print version number.



-7

Generate a 7-bit scanner.



-8

Generate an 8-bit scanner (default).



-+

Generate a C++ scanner class.



-C

Compress scanner tables but do not use equivalence classes.



-Ca

Align tables for memory access and computation. This creates larger tables but gives faster performance.



-Ce

Construct equivalence classes. This creates smaller tables and sacrifices little performance (default).



-Cf

Generate full scanner tables, not compressed.



-CF

Generate faster scanner tables, like -F .



-Cm

Construct metaequivalence classes (default).



-Cr

Bypass use of the standard I/O library; use read( ) system calls instead.

fmt

fmt [options] [files]

Convert text to specified width by filling lines and removing newlines. Concatenate files on the command line, or read text from standard input if - (or no file) is specified. By default, preserve blank lines, spacing, and indentation. fmt attempts to break lines at the end of sentences and to avoid breaking lines after a sentence 's first word or before its last.

Options



-c , --crown-margin

Crown margin mode. Do not change indentation of each paragraph's first two lines. Use the second line's indentation as the default for subsequent lines.



-p prefix , --prefix =prefix

Format only lines beginning with prefix .



-s , --split-only

Suppress line-joining.



-t , --tagged-paragraph

Tagged paragraph mode. Same as crown mode when the indentations of the first and second lines differ. If the indentation is the same, treat the first line as its own separate paragraph.



-u , --uniform-spacing

Reduce spacing to a maximum of one space between words and two between sentences.



-w width, --width =width

Set output width to width . The default is 75.



--help

Print help message and then exit.



--version

Print version information and then exit.

fold

fold [option] [files]

Break the lines of the named files so that they are no wider than the specified width. fold breaks lines exactly at the specified width, even in the middle of a word. Reads from standard input when given - as a file. By default, fold cuts at 80 columns; tab counts as multiple columns, and a backspace as negative one.

Options



-b , --bytes

Count bytes instead of columns, making tab, backspace, and return characters count as one byte instead of altering the column count, as in the default behavior.



-c , --characters

Count characters, not columns. Similar to counting by bytes.



-s , --spaces

Break at spaces only, if possible.



-w , --width width, - width

Set the maximum line width to width . The flags -w 6 , --width 6 , and -6 will all set the maximum width to six columns.

formail

formail [options]

Filter standard input into mailbox format. Useful for splitting mail digests or passing the contents of a mail file to another program, such as a spam filter, for additional processing. If no sender is apparent, provide the sender foo@bar. By default, escape bogus From lines with > .

Options



+skip

Do not split first skip messages.



-total

Stop after splitting total messages.



-a headerfield

Append headerfield to header, unless it already exists. If headerfield is Message-ID or Resent -Message-ID with no contents, generate a unique message ID.



-b

Do not escape bogus From lines.



-c

When header fields are more than one line long, concatenate the lines.



-d

Do not assume that input must be in strict mailbox format. This option disables recognition of the Content-Length field so you can split digests or use nonstandard mailbox formats.



-e

Allow messages to begin one immediately after the other; do not require empty space between them.



-f

Do not edit non-mailbox-format lines. By default, formail prepends From to such lines.



-i headerfield

Append headerfield whether or not it already exists. Rename each existing headerfield to Old - headerfield , unless it is empty.



-k

For use only with -r . Keep the body as well as the fields specified by -r .



-m minfields

Require at least this many minfields before recognizing the beginning of a new message. Default is 2.



-n

Allow simultaneous formail processes to run.



-p prefix

Escape lines with prefix instead of > .



-q

Do not display write errors, duplicate messages, and mismatched Content-Length fields. This is the default; use -q- to turn it off.



-r

Throw away all existing fields, retaining only X-Loop , and generate autoreply header instead. You can preserve particular fields with the -i option.



-s

Must be the last option; everything following it will be assumed to be its arguments. Divide input to separate mail messages, and pipe them to the program specified or concatenate them to standard output (by default).



-t

Assume sender's return address to be valid. (By default, formail favors machine-generated addresses.)



-u headerfield

Delete all but the first occurrence of headerfield .



-x headerfield

Display the contents of headerfield on a single line.



-z

When necessary, add a space between field names and contents. Remove ("zap") empty fields.



-A headerfield

Append headerfield whether or not it already exists.



-B

Assume that input is in BABYL rmail format.



-D maxlen idcache

Remember old message IDs (in idcache , which will grow no larger than approximately maxlen ). When splitting, refuse to output duplicate messages. Otherwise, return true on discovering a duplicate. With -r , look at the sender's mail address instead of the message ID.



-I headerfield

Append headerfield whether or not it already exists. Remove existing fields.



-R oldfield newfield

Change all fields named oldfield to newfield .



-U headerfield

Delete all but the last occurrence of headerfield .



-Y

Format in traditional Berkeley style (i.e., ignore Content-Length fields).



-X headerfield

Display the field name and contents of headerfield on a single line.

free

free [options]

Display statistics about memory usage: total free, used, physical, swap, shared, and buffers used by the kernel.

Options



-b

Calculate memory in bytes.



-k

Default. Calculate memory in kilobytes.



-m

Calculate memory in megabytes.



-o

Do not display "buffer adjusted" line. The -o switch disables the display "-/+ buffers" line that shows buffer memory subtracted from the amount of memory used and added to the amount of free memory.



-s time

Check memory usage every time seconds.



-t

Display all totals on one line at the bottom of output.



-V

Display version information.

fsck

fsck [options] [filesystem] ...

System administration command. Call the filesystem checker for the appropriate system type to check and repair unmounted filesystems. If a filesystem is consistent, the number of files, number of blocks used, and number of blocks free are reported. If a filesystem is inconsistent, fsck prompts before each correction is attempted. fsck 's exit code can be interpreted as the sum of all conditions that apply:



1

Errors were found and corrected.



2

Reboot suggested.



4

Errors were found but not corrected.



8

fsck encountered an operational error.



16

fsck was called incorrectly.



128

A shared library error was detected.

Options



--

Pass all subsequent options to filesystem-specific checker. All options that fsck doesn't recognize will also be passed.



-s

Serial mode. Check one filesystem at a time.



-t fstype

Specify the filesystem type. Do not check filesystems of any other type.



-A

Check all filesystems listed in /etc/fstab . The root filesystem is checked first.



-C

Display completion (progress) bar.



-N

Suppress normal execution; just display what would be done.



-P

Meaningful only with -A : check root filesystem in parallel with other systems. This option is potentially dangerous.



-R

Meaningful only with -A : check all filesystems listed in /etc/fstab except the root filesystem.



-T

Suppress printing of title.



-V

Verbose mode.

ftp

ftp [options] [hostname]

Transfer files to and from remote network site hostname . ftp prompts the user for a command. The commands are listed after the options. Some of the commands are toggles, meaning they turn on a feature when it is off and vice versa. Note that versions may have different options.

Options



-d

Enable debugging.



-g

Disable filename globbing.



-i

Turn off interactive prompting.



-n

No autologin upon initial connection.



-v

Verbose. Show all responses from remote server.

Commands



! [command [args]]

Invoke an interactive shell on the local machine. If arguments are given, the first is taken as a command to execute directly, with the rest of the arguments as that command's arguments.



$ macro-name [args]

Execute the macro macro-name that was defined with the macdef command. Arguments are passed to the macro unglobbed.



account [passwd]

Supply a supplemental password that will be required by a remote system for access to resources once a login has been successfully completed. If no argument is given, the user will be prompted for an account password in a non-echoing mode.



append local-file [remote-file]

Append a local file to a file on the remote machine. If remote-file is not given, the local filename is used after being altered by any ntrans or nmap setting. File transfer uses the current settings for type , format , mode , and structure .



ascii

Set the file transfer type to network ASCII (default).



bell

Sound a bell after each file transfer command is completed.



binary

Set file transfer type to support binary image transfer.



bye

Terminate FTP session and then exit ftp .



case

Toggle remote-computer filename case mapping during mget . The default is off. When case is on, files on the remote machine with all-uppercase names will be copied to the local machine with all-lowercase names.



cd remote-directory

Change working directory on remote machine to remote-directory .



cdup

Change working directory of remote machine to its parent directory.



chmod [mode] [remote-file]

Change file permissions of remote-file . If options are omitted, the command prompts for them.



close

Terminate FTP session and return to command interpreter.



cr

Toggle carriage-return stripping during ASCII-type file retrieval.



delete remote-file

Delete file remote-file on remote machine.



debug [debug-value]

Toggle debugging mode. If debug-value is specified, it is used to set the debugging level.



dir [remote-directory] [local-file]

Print a listing of the contents in the directory remote-directory and, optionally, place the output in local-file . If no directory is specified, the current working directory on the remote machine is used. If no local file is specified or - is given instead of the filename, output comes to the terminal.



disconnect

Synonym for close .



form format

Set the file transfer form to format . Default format is file .



get remote-file [local-file]

Retrieve the remote-file and store it on the local machine. If the local filename is not specified, it is given the same name it has on the remote machine, subject to alteration by the current case , ntrans , and nmap settings. If local file is -, output comes to the terminal.



glob

Toggle filename expansion for mdelete , mget , and mput . If globbing is turned off, the filename arguments are taken literally and not expanded.



hash

Toggle hash sign (#) printing for each data block transferred.



help [command]

Print help information for command . With no argument, ftp prints a list of commands.



idle [seconds]

Get/set idle timer on remote machine. seconds specifies the length of the idle timer; if omitted, the current idle timer is displayed.



image

Same as binary .



lcd [directory]

Change working directory on local machine. If directory is not specified, the user's home directory is used.



ls [remote-directory] [local-file]

Print listing of contents of directory on remote machine, in a format chosen by the remote machine. If remote-directory is not specified, current working directory is used.



macdef macro-name

Define a macro. Subsequent lines are stored as the macro macro-name ; a null line terminates macro input mode. When $i is included in the macro, loop through arguments, substituting the current argument for $i on each pass. Escape $ with \ .



mdelete remote-files

Delete the remote-files on the remote machine.



mdir remote-files local-file

Like dir , except multiple remote files may be specified.



mget remote-files

Expand the wildcard expression remote-files on the remote machine and do a get for each filename thus produced.



mkdir directory-name

Make a directory on the remote machine.



mls remote-files local-file

Like nlist , except multiple remote files may be specified, and the local file must be specified.



mode [mode-name]

Set file transfer mode to mode-name . Default mode is stream mode.



modtime [file-name]

Show last modification time of the file on the remote machine.



mput [local-files]

Expand wildcards in local-files given as arguments and do a put for each file in the resulting list.



newer remote-file [local-file]

Get file if remote file is newer than local file.



nlist [remote-directory] [local-file]

Print list of files in a directory on the remote machine to local-file (or to the screen if local-file is not specified). If remote-directory is unspecified, the current working directory is used.



nmap [inpattern outpattern]

Set or unset the filename mapping mechanism. The mapping follows the pattern set by inpattern , a template for incoming filenames, and outpattern , which determines the resulting mapped filename. The sequences $1 through $9 are treated as variables; for example, the inpattern $1.$2 , along with the input file readme.txt , would set $1 to readme and $2 to txt . An outpattern of $1.data would result in an output file of readme.data . $0 corresponds to the complete filename. [ string1 , string2 ] is replaced by string1 unless that string is null, in which case it's replaced by string2 .



ntrans [inchars [outchars ]]

Set or unset the filename character translation mechanism. Characters in a filename matching a character in inchars are replaced with the corresponding character in outchars . If no arguments are specified, the filename mapping mechanism is unset. If arguments are specified:

  • Characters in remote filenames are translated during mput and put commands issued without a specified remote target filename.

  • Characters in local filenames are translated during mget and get commands issued without a specified local target filename.



open host [port]

Establish a connection to the specified host FTP server. An optional port number may be supplied, in which case ftp will attempt to contact an FTP server at that port.



prompt

Toggle interactive prompting.



proxy ftp-command

Execute an FTP command on a secondary control connection (i.e., send commands to two separate remote hosts simultaneously).



put local-file [remote-file]

Store a local file on the remote machine. If remote-file is left unspecified, the local filename is used after processing according to any ntrans or nmap settings in naming the remote file. File transfer uses the current settings for type , file , structure , and transfer mode .



pwd

Print name of the current working directory on the remote machine.



quit

Synonym for bye .



quote arg1 arg2...

Send the arguments specified, verbatim, to the remote FTP server.



recv remote-file [local-file]

Synonym for get .



reget remote-file [local-file]

Retrieve a file (like get ), but restart at the end of local-file . Useful for restarting a dropped transfer.



remotehelp [command-name]

Request help from the remote FTP server. If command-name is specified, remote help for that command is returned.



remotestatus [filename]

Show status of the remote machine or, if filename is specified, of filename on remote machine.



rename [from] [to]

Rename file from on remote machine to to .



reset

Clear reply queue.



restart marker

Restart the transfer of a file from a particular byte count.



rmdir [directory-name]

Delete a directory on the remote machine.



runique

Toggle storing of files on the local system with unique filenames. When this option is on, rename files as .1 or .2 , and so on, as appropriate, to preserve unique filenames, and report each such action. Default value is off.



send local-file [remote-file]

Synonym for put .



sendport

Toggle the use of PORT commands.



site [command]

Get/set site-specific information from/on remote machine.



size filename

Return size of filename on remote machine.



status

Show current status of ftp .



struct [struct-name]

Set the file transfer structure to struct-name . By default, stream structure is used.



sunique

Toggle storing of files on remote machine under unique filenames.



system

Show type of operating system running on remote machine.



tenex

Set file transfer type to that needed to talk to TENEX machines.



trace

Toggle packet tracing.



type [type-name]

Set file transfer type to type-name . If no type is specified, the current type is printed. The default type is network ASCII.



umask [mask]

Set user file-creation mode mask on the remote site. If mask is omitted, the current value of the mask is printed.



user username [password] [account]

Identify yourself to the remote FTP server. ftp will prompt the user for the password (if not specified and the server requires it) and the account field.



verbose

Toggle verbose mode.



? [command]

Same as help .

ftpd

in.ftpd [options]

TCP/IP command. Internet File Transfer Protocol server. The server uses the TCP protocol and listens at the port specified in the ftp service specification. ftpd is usually started by xinetd and must have an entry in xinetd 's configuration file, /etc/xinetd.conf . It can also be run in standalone mode using the -p option. There are several FTP daemons available. On many Linux distributions, the default is the Kerberos-supporting DARPA version, which we document here.

Options



-a

Require authentication via ftp AUTH. Allow anonymous users as well, if configured to do so.



-A

Require authentication via ftp AUTH, but allow only users who are authorized to connect without a password. Allow anonymous users as well, if configured to do so.



-C

Require local credentials for non-anonymous users. Prompt for a password unless the user forwards credentials during authentication.



-d, -v

Write debugging information to syslogd .



-l

Log each FTP session in syslogd .



-p port

Use port as the FTP control port instead of reading the appropriate port from /etc/services . This option will launch ftpd in standalone mode.



-q

Use PID files to record the process IDs of running daemons. This is the default. These files are needed to determine the current number of users.



-r file

Read Kerberos configuration from file instead of /etc/krb5.conf .



-s file

Read Kerberos V4 authentication information from file instead of /etc/srvtab .



-t n

Set default inactivity timeout period to n seconds. (The default is 15 minutes.)



-T n

Allow ftp clients to request a different timeout period of up to n seconds. (The default is 2 hours.)



-u umask

Set the default umask to umask .



-U file

Read the list of users denied remote access from file instead of /etc/ftpusers .



-w format

Specify the format for the remote hostname passed to login . Use one of the following formats:



ip

Pass the IP address.



n[ , [ no ] striplocal ]

Pass hostnames less than n characters in length, and IP addresses for longer hostsnames. Set n to 0 to use the system default. The striplocal portion of the option determines whether or not to strip local domains from hostnames. The default is to strip them.

fuser

fuser [options] [files | filesystems]

Identifies and outputs the process IDs of processes that are using the files or local filesystems . Each process ID is followed by a letter code: c if process is using file as the current directory; e if executable; f if an open file; m if a shared library; and r if the root directory. Any user with permission to read /dev/kmem and /dev/mem can use fuser , but only a privileged user can terminate another user's process. fuser does not work on remote (NFS) files.

If more than one group of files is specified, the options may be respecified for each additional group of files. A lone dash (-) cancels the options currently in force, and the new set of options applies to the next group of files. Like a number of other administrator commands, fuser is usually installed to the /sbin directory. You may need to add that directory to your path or execute the command as /sbin/fuser .

Options



-

Return all options to defaults.



-signal

Send signal instead of SIGKILL.



-a

Display information on all specified files, even if they are not being accessed by any processes.



-i

Request user confirmation to kill a process. Ignored if -k is not also specified.



-k

Send SIGKILL signal to each process.



-l

List signal names.



-m

Expect files to exist on a mounted filesystem; include all files accessing that filesystem.



-n space

Set the namespace checked for usage. Acceptable values are file for files, udp for local UPD ports, and tcp for local TCP ports.



-s

Silent.



-u

User login name, in parentheses, also follows process ID.



-v

Verbose.



-V

Display version information.

g++

g++ [options] files

Invoke gcc with the options necessary to make it recognize C++. g++ recognizes all the file extensions gcc does, in addition to C++ source files ( .C , .cc , or .cxx files) and C++ preprocessed files ( .ii files). See also gcc .

gawk

gawk [options] 'script' [var=value...] [files]
gawk [options] -f scriptfile [var=value...] [files]

The GNU version of awk , a program that does pattern matching, record processing, and other forms of text manipulation. For more information, see Chapter 1.

gcc

gcc [options] files

GNU Compiler Collection. gcc , formerly known as the GNU C Compiler, compiles multiple languages (C, C++, Objective-C, Ada, FORTRAN, and Java) to machine code. Here we document its use to compile C, C++, or Objective-C code. gcc compiles one or more programming source files; for example, C source files ( file.c ), assembler source files ( file.s ), or preprocessed C source files ( file.i ). If the file suffix is not recognizable, assume that the file is an object file or library. gcc normally invokes the C preprocessor, compiles the process code to assemble language code, assembles it, and then links it with the link editor. This process can be stopped at one of these stages using the -c , -S , or -E option. The steps may also differ depending on the language being compiled. By default, output is placed in a.out . In some cases, gcc generates an object file having a .o suffix and a corresponding root name.

Preprocessor and linker options given on the gcc command line are passed on to these tools when they are run. These options are briefly described here, but some are more fully described under entries for cpp , as , and ld . The options that follow are divided into general, preprocessor, linker, and warning options. gcc accepts many system-specific options not covered here.

Note: gcc is the GNU form of cc ; on most Linux systems, the command cc will invoke gcc . The command g++ will invoke gcc with the appropriate options for interpreting C++.

General options



-a

Provide profile information for basic blocks.



-aux-info file

Print prototyped declarations and information on their origins to file .



-ansi

Enforce full ANSI conformance.



-b machine

Compile for use on machine type.



-c

Create linkable object file for each source file, but do not call linker.



-dumpmachine

Print compiler's default target machine, then exit.



-dumpspecs

Print built-in specification strings, then exit.



-dumpversion

Print version number, then exit.



-f option

Set the specified compiler option . Many of these control debugging, optimization of code, and special language options. Use the --help -v options for a full listing.



-g

Include debugging information for use with gdb .



-g level

Provide level amount of debugging information. level must be 1 , 2 , or 3 , with 1 providing the least amount of information. The default is 2.



--help

Print most common basic options, then exit. When used with option -v , print options for all of gcc 's subprocesses. For options specific to a target, use --target-help .



-m option

Set the specified machine specific option . Use the --target-help option for a full listing.



-o file

Specify output file as file . Default is a.out .



-p

Provide profile information for use with prof .



-pass-exit-codes

On error, return highest error code as the exit code, instead of 1.



-pedantic

Warn verbosely.



-pedantic-errors

Generate an error in every case in which -pedantic would have produced a warning.



-pg

Provide profile information for use with gprof .



-print-file-name= file

Print the full path to the library specified by filename file , then exit. This is the library gcc would use for linking.



-print-search-dirs

Print installation directory and the default list of directories gcc will search to find programs and libraries, then exit.



-pipe

Transfer information between stages of compiler by pipes instead of temporary files.



-save-temps

Save temporary files in the current directory when compiling.



-std= standard

Specify C standard of input file. Accepted values are:



iso9899:1990 , c89

1990 ISO C standard.



iso9899:199409

1994 amendment to the 1990 ISO C standard.



iso9899:1999 , c99 , iso9899:199x , c9x

1999 revised ISO C standard.



gnu89

1990 C Standard with GNU extensions (the default value).



gnu99 , gnu9x

1999 revised ISO C standard with GNU extensions.



-time

Print statistics on the execution of each subprocess.



-v

Verbose mode. Print subprocess commands to standard error as they are executed. Include gcc version number and preprocessor version number. To generate the same output without executing commands, use the option -### .



-w

Suppress warnings.



-x language

Expect input file to be written in language , which may be c , objective-c , c-header , c++ , ada , f77 , ratfor , assembler , java , cpp-output , c++-cpp-output , objc-cpp-output , f77-cpp-output , assembler-with-cpp , or ada . If none is specified as language , guess the language by filename extension.



-B path

Specify the path directory in which the compiler files are located.



-E

Preprocess the source files, but do not compile. Print result to standard output. This option is useful to meaningfully pass some cpp options that would otherwise break gcc , such as -C , -M , or -P .



-I dir

Include dir in list of directories to search for include files. If dir is - , search those directories specified by -I before the -I- only when #include " file " is specified, not #include < file > .



-L dir

Search dir in addition to standard directories.



-O [ level ]

Optimize. level should be 1 , 2 , 3 , or 0 (the default is 1). 0 turns off optimization; 3 optimizes the most.



-S

Compile source files into assembler code, but do not assemble.



-V version

Attempt to run gcc version version .



-Wa , options

Pass options to the assembler. Multiple options are separated by commas.



-Wl , options

Pass options to the linker. Multiple options are separated by commas.



-Wp , options

Pass options to the preprocessor. Multiple options are separated by commas.



-Xlinker options

Pass options to the linker. A linker option with an argument requires two -Xlinker s, the first specifying the option and the second specifying the argument. Similar to -Wl .

Preprocessor options

gcc will pass the following options to the preprocessor:



-$

Do not allow $ in identifiers.



-dD , -dI , -dM , -dN

Suppress normal output; print preprocessor instructions instead. See cpp for details.



-idirafter dir

Search dir for header files when a header file is not found in any of the included directories.



-imacros file

Process macros in file before processing main files.



-include file

Process file before main file.



-iprefix prefix

When adding directories with -iwithprefix , prepend prefix to the directory's name.



-isystem dir

Search dir for header files after searching directories specified with -I but before searching standard system directories.



-iwithprefix dir

Append dir to the list of directories to be searched when a header file cannot be found in the main include path. If -iprefix has been set, prepend that prefix to the directory's name.



-iwithprefixbefore dir

Insert dir at the beginning of the list of directories to be searched when a header file cannot be found in the main include path. If -iprefix has been set, prepend that prefix to the directory's name.



-nostdinc

Search only specified, not standard, directories for header files.



-nostdinc++

Suppress searching of directories believed to contain C++-specific header files.



-trigraphs

Convert special three-letter sequences, meant to represent missing characters on some terminals, into the single character they represent.



-undef

Suppress definition of all nonstandard macros.



-A name [ =def ]

Assert name with value def as if defined by #assert . To turn off standard assertions, use -A- .



-A - name[ =def ]

Cancel assertion name with value def .



-C

Retain all comments except those found on cpp directive lines. By default, the preprocessor strips C-style comments.



-D name[ =def ]

Define name with value def as if by #define . If no =def is given, name is defined with value 1. -D has lower precedence than -U .



-H

Print pathnames of included files, one per line, on standard error.



-M , -MG , -MF , -MD , -MMD , -MQ , -MT

Suppress normal output and print Makefile rules describing file dependencies. Print a rule for make that describes the main source file's dependencies. If -MG is specified, assume that missing header files are actually generated files, and look for them in the source file's directory. Most of these options imply -E . See cpp for further details.



-U name

Remove definition of symbol name .

Linker options

gcc will pass the following options to the linker:



-l lib

Link to lib .



-nostartfiles

Force linker to ignore standard system startup files.



-nostdlib

Suppress linking to standard library files.



-s

Remove all symbol table and relocation information from the executable.



-shared

Create a shareable object.



-shared-libgcc

Link to a shared version of libgcc if available.



-static

Suppress linking to shared libraries.



-static-libgcc

Link to a static version of libgcc if available.



-u symbol

Force the linker to search libraries for a definition of symbol and to link to the libraries found.

Warning options



-pedantic

Warn verbosely.



-pedantic-errors

Produce a fatal error in every case in which -pedantic would have produced a warning.



-w

Don't print warnings.



-W

Warn more verbosely than normal.



-Waggregate-return

Warn if any functions that return structures or unions are defined or called.



-Wall

Enable -W , -Wchar-subscripts , -Wcomment , -Wformat , -Wimplicit , -Wmain , -Wmissing-braces , -Wparentheses , -Wreturn-type , -Wsequence-point , -Wswitch , -Wtemplate-debugging , -Wtrigraphs , -Wuninitialized , -Wunknown-pragmas , -Wstrict-aliasing and -Wunused .



-Wcast-align

Warn when encountering instances in which pointers are cast to types that increase the required alignment of the target from its original definition.



-Wcast-qual

Warn when encountering instances in which pointers are cast to types that lack the type qualifier with which the pointer was originally defined.



-Wchar-subscripts

Warn when encountering arrays with subscripts of type char .



-Wcomment

Warn when encountering the beginning of a nested comment.



-Wconversion

Warn in particular cases of type conversions.



-Werror

Exit at the first error.



-Wformat

Warn about inappropriately formatted printf s and scanf s.



-Wimplicit

Warn when encountering implicit function or parameter declarations.



-Winline

Warn about illegal inline functions.



-Wmain

Warn about malformed main functions.



-Wmissing-braces

Enable more verbose warnings about omitted braces.



-Wmissing-declarations

Warn if a global function is defined without a previous declaration.



-Wmissing- prototypes

Warn when encountering global function definitions without previous prototype declarations.



-Wnested-externs

Warn if an extern declaration is encountered within a function.



-Wno-import

Don't warn about use of #import .



-Wparentheses

Enable more verbose warnings about omitted parentheses.



-Wpointer- arith

Warn when encountering code that attempts to determine the size of a function or void.



-Wredundant-decls

Warn if anything is declared more than once in the same scope.



-Wreturn-type

Warn about violations of sequence point rules defined in the C standard.



-Wreturn-type

Warn about functions defined without return types or with improper return types.



-Wshadow

Warn when a local variable shadows another local variable.



-Wstrict-prototypes

Insist that argument types be specified in function declarations and definitions.



-Wswitch

Warn about switches that skip the index for one of their enumerated types.



-Wtraditional

Warn when encountering code that produces different results in ANSI C and traditional C.



-Wtrigraphs

Warn when encountering trigraphs.



-Wuninitialized

Warn when encountering uninitialized automatic variables.



-Wundef

Warn when encountering a nonmacro identifier in an #if directive.



-Wunknown-pragmas

Warn when encountering a #pragma directive not understood by gcc .



-Wunused

Warn about unused variables, functions, labels, and parameters.

Pragma directives



#pragma interface [ header-file ]

Used in header files to force object files to provide definition information via references instead of including it locally in each file. C++-specific.



#pragma implementation [ header-file ]

Used in main input files to force generation of full output from header-file (or, if it is not specified, from the header file with the same basename as the file containing the pragma directive). This information will be globally visible. Normally the specified header file contains a #pragma interface directive.

gdb

gdb [options] [program [core|pid]]

GDB (GNU DeBugger) allows you to step through the execution of a program in order to find the point at which it breaks. It fully supports C and C++, and provides partial support for FORTRAN, Java, Chill, assembly, and Modula -2. The program to be debugged is normally specified on the command line; you can also specify a core or, if you want to investigate a running program, a process ID.

Options



-b bps

Set line speed of serial device used by GDB to bps .



-batch

Exit after executing all the commands specified in . gdbinit and -x files. Print no startup messages.



-c file , -core =file

Consult file for information provided by a core dump.



-cd= directory

Use directory as gdb 's working directory.



-d directory , -directory =directory

Include directory in path that is searched for source files.



-e file , -exec =file

Use file as an executable to be read in conjunction with source code. May be used in conjunction with -s to read the symbol table from the executable.



-f , - fullname

Show full filename and line number for each stack frame.



-h , -help

Print help message, then exit.



-n , -nx

Ignore .gdbinit file.



-q , -quiet

Suppress introductory and copyright messages.



-s file , -symbols =file

Consult file for symbol table. With -e , also uses file as the executable.



-tty =device

Set standard in and standard out to device .



-write

Allow gdb to write into executables and core files.



-x file , -command =file

Read gdb commands from file .

Common commands

These are just some of the more common gdb commands; there are too many to list them all.



bt

Print the current location within the program and a stack trace showing how the current location was reached. ( where does the same thing.)



break

Set a breakpoint in the program.



cd

Change the current working directory.



clear

Delete the breakpoint where you just stopped.



commands

List commands to be executed when a breakpoint is hit.



c

Continue execution from a breakpoint.



delete

Delete a breakpoint or a watchpoint ; also used in conjunction with other commands.



display

Cause variables or expressions to be displayed when program stops.



down

Move down one stack frame to make another function the current one.



frame

Select a frame for the next continue command.



info

Show a variety of information about the program. For instance, info breakpoints shows all outstanding breakpoints and watchpoints.



jump

Start execution at another point in the source file.



kill

Abort the process running under gdb 's control.



list

List the contents of the source file corresponding to the program being executed.



next

Execute the next source line, executing a function in its entirety.



print

Print the value of a variable or expression.



ptype

Show the contents of a datatype, such as a structure or C++ class.



pwd

Show the current working directory.



quit

Exit gdb .



reverse-search

Search backward for a regular expression in the source file.



run

Execute the program.



search

Search for a regular expression in the source file.



set variable

Assign a value to a variable.



signal

Send a signal to the running process.



step

Execute the next source line, stepping into a function if necessary.



undisplay

Reverse the effect of the display command; keep expressions from being displayed.



until

Finish the current loop.



up

Move up one stack frame to make another function the current one.



watch

Set a watchpoint (i.e., a data breakpoint) in the program.



whatis

Print the type of a variable or function.

getent

getent [options] database key

Search the specified database for the specified key. The database may be any one of passwd, group, hosts, services, protocols, or networks.

Options



-s , --service =CONFIG

Specify the service configuration to be used. See nsswitch.conf(5) for information about name-service switching.



-? , --help

Display a help message.



--usage

Display a very short syntax synopsis.



-V , --version

Print version information and quit.

getkeycodes

getkeycodes

Print the kernel's scancode-to-keycode mapping table.

gpasswd

gpasswd [options] group

Change group password. May only be used by an administrator. Uses the encryption algorithm from the GROUP_CRYPT environment variable, falling back to the CRYPT variable set in /etc/default/passwd . If neither of those is set, DES is used.

Options



-a

Add a new group.



-d

Delete a group.



-M

Create members of the group.



-R

Disable access to the group. Also prevent creation of a new group with the same name.



-r

Remove the password entirely.

gpg

gpg [options] command [options]

The GNU Privacy Guard application allows you to encrypt and decrypt information, create public and private encryption keys, and use or verify digital signatures. GPG is based on the use of a pair of keys, one public and one private (or "secret"). Data encrypted with one key can only be decrypted with the other. To encrypt a message to you, someone would use your public key to create a message that could only be unlocked with your private key. To sign information, you would lock it with your private key, allowing anyone to verify that it came from you by unlocking it with your public key.

GPG has dozens of additional options that fine-tune its available options. For a complete list, plus a guide to careful use of encryption and a deeper explanation of how public-key encryption works, visit www.gnupg.org.

Key Commands



--check-sigs [ keyname ]

Lists keys and signatures like --list-sigs , but also verifies them.



--delete-key keyname

Delete the specified key from the keyring .



--delete-secret-key keyname

Delete the named secret key from the keyring.



--delete-secret-and-public-key keyname

Delete the secret (if any) and then the public key for the specified name.



--desig-revoke keyname

Create a revocation certificate for a key pair and designate authority to issue it to someone else. This allows the user to permit someone else to revoke the key, if necessary.



--edit-key [ keyname ]

Edit key options using a menu-driven tool. Key options are too numerous to list here, but include everything from trust settings to images attached to keys for user identification purposes.



--export [ keyname ]

Output the specified key or, if no key is named, the entire keyring. Use the --output flag to send the key information to a file, and -- armor to make the key mailable as ASCII text.



--export-secret-keys [ keyname ]

Outputs the specified secret key or keys. Operation is the same as --export , except with secret keys. This is a security risk and should be used with caution.



--export-secret-subkeys [ keyname ]

Outputs the specified secret subkeys. Operation is the same as --export , except with secret keys. This is a security risk and should be used with caution.



--fingerprint [ keyname ]

List keys and their fingerprints for keys named, or all keys if no name is specified. If repeated, shows fingerprints of secondary keys.



--gen-key

Generate a new pair of keys, prompting for several preferences and a passphrase. For most purposes, the default answers to the questions about algorithm and key length are fine.



--gen-revoke keyname

Create a revocation certificate for a key pair. A revocation certificate is designed to assure all parties that the key pair is no longer valid and should be discarded.



--keyserver keyserver

Specifies the name of the keyserver holding the key.



--list-keys [ keyname ]

List keys with the specified name, or all keys if no name is specified.



--list-public-keys [ keyname ]

List public keys with the specified name, or all public keys if no name is specified.



--list-secret-keys [ keyname ]

List secret keys with the specified name, or all secret keys if no name is specified.



--list-sigs [ keyname ]

Lists keys as --list-keys does, but also lists the signatures.



--gen-revoke keyname

Delete the secret (if any) and then the public key for the specified name.



--import file

Read keys from a file and add them to your keyring. This is most often used with public keys that are sent by email, but can also be used to move private keys from one system to another. Combined with the --merge-only option, adds only new signatures, subkeys, and user IDs, not keys.



--lsign-key keyname

Sign a public key, but mark it as non-exportable.



--nrsign-key keyname

Sign a public key and mark it as nonrevocable.



--recv-keys keyname

Download and import keys from a keyserver. The key name here should be the key ID as known to the keyserver, and the server must be specified with the --keyserver option.



--refresh-keys [ keyname ]

Check the keyserver for updates to keys already in the keyring. You can specify which keys to check for updates using the key IDs known to the server, and you must specify the server with the --keyserver option.



--search-keys [ string ]

Search the names of keys on the keyserver. Specify the keyserver with --keyserver .



--send-keys [ keyname ]

Send one or more keys to a keyserver. Specify the keyserver with --keyserver .



--sign-key keyname

Sign a public key using your private key. Often used to send the public key to a third party. This is the same as selecting "sign" from the --edit-key menu.

Signature Commands



-b , --detach-sign

Create a signature that is not attached to anything.



--clearsign

Create a signature in clear text.



-s , --sign

Create a signature. May be combined with --encrypt .



--verify [ detached-signature ] [ signed-file ]

Verify the signature attached to a file. If the signature and data are in the same file, only one file needs to be specified. For detached signatures, the first file should be the .sig or .asc signature file, and the second the datafile. If you wish to use stdin instead of a file for the non-attached data, you must specify a single dash ( - ) as the second filename.



--verify-files [ files ]

Verify one or more files entered on the command line or to stdin. Signatures must be part of the files submitted, and files sent to stdin should be one file per line. This is designed to check many files at once.

Encryption Commands



--encrypt

Encrypt data. May be used with --sign to create signed, encrypted data.



--encrypt-files [ files ]

Encrypt files one after another, either at the command line or sent to stdin one per line.



-c , --symmetric

Encrypt using a symmetric cipher. The cipher is encrypted using the CAST5 algorithm unless you specify otherwise using the --cipher-algo flag.



--store

Create a PGP message packet (RFC 1991). This does not encrypt data; it just puts it into the right packet format.

Decryption Commands



--decrypt [ file ]

Decrypt a file. If no file is specified, stdin is decrypted. Decrypted data is sent to stdout or to the file specified with the --output flag. If the encrypted data is signed, the signature is also verified .



--decrypt-files [ files ]

Decrypt files one after another, either at the command line or sent to stdin one per line.

Other Commands



--check-trustdb

Check the list of keys with defined trust levels to see if they have expired or been revoked .



--export-ownertrust

Create a backup of the trust values for keys.



--h , --help

Display a help message.



--import-ownertrust [ file ]

Import trust values from a file or stdin. Overwrites existing values.



--list-packets

Display packet sequence for an encrypted message. Used for debugging.



--update-trustdb

Update the database of trusted keys. For each key that has no defined level of trust, --update-trustdb prompts for an estimate of how much the key's owner can be trusted to certify other keys. This builds a web of more-trusted and less-trusted keys by which the overall security of a given key can be estimated.



--version

Display version information and quit.



--warranty

Display warranty information. There is no warranty.

gpgsplit

gpgsplit [options] [files]

Split an OpenPGP format message into individual packets. If no file is specified, the message is read from stdin. The split packets are written as individual files.

Options



-h, -?, --help

Display a short help message.



--no-split

Write to stdout instead of splitting the packets into individual files.



-p, --prefix string

Begin each filename with the specified string.



--secret-to-public

Convert any secret keys in the message to public keys.



--uncompress

Uncompress any compressed packets.



-v, --verbose

Verbose mode. More informative.

gpgv

gpgv [options] [detached-signature] [signed-files]

Check the signature of one or more OpenPGP-signed files. This is similar in operation to gpg --verify but uses a different keyring, ~/.gnupg/trustedkeys.gpg . Also, gpgv assumes that the keyring is trusted, and it cannot edit or update it. By contrast, gpg --verify can go to a keyserver to verify signatures that are not in the local keyring, and offers various levels of trust. In both cases, you can use a detached signature file

Options



-h , -?, --help

Display a short help message.



--ignore-time-conflict

Use this flag to ignore incorrect dates on signatures. An incorrect date can be a sign of fraud, but is often just a result of an incorrectly set clock.



-k , --keyring file

Use the specified file as a keyring, in addition to the default ~/.gnupg/trustedkeys.gpg .



--homedir dir

Use the specified directory as the GPG home directory, instead of the default (set in the GNUPGHOME variable, or, if that is unset, ~/.gnupg ).



--logger-fd FD

Send log output to the specified file descriptor. By default, log output goes to stderr. Use of file descriptors is described in the DETAILS section of the GPG documentation.



-q , --quiet

Minimal output.



--status-fd FD

Send special status messages to the specified file descriptor.



-v , --verbose

Verbose mode. More informative.

gpm

gpm [options]

System administration command. Provide a mouse server and cut-and-paste utility for use on the Linux console. gpm acts like a daemon, responding to both mouse events and client input. If no clients are connected to the active console, gpm provides cut-and-paste services.

Options



-2

Force two buttons . If there is a middle button, it is treated as the right button.



-3

Force three buttons. With a three-button mouse, the left button makes a selection, the right button extends the selection, and the middle button pastes it. Using this option with a two-button mouse results in being unable to paste.



-a accel

Set the acceleration for a single motion longer than the delta specified with the -d option.



-A [ limit ]

Start up with pasting disabled for security. If specified, limit gives the time in seconds during which a selection can be pasted. If too much time has passed, the paste is not allowed.



-b baud

Specify the baud rate.



-B seq

Set a three-digit button sequence, mapping the left, middle, and right buttons to buttons 1, 2, and 3. The default is 123 . The sequence 321 is useful if you are left-handed , or 132 for a two-button mouse.



-d delta

Set the delta value for use with -a . When a mouse motion event is longer than the specified delta, use accel as a multiplier. delta must be 2 or greater.



-D

Debugging mode. When set, gpm does not put itself into the background, and it logs messages to standard error instead of syslog.



-g num

For a glidepoint device, specify the button to be emulated by a tap. num must be 1 , 2 , or 3 and refers to the button number before any remapping is done by the -B option. Applies to mman and ps2 protocol decoding.



-h

Print a help message and exit.



-i interval

Specify the upper time limit, in milliseconds , between mouse clicks for the clicks to be considered a double or triple click.



-k

Kill a running gpm . For use with a bus mouse to kill gpm before running X. See also -R .



-l charset

Specify the inword( ) lookup table, which determines which characters can appear in a word. charset is a list of characters. The list can include only printable characters. Specify a range with - , and use \ to escape the following character or to specify an octal character.



-m filename

Specify the mouse file to open. The default is /dev/mouse .



-M

Enable the use of more than one mouse. Options appearing before -M apply to the first mouse; those appearing after it apply to the second mouse. Forces the use of -R .



-o extra-options

Specify a comma-separated list of additional mouse-specific options. See the gpm info page for a description of the mouse types and the possible options.



-p

Keep the pointer visible while text is being selected. The default is not to show the pointer.



-r num

Specify the responsiveness. A higher number causes the cursor to move faster.



-R name

Act as a repeater and pass any mouse data received while in graphical mode to the fifo /dev/gpmdata in the protocol specified by name (default is msc ). In addition to certain protocol types available with -t , you can specify raw to repeat the data with no protocol translation.



-s num

Specify the sample rate for the mouse device.



-S [ commands ]

Enable special-command processing (see the next section). Custom commands can be specified as a colon-separated list to associate commands with the left button, middle button, and right button. If a command is omitted, it defaults to sending a signal to init .



-t type

Specify the mouse protocol type. Use -t help for a list of types; those marked with an asterisk (*) can be used with -R .



-v

Print version information and exit.



-V [ increment ]

Make gpm more or less verbose by the specified increment . The default verbosity level is 5, and the default increment is 1. A larger value of increment causes more messages to be logged. The increment can be negative, but must be specified with no space (e.g., -V-3 ).

Special commands

Special commands, activated with the -S option, are associated with each mouse button. You can also use -S to customize the commands. To execute a special command, triple-click the left and right buttons (hold down one of the buttons and triple-click the other). A message appears on the console, and the speaker beeps twice. At this point, release the buttons and press the desired button within three seconds to activate the associated special command. The default special commands are:



Left button

Reboot by signalling init .



Middle button

Shut down the system with /sbin/shutdown -h now .



Right button

Reboot with /sbin/shutdown -r now .

gprof

gprof [options] [object_file]

Display the profile data for an object file. The file's symbol table is compared with the call graph profile file gmon.out (previously created by compiling with gcc -pg ). Many of gprof 's options take a symbol-specification argument, or symspec, to limit the option to specified files or functions. The symspec may be a filename, a function, or a line number. It can also be given as filename:function or filename:linenumber to specify a function or line number in a specific file. gprof expects filenames to contain a period and functions to not contain a period.

Options



-a , --no-static

Do not display statically declared functions. Since their information might still be relevant, append it to the information about the functions loaded immediately before.



-b , --brief

Do not display information about each field in the profile.



-c , --static-call-graph

Consult the object file's text area to attempt to determine the program's static call graph. Display static-only parents and children with call counts of 0.



--demangle [ =style ], --no-demangle

Specify whether C++ symbols should be demangled or not. They are demangled by default. If profiling a program built by a different compiler, you may need to specify the mangling style.



--function-ordering

Print suggested function order based on profiling data.



--file-ordering file

Print suggested link line order for .o files based on profiling data. Read function name to object file mappings from file . This file can be created using the nm command.



-i , --file-info

Print summary information on datafiles, then exit.



-k from to

Remove arcs between the routines from and to .



-m n , --min-count [ =n ]

Don't print count statistics for symbols executed less than n times.



-n [ symspec ], --time [ =symspec ]

Propogate time statistics in call graph analysis.



-p [ symspec ], --flat-profile [ =symspec ]

Print profile statistics.



-q [ symspec ], --graph [ =symspec ]

Print call graph analysis.



-s , --sum

Summarize profile information in the file gmon.sum .



-v , --version

Print version and exit.



-w n , --width =n

Print function index formatted to width n .



-x , --all-lines

When printing annotated source, annotate every line in a basic block, not just the beginning.



-y , --separate-files

Print annotated-source output to separate files instead of standard output. The annotated source for each source file is printed to filename-ann .



-z , --display-unused-functions

Include zero-usage calls.



-A [ symspec ], --annotated-source [ =symspec ]

Print annotated source code.



-C [ symspec ], --exec-counts [ =symspec ]

Print statistics on the number of times each function is called. When used with option -l , count basic-block execution.



-F routine

Print only information about routine . Do not include time spent in other routines.



-I dirs , --directory-path =dirs

Set directory path to search for source files. The dirs argument may be given as a colon-separated list of directories.



-J [ symspec ], --no-annotated-source [ =symspec ]

Don't print annotated source code.



-L , --print-path

Print the path information when printing filenames.



-N [ symspec ], --no-time [ =symspec ]

Don't propogate time statistics in call graph analysis.



-P [ symspec ], --no-flat-profile [ =symspec ]

Don't print profile statistics



-Q [ symspec ], --no-graph [ =symspec ]

Don't print call graph analysis.



-T , --traditional

Print output in BSD style.



-Z [ symspec ], --no-exec-counts [ =symspec ]

Don't print statistics on the number of times each function is called.

grep

grep [options] pattern [files]

Search one or more files for lines that match a regular expression pattern . Regular expressions are described in Chapter 7. Exit status is 0 if any lines match, 1 if none match, and 2 for errors. See also egrep and fgrep .

Options



-a , --text

Don't suppress output lines with binary data; treat as text.



-b , --byte-offset

Print the byte offset within the input file before each line of output.



-c , --count

Print only a count of matched lines. With -v or --revert-match option, count nonmatching lines.



-d action , --directories =action

Define an action for processing directories. Possible actions are:



read

Read directories like ordinary files (default).



skip

Skip directories.



recurse

Recursively read all files under each directory. Same as -r .



-e pattern , --regexp =pattern

Search for pattern . Same as specifying a pattern as an argument, but useful in protecting patterns beginning with -.



-f file , --file =file

Take a list of patterns from file , one per line.



-h , --no-filename

Print matched lines but not filenames (inverse of -l ).



-i , --ignore-case

Ignore uppercase and lowercase distinctions.



-l , --files-with-matches

List the names of files with matches but not individual matched lines; scanning per file stops on the first match.



--mmap

Try to use memory mapping ( mmap ) to read input in order to save time.



-n , --line-number

Print lines and their line numbers.



-q , --quiet , --silent

Suppress normal output in favor of quiet mode; scanning stops on the first match.



-r , --recursive

Recursively read all files under each directory. Same as -d recurse .



-s , --no-messages

Suppress error messages about nonexistent or unreadable files.



-v , --invert-match

Print all lines that don't match pattern .



-w , --word-regexp

Match on whole words only. Words are divided by characters that are not letters, digits, or underscores.



-x , --line-regexp

Print lines only if pattern matches the entire line.



-A num , --after-context =num

Print num lines of text that occur after the matching line.



-B num , --before-context =num

Print num lines of text that occur before the matching line.



-C [ num ], --context [ =num ], - num

Print num lines of leading and trailing context. Default context is 2 lines.



-E , -extended-regexp

Act like egrep , recognizing extended regular expressions such as (UN|POS)IX to find UNIX and POSIX .



-F , --fixed-strings

Act like fgrep , recognizing only fixed strings instead of regular expressions. Useful when searching for characters that grep normally recognizes as metacharacters.



-G , --basic-regexp

Expect the regular expressions traditionally recognized by grep (the default).



-H , --with-filename

Display, before each line found, the name of the file containing the line. This is done by default if multiple files are submitted to a single grep command.



-V , --version

Print the version number and then exit.



-Z , --null

When displaying filenames, follow each with a zero byte instead of a colon.

Examples

List the number of users who use tcsh :

grep -c /bin/tcsh /etc/passwd

List header files that have at least one #include directive:

grep -l '^#include' /usr/include/*

List files that don't contain pattern :

grep -c  pattern  files  | grep :0

groff

groff [options] [files]
TRoff [options] [files]

Frontend to the groff document-formatting system, which normally runs troff along with a postprocessor appropriate for the selected output device. Options without arguments can be grouped after a single dash (-). A filename of - denotes standard input.

Options



-a

Generate an ASCII approximation of the typeset output.



-b

Print a backtrace.



-C

Enable compatibility mode.



-d cs , -d name=s

Define the character c or string name to be the string s .



-e

Preprocess with eqn , the equation formatter.



-E

Don't print any error messages.



-f fam

Use fam as the default font family.



-F dir

Search dir for subdirectories with DESC and font files before searching the default directory /usr/lib/groff/font .



-h

Print a help message.



-i

Read standard input after all files have been processed.



-l

Send the output to a print spooler (as specified by the print command in the device description file).



-L arg

Pass arg to the spooler. Each argument should be passed with a separate -L option.



-m name

Read the macro file tmac.name .



-M dir

Search directory dir for macro files before searching the default directory /usr/lib/groff/tmac .



-n num

Set the first page number to num .



-N

Don't allow newlines with eqn delimiters; equivalent to eqn 's -N option.



-o list

Output only pages specified in list , a comma-separated list of page ranges.



-p

Preprocess with pic .



-P arg

Pass arg to the postprocessor. Each argument should be passed with a separate -P option.



-r cn , - name =n

Set the number register c or name to n . c is a single character, and n is any troff numeric expression.



-R

Preprocess with refer .



-s

Preprocess with soelim .



-S

Use safer mode (that is, pass the -S option to pic and use the -msafer macros with troff ).



-t

Preprocess with tbl .



-T dev

Prepare output for device dev ; the default is ps .



-v

Make programs run by groff print out their version number.



-V

Print the pipeline on stdout instead of executing it.



-w name

Enable warning name . You can specify multiple -w options. See the troff manpage for a list of warnings.



-W name

Disable warning name . You can specify multiple -W options. See the troff manpage for a list of warnings.



-z

Suppress troff output (except error messages).



-Z

Do not postprocess troff output. Normally groff automatically runs the appropriate postprocessor.

Devices



ascii

Typewriter-like device.



dvi

T E X dvi format.



latin1

Typewriter-like devices using the ISO Latin-1 character set.



ps

PostScript.



X75

75-dpi X11 previewer.



X100

100-dpi X11 previewer.



lj4

HP LaserJet4-compatible (or other PCL5-compatible) printer.

Environment variables



GROFF_COMMAND_PREFIX

If set to be X, groff will run Xtroff instead of troff .



GROFF_FONT_PATH

Colon-separated list of directories in which to search for the devname directory.



GROFF_TMAC_PATH

Colon-separated list of directories in which to search for the macro files.



GROFF_TMPDIR

If set, temporary files will be created in this directory; otherwise, they will be created in TMPDIR (if set) or /tmp (if TMPDIR is not set).



GROFF_TYPESETTER

Default device.



PATH

Search path for commands that groff executes.

groffer

groffer [viewing_options] [man_options] [groff_options]
        [file-spec...]
groffer filespec

Groffer displays manpages and groff documents. It accepts the option flags from both man and groff . The filespec argument can be a filename or a manpage or section specified in the format man:page or man:section . For more information, see groff and man .

groupadd

groupadd [options] group

System administration command. Create new group of accounts for the system.

Options



-f

Exit with error if group being added already exists. If a gid requested with -g already exists and the -o option has not been specified, assign a different gid as if -g had not been specified. This option is not available on all distributions.



-g gid

Assign numerical group ID. (By default, the first available number above 500 is used.) The value must be unique, unless the -o option is used.



--help

Display a help message.



-o

Accept a nonunique gid with the -g option.



-p , --password string

Use the string encrypted by crypt(3) , as the initial password for the group.



-P , --path pathname

Specify the path for the group definition file. Normally, the file is placed in /etc/group .



-r , --system

Add a system account. Assign the first available number lower than 499.



--service servicename

Add the group to a special service category. Normally, this is "files," but it may also be "ldap."



--usage

Display a very short list of acceptable options for the command.



-v , --version

Print the version number, then quit.

groupdel

groupdel group

System administration command. Remove group from system account files. You may still need to find and change permissions on files that belong to the removed group.

groupmod

groupmod [options] group

System administration command. Modify group information for group .

Options



-g gid

Change the numerical value of the group ID. Any files that have the old gid must be changed manually. The new gid must be unique, unless the -o option is used.



-n name

Change the group name to name .



-o

Override. Accept a nonunique gid .

groups

groups [options] [users]

Show the groups that each user belongs to (default user is the owner of the current group). Groups are listed in /etc/passwd and /etc/group .

Options



--help

Print help message.



--version

Print version information.

grpck

grpck [option] [files]

System administration command. Remove corrupt or duplicate entries in the /etc/group and /etc/gshadow files. Generate warnings for other errors found. grpck will prompt for a "yes" or "no" before deleting entries. If the user replies "no," the program will exit. If run in a read-only mode, the reply to all prompts is "no." Alternate group and gshadow files can be checked. If other errors are found, the user will be encouraged to run the groupmod command.

Option



-r

Read-only mode.

Exit codes



0

Success.



1

Syntax error.



2

One or more bad group entries found.



3

Could not open group files.



4

Could not lock group files.



5

Could not write group files.

grpconv

grpconv
grpunconv

System administration command. Like pwconv , the grpconv command creates a shadowed group file to keep your encrypted group passwords safe from password-cracking programs. grpconv creates the /etc/gshadow file based on your existing /etc/groups file and replaces your encrypted password entries with x . If you add new entries to the /etc/groups file, you can run grpconv again to transfer the new information to /etc/gshadow . It will ignore entries that already have a password of x and convert those that do not. grpunconv restores the encrypted passwords to your /etc/groups file and removes the /etc/gshadow file.

gs

gs [options] [files]

GhostScript, an interpreter for Adobe Systems' PostScript and PDF (Portable Document Format) languages. Used for document processing. With - in place of files , standard input is used.

Options



-- filename arg1 . ..

Take the next argument as a filename, but use all remaining arguments to define ARGUMENTS in userdict (not systemdict ) as an array of those strings before running the file.



-g number1 x number2

Specify width and height of device; intended for systems like the X Window System.



-q

Quiet startup.



-r number , -r number1 x number2

Specify X and Y resolutions (for the benefit of devices, such as printers, that support multiple X and Y resolutions). If only one number is given, it is used for both X and Y resolutions .



-D name=token , -d name=token

Define a name in systemdict with the given definition. The token must be exactly one token (as defined by the token operator) and must not contain any whitespace.



-D name , -d name

Define a name in systemdict with a null value.



-I directories

Add the designated list of directories at the head of the search path for library files.



-S name=string , -s name=string

Define a name in systemdict with a given string as value.

Special names



-dDISKFONTS

Cause individual character outlines to be loaded from the disk the first time they are encountered.



-dNOBIND

Disable the bind operator. Useful only for debugging.



-dNOCACHE

Disable character caching. Useful only for debugging.



-dNODISPLAY

Suppress the normal initialization of the output device. May be useful when debugging.



-dNOPAUSE

Disable the prompt and pause at the end of each page.



-dNOPLATFONTS

Disable the use of fonts supplied by the underlying platform (e.g., the X Window System).



-dSAFER

Disable the deletefile and renamefile operators, and the ability to open files in any mode other than read-only.



-dWRITESYSTEMDICT

Leave systemdict writable.



-sDEVICE =device

Select an alternate initial output device.



-sOUTPUTFILE =filename

Select an alternate output file (or pipe) for the initial output device.

gunzip

gunzip [options] [files]

Uncompress files compressed by gzip . See gzip for a list of options.

gzexe

gzexe [option] [files]

Compress executables. When run, these files automatically uncompress, thus trading time for space. gzexe creates backup files with a tilde at the end ( filename ~ ). These backup files can be deleted once you are sure the compression has worked properly.

Option



-d

Decompress files.

gzip

gzip [options] [files]
gunzip [options] [files]
zcat[options] [files]

Compress specified files (or data read from standard input) with Lempel-Ziv coding (LZ77). Rename compressed file to filename.gz ; keep ownership modes and access/modification times. Ignore symbolic links. Uncompress with gunzip , which takes all of gzip 's options except those specified. zcat is identical to gunzip -c and takes the options -fhLV , described here. Files compressed with the compress command can be decompressed using these commands.

Options



- n , --fast , --best

Regulate the speed of compression using the specified digit n , where -1 or --fast indicates the fastest compression method (less compression), and -9 or --best indicates the slowest compression method (most compression). The default compression level is -6 .



-a , --ascii

ASCII text mode: convert end-of-lines using local conventions. This option is supported only on some non-Unix systems.



-c , --stdout , --to-stdout

Print output to standard output, and do not change input files.



-d , --decompress , --uncompress

Same as gunzip .



-f , --force

Force compression. gzip would normally prompt for permission to continue when the file has multiple links, its .gz version already exists, or it is reading compressed data to or from a terminal.



-h , --help

Display a help screen and then exit.



-l , --list

Expects to be given compressed files as arguments. Files may be compressed by any of the following methods: gzip , deflate , compress , lzh , or pack . For each file, list uncompressed and compressed sizes (the latter being always -1 for files compressed by programs other than gzip ), compression ratio, and uncompressed name. With -v , also print compression method, the 32-bit CRC of the uncompressed data, and the timestamp. With -N , look inside the file for the uncompressed name and timestamp.



-L , --license

Display the gzip license and quit.



-n , --no-name

When compressing, do not save the original filename and timestamp by default. When decompressing, do not restore the original filename if present, and do not restore the original timestamp if present. This option is the default when decompressing.



-N , --name

Default. Save original name and timestamp. When decompressing, restore original name and timestamp.



-q , --quiet

Print no warnings.



-r , --recursive

When given a directory as an argument, recursively compress or decompress files within it.



-S suffix , --suffix suffix

Append . suffix . Default is gz . A null suffix while decompressing causes gunzip to attempt to decompress all specified files, regardless of suffix.



-t , --test

Test compressed file integrity.



-v , --verbose

Print name and percent size reduction for each file.



-V , --version

Display the version number and compilation options.

halt

halt [options]

System administration command: turns off the computer. Insert a note in the file /var/log/wtmp ; if the system is in runlevel 0 or 6, stop all processes; otherwise, call shutdown -h .

Options



-d

Suppress writing to /var/log/wtmp .



-f

Call halt even when shutdown -nf would normally be called (i.e., force a call to halt , even when not in runlevel 0 or 6).



-h

Place hard drives in standby mode before halt or power off.



-i

Shut down network interfaces before halt.



-n

No sync before reboot or halt.



-p

Perform power-off when halting system.



-n

Suppress normal call to sync .



-w

Suppress normal execution; simply write to /var/log/wtmp .

hdparm

hdparm [options] [device]

System administration command. Read or set the hard drive parameters. This command can be used to tune hard drive performance; it is mostly used with IDE drives, but can also be used with SCSI drives.

Options

The hdparm command accepts many option flags, including some that can result in filesystem corruption if misused. Flags can be used to set or get a parameter. To get a parameter, just pass the flag without a value. To set a parameter, follow the flag with a space and the appropriate value.



-a [ n ]

Get or set the number of sectors to read ahead in the disk. The default is 8 sectors (4 KB); a larger value is more efficient for large, sequential reads, and a smaller value is better for small, random reads. Many IDE drives include this functionality in the drive itself, so this feature is not always necessary.



-A

Enable or disable the IDE read-ahead feature. Usually on by default.



-b [ n ]

Get or set the bus state for the drive.



-B

Set the Advanced Power Management (APM) data if the drive supports it.



-c [ n ]

Get or set 32-bit I/O values for IDE drives. Acceptable values are 0 (32-bit support off), 1 (32-bit support on), and 3 (on, but only with a sync sequence).



-C

Check the power status of the drive. This will tell you unknown, active/idle, standby, or sleeping. Use -S , -y , -Y , and -Z to set the power status.



-d [ n ]

Get or set the using_dma flag for the drive, which may be 0 (not using DMA) or 1 (using DMA).



-D

Enable or disable defect-handling features that are controlled by the hard drive itself.



-E n

Set CD-ROM read speed to n times normal audio playback speed. Not normally necessary.



-f

Flush and sync the buffer cache on exit.



-g

Query and display drive size and geometry information, such as number of cylinders, heads, and sectors.



-h

Display a short help message.



-i

Display the drive identification information obtained at boot time. If the drive has changed since boot, this information may not be current.



-I

Display more detailed identification information for the drive.



-Istdin

Read identify data from standard input.



- Istdout

Write identify data to standard output.



-k [ n ]

Get or set the keep_settings_over_reset variable. Valid settings are 0 and 1 , and a value of 1 will keep the -dmu options when rebooting (soft reset only).



-K [ n ]

Get or set the keep_features_over_reset variable. Valid settings are 0 and 1 , and a value of 1 will keep settings for the flags -APSWXZ over a soft reset.



-L n

Set the door lock flag for the drive. Used for Syquest, ZIP, and JAZ drives.



-m [ n ]

Get or set the number of sectors used for multiple sector count reading. A value of 0 disables the feature, and values of 2 , 4 , 8 , 16 , and 32 are common. Drives that try to support this feature and fail may suffer corruption and data loss.



-M [ n ]

Get or set the level for Automatic Acousting Management (AAM) features. Newer drives support this feature, which can slow down head movements to reduce hard disk noise. Values range from 128 (quiet, but slow) to 254 (fast, but loud). Some drives support only 128 and 254 , while others support multiple levels between the extremes. At the time of writing, this feature was still considered experimental and not recommended for production use.



-n [ n ]

Set to 0 or 1 to disable or enable, respectively, the "ignore write errors" flag. This can cause massive data loss if used incorrectly, and is for development purposes only.



-p n

Tune the IDE interface to use PIO mode n , usually an integer between 0 and 5. Incorrect values can result in massive data loss. Support for the PIO mode-setting feature varies between IDE chips, so tuning it is not for the faint of heart.



-P n

Set the internal prefetch sector count. Not all drives support the feature.



-q

Suppress output for the flag after this one, unless it is the -i , -v , -t , or -T flag.



-Q [ n ]

Set the depth of tagged queues. 0 disables tagged queues. This is supported only on specific drives, and only for kernels 2.5.x and later.



-r [ n ]

Get or set the flag for read-only on the device. A value of 1 marks the device as read-only.



-R

This option should be used by experts only. It registers an IDE interface. See the -U option for further details.



-S n

Set the amount of time a disk is inactive before it spins down and goes into standby mode. Settings from 1 to 240 represent chunks of five seconds (for timeout values between 5 seconds and 20 minutes); values from 241 to 251 are increments of 30 minutes (for 30 minutes to 5.5 hours). A value of 252 sets the timeout to 21 minutes, 253 to the vendor default, and 255 to 20 minutes and 15 seconds.



-T

Time cache reads to determine performance.



-t

Time device reads to determine performance.



-u [ n ]

Get or set the interrupt-unmask value for the drive. A value of 1 lets the drive unmask other interrupts and can improve performance; when used with older kernels and hardware, it can cause data loss.



-U

Unregister an IDE interface. Use this feature and the -R feature only with hot-swappable hardware, such as very high-end servers and some laptops. It can damage or hang other systems, and should be used with caution.



-v

Display all appropriate settings for device except -i . This is the same as the default behavior with no flags.



-w

Reset the device. Use as a last resort only; may cause data loss.



-W

Enable or disable the write-cache feature for the drive. The default varies among drive manufacturers.



-x

Sets tristate . Use only for hot-swappable devices. See the -R and -U entries.



-X n

Set the IDE transfer mode. Possible values include 34 (multiword DMA mode2 transfers) and 66 (UltraDMA mode2 transfers), or any PIO mode number plus 8. This option is suggested for experts only, and is useful only with newer EIDE/IDE/ATA2 drives. Often used in combination with -d .



-y

Put the IDE drive into standby (spin-down) mode, saving power.



-Y

Put the IDE drive into sleep mode.



-z

Force the kernel to reread the partition table.



-Z

Disable automatic powersaving on some drives, which can prevent them from idling or spinning down at inconvenient moments. This will increase the electrical power consumption of your system.

head

head [options] [files]

Print the first few lines (default is 10) of one or more files . If files is missing or -, read from standard input. With more than one file, print a header for each file.

Options



-c num [ b|k|m ], --bytes num [ b|k|m ]

Print first num bytes or, if num is followed by b , k , or m , first num 512-byte blocks, 1-kilobyte blocks, or 1-megabyte blocks.



--help

Display help and then exit.



-n num , --lines num , - num

Print first num lines. Default is 10.



-q , --quiet , --silent

Quiet mode; never print headers giving filenames.



-v , --verbose

Print filename headers, even for only one file.



--version

Output version information and then exit.

Examples

Display the first 20 lines of phone_list :

head -20 phone_list

Display the first 10 phone numbers having a 202 area code:

grep '(202)' phone_list | head

hexdump

hexdump [options] file

Display specified file or input in hexadecimal, octal, decimal, or ASCII format. Option flags are used to specify the display format.

Options



-b

Use a one-byte octal display, meaning the input offset is in hexadecimal and is followed by 16 three-column octal data bytes, filled in with zeroes and separated by spaces.



-c

Use a one-byte character display, meaning the input offset is in hexadecimal and is followed by 16 three-column entries, filled in with zeroes and separated with spaces.



-C

Canonical mode. Display hexadecimal offset, two sets of eight columns of hexadecimal bytes, then a | followed by the ASCII representation of those same bytes.



-d

Use a two-byte decimal display. The input offset is again in hexadecimal, but the display has only eight entries per line, of five columns each, containing two bytes of unsigned decimal format.



-e format_string

Choose a format string to be used to transform the output data. Format strings consist of:



Iteration count

The iteration count is optional. It determines the number of times to use the transformation string. The number should be followed by a slash character (/) to distinguish it from the byte count.



Byte count

The number of bytes to be interpreted by the conversion string. It should be preceded by a slash character to distinguish it from the iteration count.



Format characters

The actual format characters should be surrounded by quotation marks and are interpreted as fprintf (see printf ) formatting strings, although the * , h , l , n , p , and q options will not work as expected. Format string usage is discussed at greater length in the hexdump manpage.



-f filename

Choose a file that contains several format strings. The strings should be separated by newlines; the # character marks a line as a comment.



-n length

Limit the number of bytes of input to be interpreted.



-o

Two-byte octal display, meaning a hexadecimal offset followed by eight five-column data entries of two bytes each, in octal format.



-s offset

Skip to specified offset . The offset number is assumed to be decimal unless it starts with 0x or 0X (hexadecimal), or O (octal). Numbers may also be designated in megabytes, kilobytes, or half-kilobytes with the addition of m , k , or b at the end of the number.



-v

Display all input data, even if it is the same as the previous line. Normally, a duplicate line is replaced by an asterisk (*).



-x

Display data in a two-byte hexadecimal format. The offset is, as usual, in hexadecimal, and is followed by eight space-separated entries, each of which contains four-column, two-byte chunks of data in hexadecimal format.

host

host [options] name [server]

System administration command. Print information about hosts or zones in DNS. Hosts may be IP addresses or hostnames; host converts IP addresses to hostnames by default and appends the local domain to hosts without a trailing dot. Default servers are determined in /etc/resolv.conf . For more information about hosts and zones, read Chapters 1 and 2 of DNS and BIND (O'Reilly).

Options



-a

Same as -t ANY .



-c class

Search for specified resource record class ( IN , CH , CHAOS , HS , HESIOD , or ANY ). Default is IN.



-d

Verbose output. Same as -v .



-l

List mode. This also performs a zone transfer for the named zone. Same as -t AXFR .



-n

Perform reverse lookups for IPv6 addresses using IP6.INT domain and "nibble" labels instead of IP6.ARPA and binary labels.



-r

Do not ask contacted server to query other servers, but require only the information that it has cached.



-t type

Look for type entries in the resource record. type may be any recognized query type, such as A, AXFR, CNAME, NS, SOA, SIG, or ANY. If name is a hostname, host will look for A records by default. If name is an IPv4 or IPv6 address, it will look for PTR records.



-v

Verbose. Include all fields from resource record, even time-to-live and class, as well as "additional information" and " authoritative nameservers" (provided by the remote nameserver).



-w

Never give up on queried server.



-C

Display SOA records from all authoritative nameservers for the specified zone.



-N n

Consider names with fewer than n dots in them to be relative. Search for them in the domains listed in the search and domain directives of /etc/resolv.conf . The default is usually 1.



-R n

Retry query a maximum of n times. The default is 1.



-T

Use TCP instead of UDP to query nameserver. This is implied in queries that require TCP, such as AXFR requests.



-W n

Wait a maximum of n seconds for reply.

hostid

hostid

Print the ID number in hexadecimal of the current host.

hostname

hostname [option] [nameofhost]

Set or display name of current host system. A privileged user can set the hostname with the nameofhost argument.

Options



-a , --alias

Display the alias name of the host (if used).



-d , --domain

Display DNS domain name.



-f , --fqdn , --long

Display fully qualified domain name.



-F file , --file file

Consult file for hostname.



-h , --help

Display a help message and then exit.



-i , --ip-address

Display the IP address(es) of the host.



-n , --node

Display or set the DECnet node name.



-s , --short

Trim domain information from the display output.



-v , --verbose

Verbose mode.



-V , --version

Display version information and then exit.



-y , --yp , --nis

Display the NIS domain name. A privileged user can set a new NIS domain name with nameofhost .

htdigest

htdigest [-c] filename realm username

Create or update user authentication files used by the Apache web server. The -c option is used if you wish to create the file, and will overwrite any existing files rather than update them. The three arguments are the file you wish to use as the authentication file, the realm name to which the user belongs, and the username you will update in the password file. You will be prompted for a password when you run the command.

The Apache manual contains information about authentication mechanisms, including more detail about using htdigest and the ways in which you can control access to the resources served by Apache.

hwclock

hwclock [option]

System administration command. Read or set the hardware clock. This command maintains change information in /etc/adjtime , which can be used to adjust the clock based on how much it drifts over time. hwclock replaces the clock command. The single-letter options are included for compatibility with the older command.

Options

You may specify only one of the following options:



-a , --adjust

Adjust the hardware clock based on information in /etc/adjtime and set the system clock to the new time.



--getepoch

Print the kernel's hardware clock epoch value, then exit.



-r , --show

Print the current time stored in the hardware clock.



-s , --hctosys

Set the system time in accordance with the hardware clock.



--setepoch , --epoch =year

Set the hardware clock's epoch to year .



--set --date =date

Set the hardware clock to the specified date , a string appropriate for use with the date command.



-v , --version

Print version and exit.



-w , --systohc

Set the hardware clock in accordance with the system time.

The following may be used with the above options.



--debug

Print information about what hwclock is doing.



--localtime

The hardware clock is stored in local time.



--noadjfile

Disable /etc/adjtime facilities.



--test

Do not actually change anything. This is good for checking syntax.



-u , --utc

The hardware clock is stored in Universal Coordinated Time.

iconv

iconv [options] files

Convert the contents of one or more files from one character encoding to another and write the results to standard output.

Options



-c

Omit invalid output characters.



-f code1 , --from-code =code1

Convert input characters from the code1 encoding.



-? , --help

Print help message and exit.



-l , --list

Print a list of valid encodings to standard output.



-o file , --output =file

Write the converted output to file instead of standard output.



-s , --silent

Operate silently; don't print warning messages.



-t code2 , --to-code =code2

Convert input characters to the code2 encoding.



--usage

Print a brief usage message showing only the command syntax and then exit.



-V , --version

Print version information and exit.



--verbose

Operate verbosely; print progress messages.

id

id [options] [username]

Display information about yourself or another user: user ID, group ID, effective user ID and group ID if relevant, and additional group IDs.

Options



-g , --group

Print group ID only.



-G , --groups

Print supplementary groups only.



-n , --name

With -u , -g , or -G , print user or group name, not number.



-r , --real

With -u , -g , or -G , print real, not effective, user ID or group ID.



-u , --user

Print user ID only.



--help

Print help message and then exit.



--version

Print version information.

ifconfig

ifconfig [interface]
ifconfig [interface address_family parameters addresses]

TCP/IP command. Assign an address to a network interface and/or configure network interface parameters. ifconfig is typically used at boot time to define the network address of each interface on a machine. It may be used at a later time to redefine an interface's address or other parameters. Without arguments, ifconfig displays the current configuration for a network interface. Used with a single interface argument, ifconfig displays that particular interface's current configuration. Note that interfaces are numbered starting at zero: eth0, eth1, eth2, and so forth. In most cases, eth0 will be the primary PCI Ethernet interface, and wireless network interfaces will begin with ath0 or wlan0 .

Arguments



interface

String of the form name unit : for example, en0 .



address_family

Since an interface may receive transmissions in differing protocols, each of which may require separate naming schemes, you can specify the address_family to change the interpretation of the remaining parameters. You may specify inet (for TCP/IP, the default), ax25 (AX.25 Packet Radio), ddp (Appletalk Phase 2), or ipx (Novell).



parameters

The following parameters may be set with ifconfig :



add address / prefixlength

Add an IPv6 address and prefix length.



address address

Assign the specified IP address to the interface.



allmulti/-allmulti

Enable/disable sending of incoming frames to the kernel's network layer.



arp/-arp

Enable/disable use of the Address Resolution Protocol in mapping between network-level addresses and link-level addresses.



broadcast [ address ]

( inet only) Specify address to use to represent broadcasts to the network. Default is the address with a host part of all ones (i.e., x.y.z.255 for a class C network).



debug/-debug

Enable/disable driver-dependent debugging code.



del address / prefixlength

Delete an IPv6 address and prefix length.



down

Mark an interface "down" ( unresponsive ).



hw class address

Set the interface's hardware class and address. class may be ether (Ethernet), ax25 (AX.25 Packet Radio), or ARCnet .



io_addr addr

I/O memory start address for device.



irq addr

Set the device's interrupt line.



metric n

Set routing metric of the interface to n . Default is 0.



mem_start addr

Shared memory start address for device.



media type

Set media type. Common values are 10base2 , 10baseT , and AUI . If auto is specified, ifconfig will attempt to autosense the media type.



mtu n

Set the interface's Maximum Transfer Unit (MTU).



multicast

Set the multicast flag.



netmask mask

( inet only) Specify how much of the address to reserve for subdividing networks into subnetworks. mask can be specified as a single hexadecimal number with a leading 0x , with a dot notation Internet address, or with a pseudo-network name listed in the network table /etc/networks .



pointopoint/-pointopoint [ address ]

Enable/disable point-to-point interfacing, so that the connection between the two machines is dedicated.



promisc/-promisc

Enable/disable promiscuous mode. Promiscuous mode allows the device to receive all packets on the network.



txqueuelen n

Specify the transmit queue length.



tunnel addr

Create an IPv6-in-IPv4 (SIT) device, tunneling to IPv4 address addr .



up

Mark an interface "up" (ready to send and receive).



addresses

Each address is either a hostname present in the hostname database ( /etc/hosts ), or an Internet address expressed in the Internet standard dot notation.

Examples

To list all interfaces:

ifconfig -a

To add a second IP address to wlan0:

ifconfig wlan0:1 192.168.2.41 netmask 255.255.255.0

To change the hardware address (MAC address) assigned to eth0 (useful when setting up a router for a DSL or cable modem):

ifconfig eth0 hw ether 01:02:03:04:05:06

imapd

imapd [options]

TCP/IP command. The Interactive Mail Access Protocol (IMAP) server daemon. imapd is invoked by xinetd and listens on port 143 for requests from IMAP clients. IMAP allows mail programs to access remote mailboxes as if they were local. IMAP is a richer protocol than POP because it allows a client to retrieve message-level information from a server mailbox instead of the entire mailbox. IMAP can be used for online and offline reading. The popular Pine mail client contains support for IMAP. There are several versions of imapd available. Here we document the Cyrus IMAP server.

Options



-C file

Read configuration options from file instead of /etc/imapd.conf .



-s

Encrypt data using the Secure Socket Layer (SSL).



-T n

Wait n seconds for a new connection before closing the process. The default is 60.



-U n

Reuse process for new connections no more than n times.

inetd

inetd [options] [configuration_file]

TCP/IP command. The Internet services daemon. See xinetd .

info

info [options] [topics]

GNU hypertext reader. Display online documentation previously built from Texinfo input. Info files are arranged in a hierarchy and can contain menus for subtopics. When entered without options, the command displays the top-level info file (usually /usr/local/info/dir ). When topics are specified, find a subtopic by choosing the first topic from the menu in the top-level info file, the next topic from the new menu specified by the first topic , and so on. The initial display can also be controlled by the -f and -n options. If a specified topic has no info file but does have a manpage, info displays the manpage; if there is neither, the top-level info file is displayed.

Options



-d directories , --directory directories

Search directories , a colon-separated list, for info files. If this option is not specified, use the INFOPATH environment variable or the default directory (usually /usr/local/info ).



--dribble file

Store each keystroke in file , which can be used in a future session with the --restore option to return to this place in info .



-f file , --file file

Display specified info file.



-n node , --node node

Display specified node in the info file.



-o file , --output file

Copy output to file instead of displaying it on the screen.



--help

Display brief help.



--restore file

When starting, execute keystrokes in file .



--subnodes

Display subtopics.



--version

Display version.



--vi-keys

Use vi -like key bindings.

init

init [bootflags] [runlevel]

System administration command. Initialize system. Usually run from the boot loadere.g., lilo or grub .

Boot flags



-a , auto

Set the AUTOBOOT environment variable to yes . The boot loader will do this automatically when booting with the default command line.



-b

Boot directly into a single-user shell for emergency recovery.



-s , S , single

Single-user mode.



-b , emergency

Boot into single-user mode but do not run any other startup scripts.



-z characters

The specified characters are ignored, but will make the command line take up a bit more room on the stack. init uses the extra space to show the current runlevel when running the ps command.

Files

init is the first process run by any Unix machine at boot time. It verifies the integrity of all filesystems and then creates other processes, using fork and exec , as specified by /etc/inittab . Which processes may be run is controlled by runlevel . All process terminations are recorded in /var/run/utmp and /var/log/wtmp . When the runlevel changes, init sends SIGTERM and then, after 20 seconds, SIGKILL to all processes that cannot be run in the new runlevel.

Runlevels

The current runlevel may be changed by telinit , which is often just a link to init . The default runlevels vary from distribution to distribution, but these are standard:



0

Halt the system.



1, s, S

Single-user mode.



3

Multiuser mode, console login. This is commonly used in server configurations.



5

Full graphical mode. This is a common default for desktop configurations.



6

Reboot the system. Never set the default runlevel to 6.



q, Q

Reread /etc/inittab .

Check the /etc/inittab file for runlevels on your system.

insmod

insmod filename [module-options]

System administration command. Load the module filename into the kernel. Simpler but less flexible than the modprobe command. Error messages from insmod may be vague, because the kernel performs module operations internally and therefore sends error information to the kernel log instead of standard output; see dmesg .

install

install [options] [source] destination

System administration command. Used primarily in Makefile s to update files. install copies files into user-specified directories. Similar to cp , but attempts to set permission modes, owner, and group. The source may be a file or directory, or a list of files and directories. The destination should be a single file or directory.

Options



-b , --backup [ =control ]

Back up any existing files. When using the long version of the command, the optional control parameter controls the kind of backup. When no control is specified, install will attempt to read the control value from the VERSION_CONTROL environment variable. Accepted values are:



none , off

Never make backups.



numbered , t

Make numbered backups.



existing , nil

Match existing backups, numbered or simple.



simple , never

Always make simple backups.



-d , --directory

Create any missing directories.



-g group , --group group

Set group ID of new file to group (privileged users only).



--help

Print help message, then exit.



-m mode , --mode mode

Set permissions of new file to mode (octal or symbolic). By default, the mode is 0755.



-o [ owner ], --owner [ =owner ]

Set ownership to owner or, if unspecified, to root (privileged users only).



-p , --preserve-timestamps

Preserve access and modification times on source files and directories.



-s , --strip

Strip symbol tables.



-v , --verbose

Print name of each directory as it is created.



--version

Print version, then exit.



-C

Do not overwrite file when the target exists and is identical to the new file. Preserve original timestamp.



-D

Create leading components of destination except the last, then copy source to destination.



-S suffix , --suffix =suffix

Use suffix instead of the default backup suffix, usually ~ .

ipcrm

ipcrm [options]

System administration command. Remove interprocess communication (IPC) message queues, shared memory segments, or semaphore arrays. These may be specified either by numeric identifier or by key, using the following options.

Options



-m identifier , -M key

Remove specified shared memory segment and its associated data structures after the last detach is performed.



-q identifier , -Q key

Remove specified message queue and its associated data structures.



-s identifier , -S key

Remove specified semaphore array and its associated data structures.

ipcs

ipcs [options]

System administration command. Print report on interprocess communication (IPC) message queues, shared memory segments, and semaphore arrays for which the current process has read access. Options can be used to specify the type of resources to report on and the output format of the report.

Options

Resource specification options:



-a

Report on all IPC facilities: shared memory segments, message queues, and semaphore arrays. This is the default.



-m

Report on shared memory segments.



-q

Report on message queues.



-s

Report on semaphore arrays.

Output format options:



-b

Print information on maximum size of the resource: size in bytes of messages or shared memory segments, and the number of semaphores per set in the case of semaphore arrays.



-c

Print creator and owner user IDs for IPC facilities.



-l

Print resource maximum and minimum limits.



-o

Print outstanding usage of the resource in question: the number of messages and the total size of the message queue, or the number of processes using shared memory segments.



-p

Print creator and last operation process identifiers.



-t

Print attach, detach, and change times for shared memory segments, last operation and change times for semaphore arrays, and send, receive, and change times for message queues.



-u

Print summary of current resource usage.

Other options:



-h

Print help message, then exit.



-i identifier

Used in combination with the -m , -q , or -s options. Report only on the resource specified by numeric identifier .

iptables

iptables command [options]

System administration command. Configure netfilter filtering rules for kernels 2.4 and later. Rules for iptables consist of some matching criteria and a target, a result to be applied if the packet matches the criteria. The rules are organized into chains. You can use these rules to build a firewall, masquerade your local area network, or just reject certain kinds of network connections.

There are three built-in tables for iptables : one for network filtering ( filter ), one for Network Address Translation ( nat ), and the last for specialized packet alterations ( mangle ). Firewall rules are organized into chains, ordered checklists of rules that the kernel works through looking for matches. The filter table has three built-in chains: INPUT , OUTPUT , and FORWARD . The INPUT and OUTPUT chains handle packets originating from or destined for the host system. The FORWARD chain handles packets just passing through the host system. The nat table also has three built-in chains: PREROUTING , POSTROUTING , and OUTPUT . mangle has only two chains: PREROUTING and OUTPUT .

netfilter checks packets entering the system. After applying any PREROUTING rules, it passes them to the INPUT chain, or to the FORWARD chain if the packet is just passing through. Upon leaving, the system packets are passed to the OUTPUT chain and then on to any POSTROUTING rules. Each of these chains has a default target (a policy) in case no match is found. User-defined chains can also be created and used as targets for packets but do not have default policies. If no match can be found in a user-defined chain, the packet is returned to the chain from which it was called and tested against the next rule in that chain.

iptables changes only the rules in the running kernel. When the system is powered off, all changes are lost. You can use the iptables-save command to make a script you can run with iptables-restore to restore your firewall settings. Such a script is often called at bootup . Many distributions have an iptables initialization script that uses the output from iptables-save .

Commands

iptables is almost always invoked with one of the following commands:



-A chain rules , --append chain rules

Append new rules to chain .



-D chain rules , --delete chain rules

Delete rules from chain . Rules can be specified by their ordinal number in the chain as well as by a general rule description.



-E old-chain new-chain , --rename-chain old-chain new-chain

Rename old-chain to new-chain .



-F [ chain ], --flush [ chain ]

Remove all rules from chain , or from all chains if chain is not specified.



-I chain number rules , --insert chain number rules

Insert rules into chain at the ordinal position given by number .



-L [ chain ], --list [ chain ]

List the rules in chain , or all chains if chain is not specified.



-N chain , --new-chain chain

Create a new chain . The chain's name must be unique. This is how user-defined chains are created.



-P chain target , --policy chain target

Set the default policy for a built-in chain ; the target itself cannot be a chain.



-R chain number rule , --replace chain number rule

Replace a rule in chain . The rule to be replaced is specified by its ordinal number .



-X [ chain ], --delete-chain [ chain]

Delete the specified user-defined chain , or all user-defined chains if chain is not specified.



-Z [ chain ], --zero [ chain]

Zero the packet and byte counters in chain . If no chain is specified, all chains will be reset. When used without specifying a chain and combined with the -L command, list the current counter values before they are reset.

Targets

A target may be the name of a chain or one of the following special values:



ACCEPT

Let the packet through.



DROP

Drop the packet.



QUEUE

Send packets to the user space for processing.



RETURN

Stop traversing the current chain and return to the point in the previous chain from which this one was called. If RETURN is the target of a rule in a built-in chain, the built-in chain's default policy is applied.

Rule specification parameters

These options are used to create rules for use with the preceding commands. Rules consist of some matching criteria and usually a target to jump to ( -j ) if the match is made. Many of the parameters for these matching rules can be expressed as a negative with an exclamation point (!) meaning "not." Those rules will match everything except the given parameter.



-c packets bytes , --set-counters packets bytes

Initialize packet and byte counters to the specified values.



-d [!] address [/ mask ] [ ! ] [ port ], --destination [ ! ] address [/ mask ] [ port ]

Match packets from the destination address . The address may be supplied as a hostname, a network name, or an IP address. The optional mask is the netmask to use and may be supplied either in the traditional form (e.g., /255.255.255.0) or in the modern form (e.g., /24).



[!] -f, [!]--fragment

The rule applies only to the second or further fragments of a fragmented packet.



-i [!] name [+], --in-interface name [+]

Match packets being received from interface name . name is the network interface used by your system (e.g., eth0 or ppp0 ). A + can be used as a wildcard, so ppp+ would match any interface name beginning with ppp .



-j target , --jump target

Jump to a special target or a user-defined chain. If this option is not specified for a rule, matching the rule only increases the rule's counters, and the packet is tested against the next rule.



-o [!] name [+], --out-interface name [+]

Match packets being sent from interface name . See the description of -i for the syntax for name .



-p [!] name , --protocol [ ! ] name

Match packets of protocol name . The value of name can be given as a name or number, as found in the file /etc/protocols . The most common values are tcp , udp , icmp , or the special value all . The number 0 is equivalent to all , and this is the default value when this option is not used. If there are extended matching rules associated with the specified protocol, they will be loaded automatically. You need not use the -m option to load them.



-s [!] address [/ mask ] [ ! ] [ port ], --source [ ! ] address [/ mask ] [ ! ] [ port ]

Match packets with the source address . See the description of -d for the syntax of this option.

Options



-h [ icmp ], --help [ icmp ]

Print help message. If icmp is specified, a list of valid ICMP type names will be printed. -h can also be used with the -m option to get help on an extension module.



--line-numbers

Used with the -L command. Add the line number to the beginning of each rule in a listing, indicating its position in the chain.



-m module , --match module

Explicitly load matching rule extensions associated with module . See the next section.



--modprobe =command

Use specified command to load any necessary kernel modules while adding or inserting rules into a chain.



-n , --numeric

Print all IP address and port numbers in numeric form. By default, text names are displayed when possible.



-t name , --table name

Apply rules to the specified table. Rules apply to the filter table by default.



-v , --verbose

Verbose mode.



-x , --exact

Expand all numbers in a listing ( -L ). Display the exact value of the packet and byte counters instead of rounded figures.

Match extensions

Several modules extend the matching capabilities of netfilter rules. Using the -p option will cause iptables to load associated modules implicitly. Others need to be loaded explicitly with the -m or --match options. Here we document those modules used most frequently.



icmp

Loaded when -p icmp is the only protocol specified:



--icmp-type [!] type

Match the specified ICMP type . type may be a numeric ICMP type or one of the ICMP type names shown by the command iptables -p icmp -h .



multiport

Loaded explicitly with the -m option. The multiport extensions match sets of source or destination ports. These rules can be used only in conjunction with -p tcp and -p udp . Up to 15 ports can be specified in a comma-separated list:



--source-port [ ports ]

Match the given source ports .



--destination-port [ ports ]

Match the given destination ports .



--port [ ports ]

Match if the packet has the same source and destination port and that port is one of the given ports .



state

Loaded explicitly with the -m option. This module matches the connection state of a packet:



--state states

Match the packet if it has one of the states in the comma-separated list states . Valid states are INVALID , ESTABLISHED , NEW , and RELATED .



tcp

Loaded when -p tcp is the only protocol specified:



--source-port [!] [ port ][: port ], --sport [ ! ] [ port ][: port ]

Match the specified source ports. Using the colon specifies an inclusive range of services to match. If the first port is omitted, 0 is the default. If the second port is omitted, 65535 is the default. You can also use a dash instead of a colon to specify the range.



--destination-port [!] [ port ][: port ], --dport [ ! ] [ port ][: port ]

Match the specified destination ports. The syntax is the same as for --source-port .



--mss n [: n ]

Match if TCP SYN or SYN/ACK packets have the specified MSS value or fall within the specified range. Use this to control the maximum packet size for a connection.



[!] --syn

Match packets with the SYN bit set and the ACK and FIN bits cleared. These are packets that request TCP connections; blocking them prevents incoming connections. Shorthand for --tcp-flags SYN,RST,ACK SYN .



--tcp-flags [!] mask comp

Match the packets with the TCP flags specified by mask and comp . mask is a comma-separated list of flags that should be examined. comp is a comma-separated list of flags that must be set for the rule to match. Valid flags are SYN , ACK , FIN , RST , URG , PSH , ALL , and NONE .



--tcp-option [!] n

Match if TCP option is set.



udp

Loaded when -p udp is the only protocol specified:



--source-port [!] [ port ][: port ], --sport [ ! ] [ port ][: port ]

Match the specified source ports. The syntax is the same as for the --source-port option of the TCP extension.



--destination-port [!] [ port ][: port ], --dport [ ! ] [ port ][: port ]

Match the specified destination ports. The syntax is the same as for the --source-port option of the TCP extension.

Target extensions

Extension targets are optional additional targets supported by separate kernel modules. They have their own associated options. We cover the most frequently used target extensions below.



DNAT

Modify the destination address of the packet and all future packets in the current connection. DNAT is valid only as a part of the POSTROUTING chain in the nat table:



--to-destination address [- address ][ port-port ]

Specify the new destination address or range of addresses. The arguments for this option are the same as the --to-source argument for the SNAT extension target.



LOG

Log the packet's information in the system log:



--log-level level

Set the syslog level by name or number (as defined by syslog.conf ).



--log-prefix prefix

Begin each log entry with the string prefix . The prefix string may be up to 30 characters long.



--log-tcp-sequence

Log the TCP sequence numbers. This is a security risk if your log is readable by users.



--log-tcp-options

Log options from the TCP packet header.



--log-ip-options

Log options from the IP packet header.



MASQUERADE

Masquerade the packet so it appears that it originated from the current system. Reverse packets from masqueraded connections are unmasqueraded automatically. This is a legal target only for chains in the nat table that handle incoming packets and should be used only with dynamic IP addresses (like dial-up.) For static addresses use DNAT :



--to-ports port [- port ]

Specify the port or range of ports to use when masquerading. This option is valid only if a tcp or udp protocol has been specified with the -p option. If this option is not used, the masqueraded packet's port will not be changed.



REJECT

Drop the packet and, if appropriate, send an ICMP message back to the sender indicating the packet was dropped. If the packet was an ICMP error message, an unknown ICMP type, or a nonhead fragment, or if too many ICMP messages have already been sent to this address, no message is sent:



--reject-with type

Send specified ICMP message type. Valid values are icmp-net-unreachable , icmp-host-unreachable , icmp-port-unreachable , or icmp-proto-unreachable . If the packet was an ICMP ping packet, type may also be echo-reply .



SNAT

Modify the source address of the packet and all future packets in the current connection. SNAT is valid only as a part of the POSTROUTING chain in the nat table:



--to-source address [- address ][ port-port ]

Specify the new source address or range of addresses. If a tcp or udp protocol has been specified with the -p option, source ports may also be specified. If none is specified, map the new source to the same port if possible. If not, map ports below 512 to other ports below 512, those between 512 and 1024 to other ports below 1024, and ports above 1024 to other ports above 1024.

Examples

To reject all incoming ICMP traffic on eth0:

iptables -A INPUT -p ICMP -i eth0 -j  REJECT

iptables-restore

iptables-restore [options]

System administration command. Restore firewall rules from information provided on standard input. iptables-restore takes commands generated by iptables-save and uses them to restore the firewall rules for each chain. This is often used by initialization scripts to restore firewall settings on boot.

Options



-c , --counters

Restore packet and byte counter values.



-n , --noflush

Don't delete previous table contents.

iptables-save

iptables-save [options]

System administration command. Print the IP firewall rules currently stored in the kernel to stdout. Output may be redirected to a file that can later be used by iptables-restore to restore the firewall.

Options



-c , --counters

Save packet and byte counter values.



-t name , --table name

Print data from the specified table only.

isodump

isodump isoimage

Interactively display the contents of the ISO9660 image isoimage . Used to verify the integrity of the directory inside the image. isodump displays the first portion of the root directory and waits for commands. The prompt shows the extent number (zone) and offset within the extent, and the contents display at the top of the screen.

Commands



+

Search forward for the next instance of the search string.



a

Search backward within the image.



b

Search forward within the image.



f

Prompt for a new search string.



g

Prompt for a new starting block and go there.



q

Exit.

isoinfo

isoinfo [options]

Display information about ISO9660 images. You can use isoinfo to list the contents of an image, extract a file, or generate a find -like file list. The -i option is required to specify the image to examine.

Options



-d

Print information from the primary volume descriptor (PVD) of the ISO9660 image, including information about Rock Ridge and Joliet extensions if they are present.



-f

Generate output similar to the output of a find . -print command. Do not use with -l .



-h

Print help information and exit.



-i isoimage

Specify the path for the ISO9660 image to examine.



-j charset

Convert any Joliet filenames to the specified character set.



-J

Extract filename information from any Joliet extensions.



-l

Generate output similar to the output of an ls -lR command. Do not use with -f .



-N sector

To help examine single-session CD files that are to be written to a multisession CD. Specify the sector number at which the ISO9660 image is to be written when sent to the CD writer.



-p

Display path table information.



-R

Extract permission, filename, and ownership information from any Rock Ridge extensions.



-T sector

To help examine multisession images that have already been burned to a multisession CD. Use the specified sector number as the start of the session to display.



-x path

Extract the file at the specified path to standard output.

isosize

isosize [option] iso9660-img-file

Display the length of an ISO9660 filesystem contained in the specified file. The image file can be a normal file or a block device such as /dev/sr0 . With no options, the length is displayed in bytes. Only one of the two options can be specified.

Options



-d num

Display the size in bytes divided by num .



-x

Display the number of blocks and the block size (although the output refers to blocks as sectors).

isovfy

isovfy isoimage

Verify the integrity of the specified ISO9660 image and write the results to standard output.

ispell

ispell [options] [files]

Compare the words of one or more named files with the system dictionary. Display unrecognized words at the top of the screen, accompanied by possible correct spellings, and allow editing via a series of commands.

Options



-b

Back up original file in filename.bak .



-B

Count two correctly spelled words without a space between them as a spelling error.



-C

Count two correctly spelled words without a space between them as a legitimate compound word.



-d file

Search file instead of standard dictionary file.



-H

File is in HTML/XML format.



-m

Suggest combinations of known roots and affixes, even if the result is not known. For example, "generous" and "ly" are known, so "generously" would be suggested as a word, even if it were not in the dictionary.



-n

Expect nroff or troff input file.



-P

Do not guess new words using known roots and affixes. The opposite of -m .



-p file

Search file instead of personal dictionary file.



-t

Expect T E X or L A T E X input file.



-w chars

Consider chars to be legal, in addition to a-z and A-Z.



-x

Do not back up original file.



-B

Search for missing blanks (resulting in concatenated words) in addition to ordinary misspellings.



-C

Do not produce error messages in response to concatenated words.



-L number

Show number lines of context.



-M

List interactive commands at bottom of screen.



-N

Suppress printing of interactive commands.



-P

Do not attempt to suggest more root/ affix combinations.



-S

Sort suggested replacements by likelihood that they are correct.



-T type

Expect all files to be formatted by type .



-W n

Never consider words that are n characters or fewer to be misspelled .



-V

Use hat notation ( ^L ) to display control characters, and M- to display characters with the high bit set.

Interactive commands



?

Display help screen.



space

Accept the word in this instance.



number

Replace with suggested word that corresponds to number .



! command

Invoke shell and execute command in it. Prompt before exiting.



a

Accept word as correctly spelled, but do not add it to personal dictionary.



i

Accept word and add it (with any current capitalization) to personal dictionary.



l

Search system dictionary for words.



q

Exit without saving.



r

Replace word.



u

Accept word and add lowercase version of it to personal dictionary.



x

Skip to the next file, saving changes.



^L

Redraw screen.



^Z

Suspend ispell .

join

join [options] file1 file2

Join lines of two sorted files by matching on a common field. If either file1 or file2 is -, read from standard input. Often used to merge data stored in text-based file formats such as comma-separated-value formatted spreadsheets.

Options



-a filenum

Print a line for each unpairable line in file filenum , in addition to the normal output.



-e string

Replace missing input fields with string .



-i , --ignore-case

Ignore case differences when comparing keys.



-1 fieldnum1

The join field in file1 is fieldnum1 . Default is the first field.



-2 fieldnum2

The join field in file2 is fieldnum2 . Default is the first field.



-o fieldlist

Order the output fields according to fieldlist , where each entry in the list is in the form filenum . fieldnum . Entries are separated by commas or blanks.



-t char

Specifies the field-separator character (default is whitespace).



-v filenum

Print only unpairable lines from file filenum .



--help

Print help message and then exit.



--version

Print the version number and then exit.

kbd_mode

kbd_mode [option]

Print or set the current keyboard mode, which may be RAW , MEDIUMRAW , XLATE , or UNICODE .

Options



-a

Set mode to XLATE (ASCII mode).



-k

Set mode to MEDIUMRAW (keycode mode).



-s

Set mode to RAW (scancode mode).



-u

Set mode to UNICODE (UTF-8 mode).

kbdrate

kbdrate [options]

System administration command. Control the rate at which the keyboard repeats characters, as well as its delay time. Using this command without options sets a repeat rate of 10.9 characters per second; the default delay is 250 milliseconds. On boot, most Linux systems set the keyboard rate to 30 characters per second.

Options



-s

Suppress printing of messages.



-r rate

Specify the repeat rate, which must be one of the following numbers (all in characters per second): 2.0 , 2.1 , 2.3 , 2.5 , 2.7 , 3.0 , 3.3 , 3.7 , 4.0 , 4.3 , 4.6 , 5.0 , 5.5 , 6.0 , 6.7 , 7.5 , 8.0 , 8.6 , 9.2 , 10.0 , 10.9 , 12.0 , 13.3 , 15.0 , 16.0 , 17.1 , 18.5 , 20.0 , 21.8 , 24.0 , 26.7 , or 30.0 .



-d delay

Specify the delay, which must be one of the following (in milliseconds): 250 , 500 , 750 , or 1000 .

kernelversion

kernelversion

This command tells you what version of the Linux kernel you are using. It is also used by modutils and the /etc/modules.conf file to determine where to put kernel modules. It accepts no arguments or options.

kill

kill [options] [pids | commands]

Send a signal to terminate one or more process IDs. You must own the process or be a privileged user. If no signal is specified, TERM is sent.

This entry describes the /bin/kill command, which offers several powerful features. There are also built-in shell commands of the same name; the bash and ksh versions are described in Chapter 6.

In particular, /bin/kill allows you to specify a command name, such as gcc or xpdf , instead of a process ID (PID). All processes running that command with the same UID as the process issuing /bin/kill will be sent the signal.

If /bin/kill is issued with a pid of 0 , it sends the signal to all processes of its own process group. If /bin/kill is issued with a pid of -1 , it sends the signal to all processes except process 1 (the system's init process).

Options



-a

Kill all processes of the given name (if privileges allow), not just processes with the same UID. To use this option, specify the full path (e.g., /bin/kill -a gcc ).



-l

List all signals.



-p

Print the process ID of the named process, but don't send it a signal. To use this option, specify the full path (e.g., /bin/kill -p ).



-s SIGNAL , - SIGNAL

The signal number (from /usr/include/sys/signal.h ) or name (from kill -l ). With a signal number of 9 (KILL), the kill cannot be caught by the process; use this to kill a process that a plain kill doesn't terminate. The default is TERM. The letter flag itself is optional: both kill -9 1024 and kill -s 9 1024 terminate process 1024.

killall

killall [options] names

Kill processes by command name. If more than one process is running the specified command, kill all of them. Treats command names that contain a / as files; kill all processes that are executing that file.

Options



- signal

Send signal to process (default is TERM). signal may be a name or a number. The most commonly used signal is 9 , which terminates processes no matter what.



-e

Require an exact match to kill very long names (i.e., longer than 15 characters). Normally, killall kills everything that matches within the first 15 characters. With -e , such entries are skipped. (Use -v to print a message for each skipped entry.)



-g

Kill the process group to which the process belongs.



-i

Prompt for confirmation before killing processes.



-l

List known signal names.



-q

Quiet; do not complain of processes not killed .



-v

Verbose; after killing process, report success and process ID.



-V

Print version information.



-w

Wait for all killed processes to die. Note that killall may wait forever if the signal was ignored or had no effect, or if the process stays in zombie state.

killall5

killall5

The System V equivalent of killall , this command kills all processes except those on which it depends.

klogd

klogd [options]

System administration command. Control which kernel messages are displayed on the console, prioritize all messages, and log them through syslogd . On many operating systems, syslogd performs all the work of klogd , but on Linux the features are separated. Kernel messages are gleaned from the /proc filesystem and from system calls to syslogd . By default, no messages appear on the console. Messages are sorted into eight levels, 0-7, and the level number is prepended to each message.

Priority levels



0

Emergency situation ( KERN_EMERG ).



1

A crucial error has occurred ( KERN_ALERT ).



2

A serious error has occurred ( KERN_CRIT ).



3

An error has occurred ( KERN_ERR ).



4

A warning message ( KERN_WARNING ).



5

The situation is normal but should be checked ( KERN_NOTICE ).



6

Information only ( KERN_INFO ).



7

Debugging message ( KERN_DEBUG ).

Options



-c level

Print all messages of a higher priority (lower number) than level to the console.



-d

Debugging mode.



-f file

Print all messages to file ; suppress normal logging.



-i

Signal executing daemon to reload kernel module symbols.



-k file

Use file as source of kernel symbols.



-n

Avoid auto-backgrounding. This is needed when klogd is started from init .



-o

One-shot mode. Prioritize and log all current messages, then immediately exit.



-p

Reload kernel-module symbol information whenever an Oops string is detected.



-s

Suppress reading of messages from the /proc filesystem. Read from kernel message buffers instead.



-v

Print version, then exit.



-x

Don't translate instruction pointers (EIP). klogd will not read the System.map file.



-I

Signal executing daemon to reload both static kernel symbols and kernel module symbols.



-2

Print two lines for each symbol, one showing the symbol and the other showing its numerical value (address).

Files



/usr/include/linux/kernel.h , /usr/include/sys/syslog.h

Sources for definitions of each logging level.



/proc/kmsg

A file examined by klogd for messages.



/var/run/klogd.pid

klogd 's process ID.

kudzu

kudzu [options]

Red Hat Linux and relatives only. Detects new and changed hardware by comparing existing hardware against a database in /etc/sysconfig/hwconfig . Users are then given the opportunity to configure the hardware. Runs automatically at boot time.

Options



-b , --bus bus

Probe only on the bus specified.



-c , --class class

Probe only for the class of hardware specified.



-f , --file filename

Read hardware info from the specified file instead of probing for existing hardware.



-? , --help

Display help information.



-k , --kernel n

Check for kernel modules only in the specified kernel version.



-p , --probe

Probe only: print hardware information to stdout, but do not configure any devices found.



-q , --quiet

Do not prompt user for any information; perform only non-interactive configurations.



-s , --safe

Safe mode: skip probes that interrupt hardware currently in use. This does not check serial ports, DDC monitors, or PS/2 ports.



-t , --timeout n

Number of seconds to wait for user input on initial configuration dialog. No configuration will be written to disk if there is no user input during this time.



--usage

Display short usage message.

last

last [options] [username] [ttynumber]

Display a list of the most recent logins, taken from the file /var/log/wtmp by default. If you specify a tty number or username, the output will display only the logins for that user or terminal.

Options



-n number , - number

Choose how many lines of logins to display. Thus, last -7 or last -n 7 displays seven lines.



-R

Do not show the hostname from which logins originated.



-a

Display the hostname from which logins originated.



-d

Display both IP address and hostname.



-f filename

Get the list of logins from a file you choose. The default source is /var/log/wtmp .



-i

Display IP address and hostname. Display the IP address in the numbers-and-dots notation.



-o

Read an old-style (libc5 application) wtmp file. Not likely to be useful on newer systems.



-x

Display shutdown messages and runlevel messages.

lastb

lastb [options] [username] [ttynumber]

Display a list of recent bad login attempts (from the /var/log/btmp file). Accepts the same option flags and arguments as last .

lastlog

lastlog [options]

System administration command. Print the last login times for system accounts. Login information is read from the file /var/log/lastlog .

Options



-t n, --time n

Print only logins more recent than n days ago.



-u name, --user name

Print only login information for user name .

ld

ld [options] objfiles

Combine several objfiles , in the specified order, into a single executable object module ( a.out by default). ld is the link editor and is often invoked automatically by compiler commands. ld accepts many options, the most common of which are listed here.

Options



-b format , --format =format

If ld is configured to accept more than one kind of object file, this option can be used to specify the input format. format should be a GNU Binary File Descriptor (BFD), as described in the BFD library. Use objdump -i to list available formats.



-call_shared

Link with dynamic libraries.



-d , -dc , -dp

Force the assignment of space to common symbols.



-defsym symbol=expression

Create the global symbol with the value expression .



-demangle [ =style ]

Force demangling of symbol names. Optionally set the demangling style. Turn off demangling with -nodemangle .



-e symbol

Set symbol as the address of the output file's entry point.