Category Archives: Linux Man Pages


SORT(1) User Commands SORT(1)

sort – sort lines of text files

sort [OPTION]… [FILE]…

Write sorted concatenation of all FILE(s) to standard output.

Mandatory arguments to long options are mandatory for short options
too. Ordering options:

-b, –ignore-leading-blanks
ignore leading blanks

-d, –dictionary-order
consider only blanks and alphanumeric characters

-f, –ignore-case
fold lower case to upper case characters

-g, –general-numeric-sort
compare according to general numerical value

-i, –ignore-nonprinting
consider only printable characters

-M, –month-sort
compare (unknown) < `JAN’ < … < `DEC’

-n, –numeric-sort
compare according to string numerical value

-R, –random-sort
sort by random hash of keys

get random bytes from FILE (default /dev/urandom)

sort according to WORD: general-numeric -g, month -M, numeric
-n, random -R

-r, –reverse
reverse the result of comparisons

Other options:

-c, –check, –check=diagnose-first
check for sorted input; do not sort

-C, –check=quiet, –check=silent
like -c, but do not report first bad line

compress temporaries with PROG; decompress them with PROG -d

-k, –key=POS1[,POS2]
start a key at POS1, end it at POS2 (origin 1)

-m, –merge
merge already sorted files; do not sort

-o, –output=FILE
write result to FILE instead of standard output

-s, –stable
stabilize sort by disabling last-resort comparison

-S, –buffer-size=SIZE
use SIZE for main memory buffer

-t, –field-separator=SEP
use SEP instead of non-blank to blank transition

-T, –temporary-directory=DIR
use DIR for temporaries, not $TMPDIR or /tmp; multiple options
specify multiple directories

-u, –unique
with -c, check for strict ordering; without -c, output only the
first of an equal run

-z, –zero-terminated
end lines with 0 byte, not newline

–help display this help and exit

output version information and exit

POS is F[.C][OPTS], where F is the field number and C the character
position in the field; both are origin 1. If neither -t nor -b is in
effect, characters in a field are counted from the beginning of the
preceding whitespace. OPTS is one or more single-letter ordering
options, which override global ordering options for that key. If no
key is given, use the entire line as the key.

SIZE may be followed by the following multiplicative suffixes: % 1% of
memory, b 1, K 1024 (default), and so on for M, G, T, P, E, Z, Y.

With no FILE, or when FILE is -, read standard input.

*** WARNING *** The locale specified by the environment affects sort
order. Set LC_ALL=C to get the traditional sort order that uses native
byte values.

Written by Mike Haertel and Paul Eggert.

Report bugs to <>.

Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

The full documentation for sort is maintained as a Texinfo manual. If
the info and sort programs are properly installed at your site, the

info coreutils ‘sort invocation’

should give you access to the complete manual.

GNU coreutils 6.12 December 2008 SORT(1)

Technorati Tags: ,




wvdial – PPP dialer with built-in intelligence.


wvdial –help | –version | –chat | –config | option=value | –no-
syslog | section…


wvdial is an intelligent PPP dialer, which means that it dials a modem
and starts PPP in order to connect to the Internet. It is something
like the chat(8) program, except that it uses heuristics to guess how
to dial and log into your server rather than forcing you to write a
login script.

When wvdial starts, it first loads its configuration from
/etc/wvdial.conf and ~/.wvdialrc which contains basic information about
the modem port, speed, and init string, along with information about
your Internet Service Provider (ISP), such as the phone number, your
username, and your password.

Then it initializes your modem and dials the server and waits for a
connection (a CONNECT string from the modem). It understands and
responds to typical connection problems (like BUSY and NO DIALTONE).

Any time after connecting, wvdial will start PPP if it sees a PPP
sequence from the server. Otherwise, it tries to convince the server
to start PPP by doing the following:

– responding to any login/password prompts it sees;

– interpreting “choose one of the following”-style menus;

– eventually, sending the word “ppp” (a common terminal server com-

If all of this fails, wvdial just runs pppd(8) and hopes for the best.
It will bring up the connection, and then wait patiently for you to
drop the link by pressin CTRL-C.


Several options are recognized by wvdial.

–chat Run wvdial as a chat replacement from within pppd, instead of
the more normal method of having wvdial negotiate the connection
and then call pppd.

Override the Remote Name setting in the dialer configuration
section of the configuration file. This is mainly useful when
you dial to multiple systems with the same user name and pass-
word, and you don’t want to use inheritance to override this
setting (which is the recommended way to do it).

–config [configfile]
Run wvdial with configfile as the configuration file (instead of
/etc/wvdial.conf). This is mainly useful only if you want to
have per-user configurations, or you want to avoid having dial-
up information (usernames, passwords, calling card numbers,
etc.) in a system wide configuration file.

Don’t output debug information to the syslog daemon (only useful
together with –chat).

–help Prints a short message describing how to use wvdial and exits.

Displays wvdial’s version number and exits.

wvdial is normally run without command line options, in which case it
reads its configuration from the [Dialer Defaults] section of
/etc/wvdial.conf. (The configuration file is described in more detail
in wvdial.conf(5) manual page.)

One or more sections of /etc/wvdial.conf may be specified on the com-
mand line. Settings in these sections will override settings in
[Dialer Defaults].

For example, the command:
wvdial phone2

will read default options from the [Dialer Defaults] section, then
override any or all of the options with those found in the [Dialer
phone2] section.

If more than one section is specified, they are processed in the order
they are given. Each section will override all the sections that came
before it.

For example, the command:
wvdial phone2 pulse shh

will read default options from the [Dialer Defaults] section, then
override any or all of the options with those found in the [Dialer
phone2] section, followed by the [Dialer pulse] section, and lastly the
[Dialer shh] section.

Using this method, it is possible to easily configure wvdial to switch
between different internet providers, modem init strings, account
names, and so on without specifying the same configuration information
over and over.


“Intelligent” programs are frustrating when they don’t work right.
This version of wvdial has only minimal support for disabling or over-
riding its “intelligence”, with the “Stupid Mode”, “Login Prompt”, and
“Password Prompt” options. So, in general if you have a nice ISP, it
will probably work, and if you have a weird ISP, it might not.

Still, it’s not much good if it doesn’t work for you, right? Don’t be
fooled by the fact that wvdial finally made it to version 1.00; it
could well contain many bugs and misfeatures. Let us know if you have
problems by sending e-mail to .

Also, there is now a mailing list for discussion about wvdial. If you
are having problems, or have anything else to say, send e-mail to

You may encounter some error messages if you don’t have write access to
/etc/ppp/pap-secrets and /etc/ppp/chap-secrets. Unfortunately, there’s
really no nice way around this yet.


Configuration file which contains modem, dialing, and login
information. See

Serial port devices.

Required for correct authentication in pppd version 2.3.0 or

Contains a list of usernames and passwords used by pppd for
authentication. wvdial maintains this list automatically.


Dave Coombs and Avery Pennarun for Net Integration Technologies, as
part of the Worldvisions Weaver project. We would like to thank SuSE
and RedHat for adding a number of various cool features to Thanks guys!


wvdial.conf(5), wvdialconf(1), pppd(8), chat(8).


Worldvisions WvDial May 2001 WVDIAL(1)

Technorati Tags: , ,



mkfs – build a Linux file system

mkfs [ -V ] [ -t fstype ] [ fs-options ] filesys [ blocks ]

mkfs is used to build a Linux file system on a device, usually a hard
disk partition. filesys is either the device name (e.g. /dev/hda1,
/dev/sdb2). blocks is the number of blocks to be used for the file

The exit code returned by mkfs is 0 on success and 1 on failure.

In actuality, mkfs is simply a front-end for the various file system
builders (mkfs.fstype) available under Linux. The file system-specific
builder is searched for in a number of directories like perhaps /sbin,
/sbin/fs, /sbin/fs.d, /etc/fs, /etc (the precise list is defined at
compile time but at least contains /sbin and /sbin/fs), and finally in
the directories listed in the PATH environment variable. Please see
the file system-specific builder manual pages for further details.

-V Produce verbose output, including all file system-specific com-
mands that are executed. Specifying this option more than once
inhibits execution of any file system-specific commands. This
is really only useful for testing.

-t fstype
Specifies the type of file system to be built. If not speci-
fied, the default file system type (currently ext2) is used.

File system-specific options to be passed to the real file sys-
tem builder. Although not guaranteed, the following options are
supported by most file system builders.

-c Check the device for bad blocks before building the file system.

-l filename
Read the bad blocks list from filename

-v Produce verbose output.

All generic options must precede and not be combined with file system-
specific options. Some file system-specific programs do not support
the -v (verbose) option, nor return meaningful exit codes. Also, some
file system-specific programs do not automatically detect the device
size and require the blocks parameter to be specified.

David Engel (
Fred N. van Kempen (
Ron Sommeling (
The manual page was shamelessly adapted from Remy Card’s version for
the ext2 file system.

fs(5), badblocks(8), fsck(8), mkdosfs(8), mke2fs(8), mkfs.bfs(8),
mkfs.ext2(8), mkfs.ext3(8), mkfs.minix(8), mkfs.msdos(8), mkfs.vfat(8),
mkfs.xfs(8), mkfs.xiafs(8)

The mkfs command is part of the util-linux-ng package and is available

Version 1.9 Jun 1995 MKFS(8)

Technorati Tags: ,


MKNOD(1) User Commands MKNOD(1)

mknod – make block or character special files


Create the special file NAME of the given TYPE.

-Z, –context=CTX
set the SELinux security context of NAME to CTX

Mandatory arguments to long options are mandatory for short options

-m, –mode=MODE
set file permission bits to MODE, not a=rw – umask

–help display this help and exit

output version information and exit

Both MAJOR and MINOR must be specified when TYPE is b, c, or u, and
they must be omitted when TYPE is p. If MAJOR or MINOR begins with 0x
or 0X, it is interpreted as hexadecimal; otherwise, if it begins with
0, as octal; otherwise, as decimal. TYPE may be:

b create a block (buffered) special file

c, u create a character (unbuffered) special file

p create a FIFO

NOTE: your shell may have its own version of mknod, which usually
supersedes the version described here. Please refer to your shell’s
documentation for details about the options it supports.

Written by David MacKenzie.

Report bugs to <>.

Copyright © 2008 Free Software Foundation, Inc. License GPLv3+: GNU
GPL version 3 or later <>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.


The full documentation for mknod is maintained as a Texinfo manual. If
the info and mknod programs are properly installed at your site, the

info coreutils ‘mknod invocation’

should give you access to the complete manual.

GNU coreutils 6.12 May 2008 MKNOD(1)

Technorati Tags: ,


MKSWAP(8) Linux Programmer’s Manual MKSWAP(8)

mkswap – set up a Linux swap area

mkswap [-c] [-vN] [-f] [-p PSZ] [-L label] [-U uuid] device [size]

mkswap sets up a Linux swap area on a device or in a file.

(After creating the swap area, you need the swapon command to start
using it. Usually swap areas are listed in /etc/fstab so that they can
be taken into use at boot time by a swapon -a command in some boot

The device argument will usually be a disk partition (something like
/dev/hda4 or /dev/sdb7) but can also be a file. The Linux kernel does
not look at partition Id’s, but many installation scripts will assume
that partitions of hex type 82 (LINUX_SWAP) are meant to be swap parti-
tions. (Warning: Solaris also uses this type. Be careful not to kill
your Solaris partitions.)

The size parameter is superfluous but retained for backwards compati-
bility. (It specifies the desired size of the swap area in 1024-byte
blocks. mkswap will use the entire partition or file if it is omitted.
Specifying it is unwise – a typo may destroy your disk.)

The PSZ parameter specifies the page size to use. It is almost always
unnecessary (even unwise) to specify it, but certain old libc versions
lie about the page size, so it is possible that mkswap gets it wrong.
The symptom is that a subsequent swapon fails because no swap signature
is found. Typical values for PSZ are 4096 or 8192.

Linux knows about two styles of swap areas, old style and new style.
The last 10 bytes of the first page of the swap area distinguishes
them: old style has `SWAP_SPACE’, new style has `SWAPSPACE2′ as signa-

In the old style, the rest of this first page was a bit map, with a 1
bit for each usable page of the swap area. Since the first page holds
this bit map, the first bit is 0. Also, the last 10 bytes hold the
signature. So, if the page size is S, an old style swap area can
describe at most 8*(S-10)-1 pages used for swapping. With S=4096 (as
on i386), the useful area is at most 133890048 bytes (almost 128 MiB),
and the rest is wasted. On an alpha and sparc64, with S=8192, the use-
ful area is at most 535560992 bytes (almost 512 MiB).

The old setup wastes most of this bitmap page, because zero bits denote
bad blocks or blocks past the end of the swap space, and a simple inte-
ger suffices to indicate the size of the swap space, while the bad
blocks, if any, can simply be listed. Nobody wants to use a swap space
with hundreds of bad blocks. (I would not even use a swap space with 1
bad block.) In the new style swap area this is precisely what is done.

The maximum useful size of a swap area depends on the architecture and
the kernel version. It is roughly 2GiB on i386, PPC, m68k, ARM, 1GiB
on sparc, 512MiB on mips, 128GiB on alpha and 3TiB on sparc64. For ker-
nels after 2.3.3 there is no such limitation.

Note that before 2.1.117 the kernel allocated one byte for each page,
while it now allocates two bytes, so that taking a swap area of 2 GiB
in use might require 2 MiB of kernel memory.

Presently, Linux allows 32 swap areas (this was 8 before Linux 2.4.10).
The areas in use can be seen in the file /proc/swaps (since 2.1.25).

mkswap refuses areas smaller than 10 pages.

If you don’t know the page size that your machine uses, you may be able
to look it up with “cat /proc/cpuinfo” (or you may not – the contents
of this file depend on architecture and kernel version).

To setup a swap file, it is necessary to create that file before ini-
tializing it with mkswap , e.g. using a command like

# dd if=/dev/zero of=swapfile bs=1024 count=65536

Note that a swap file must not contain any holes (so, using cp(1) to
create the file is not acceptable).

-c Check the device (if it is a block device) for bad blocks before
creating the swap area. If any are found, the count is printed.

-f Force – go ahead even if the command is stupid. This allows the
creation of a swap area larger than the file or partition it
resides on. On SPARC, force creation of the swap area. Without
this option mkswap will refuse to create a v0 swap on a device
with a valid SPARC superblock, as that probably means one is
going to erase the partition table.

-p PSZ Specify the page size to use.

-L label
Specify a label, to allow swapon by label. (Only for new style
swap areas.)

-v0 Create an old style swap area.

-v1 Create a new style swap area.

If no -v option is given, mkswap will default to new style, but use old
style if the current kernel is older than 2.1.117 (and also if
PAGE_SIZE is less than 2048). The new style header does not touch the
first block, so may be preferable, in case you have a boot loader or
disk label there. If you need to use both 2.0 and 2.2 kernels, use the
-v0 option when creating the swapspace.

Version 0 (-v0) swap space format is no longer supported in 2.5+ ker-

-U uuid
Specify the uuid to use. The default is to generate UUIDs.

fdisk(8), swapon(8)

The mkswap command is part of the util-linux-ng package and is avail-
able from

Linux 2.2.4 25 March 1999 MKSWAP(8)

Technorati Tags: ,