/*此範例可用於換算配息或配股後在加進原本股數,需要幾年可以攤平。*/
int main (void)
{
int tmp, year = 20;
float stock_price = 11, number = 10, Distributions = 1.0, x, y;
/*[輸入參數] ==> year:輸入幾年、stock_price:目前股價或預測未來之平均股價、
number:原始股數、Distributions:配息*/
x = number;
for (tmp = 0; tmp <= year; tmp ++) {
y = x * (Distributions / stock_price); /*現金殖利率換算*/
printf("%d year\t=>[stock price]:%f, [number]:%f, [cash]:%f\n", tmp, stock_price, x, y);
x += y;
}
return 0
}
/*stock price:每年的股價、number:每年累積的總股數、cash:每年總股數所配的總股息*/
0 year =>[stock price]:11.000000, [number]:10.000000, [cash]:0.909091
1 year =>[stock price]:11.000000, [number]:10.909091, [cash]:0.991736
2 year =>[stock price]:11.000000, [number]:11.900826, [cash]:1.081893
3 year =>[stock price]:11.000000, [number]:12.982719, [cash]:1.180247
4 year =>[stock price]:11.000000, [number]:14.162967, [cash]:1.287542
5 year =>[stock price]:11.000000, [number]:15.450509, [cash]:1.404592
6 year =>[stock price]:11.000000, [number]:16.855101, [cash]:1.532282
7 year =>[stock price]:11.000000, [number]:18.387383, [cash]:1.671580
8 year =>[stock price]:11.000000, [number]:20.058962, [cash]:1.823542
9 year =>[stock price]:11.000000, [number]:21.882504, [cash]:1.989318
10 year =>[stock price]:11.000000, [number]:23.871822, [cash]:2.170166
11 year =>[stock price]:11.000000, [number]:26.041988, [cash]:2.367454
12 year =>[stock price]:11.000000, [number]:28.409443, [cash]:2.582677
13 year =>[stock price]:11.000000, [number]:30.992119, [cash]:2.817465
14 year =>[stock price]:11.000000, [number]:33.809586, [cash]:3.073599
15 year =>[stock price]:11.000000, [number]:36.883183, [cash]:3.353017
16 year =>[stock price]:11.000000, [number]:40.236198, [cash]:3.657836
17 year =>[stock price]:11.000000, [number]:43.894035, [cash]:3.990367
18 year =>[stock price]:11.000000, [number]:47.884403, [cash]:4.353127
19 year =>[stock price]:11.000000, [number]:52.237530, [cash]:4.748867
20 year =>[stock price]:11.000000, [number]:56.986397, [cash]:5.180582
搜尋此網誌
2013年3月22日 星期五
2013年3月5日 星期二
tail - output the last part of files(輸出檔案的最後部份)
NAME
tail - output the last part of files
SYNOPSIS
tail [OPTION]... [FILE]...
DESCRIPTION
Print the last 10 lines of each FILE to standard output. With more
than one FILE, precede each with a header giving the file name. With
no FILE, or when FILE is -, read standard input.
Mandatory arguments to long options are mandatory for short options
too.
-c, --bytes=K
output the last K bytes; alternatively, use -c +K to output
bytes starting with the Kth of each file
-f, --follow[={name|descriptor}]
output appended data as the file grows; -f, --follow, and --fol‐
low=descriptor are equivalent
-F same as --follow=name --retry
-n, --lines=K
output the last K lines, instead of the last 10; or use -n +K to
output lines starting with the Kth
--max-unchanged-stats=N
with --follow=name, reopen a FILE which has not changed size
after N (default 5) iterations to see if it has been unlinked or
renamed (this is the usual case of rotated log files)
--pid=PID
with -f, terminate after process ID, PID dies
-q, --quiet, --silent
never output headers giving file names
--retry
keep trying to open a file even when it is or becomes inaccessi‐
ble; useful when following by name, i.e., with --follow=name
-s, --sleep-interval=N
with -f, sleep for approximately N seconds (default 1.0) between
iterations
-v, --verbose
always output headers giving file names
--help display this help and exit
--version
output version information and exit
If the first character of K (the number of bytes or lines) is a `+',
print beginning with the Kth item from the start of each file, other‐
wise, print the last K items in the file. K may have a multiplier suf‐
fix: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB
1000*1000*1000, G 1024*1024*1024, and so on for T, P, E, Z, Y.
With --follow (-f), tail defaults to following the file descriptor,
which means that even if a tail'ed file is renamed, tail will continue
to track its end. This default behavior is not desirable when you
really want to track the actual name of the file, not the file descrip‐
tor (e.g., log rotation). Use --follow=name in that case. That causes
tail to track the named file in a way that accommodates renaming,
removal and creation.
AUTHOR
Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, and Jim Mey‐
ering.
REPORTING BUGS
Report tail bugs to bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:
Report tail translation bugs to
COPYRIGHT
Copyright © 2010 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.
SEE ALSO
The full documentation for tail is maintained as a Texinfo manual. If
the info and tail programs are properly installed at your site, the
command
info coreutils 'tail invocation'
should give you access to the complete manual.
GNU coreutils 8.5 June 2010 TAIL(1)
vim - Vi IMproved, a programmers text editor(一個程式設計的文字編輯器)
NAME
vim - Vi IMproved, a programmers text editor
SYNOPSIS
vim [options] [file ..]
vim [options] -
vim [options] -t tag
vim [options] -q [errorfile]
ex
view
gvim gview evim eview
rvim rview rgvim rgview
DESCRIPTION
Vim is a text editor that is upwards compatible to Vi. It can be used
to edit all kinds of plain text. It is especially useful for editing
programs.
There are a lot of enhancements above Vi: multi level undo, multi win‐
dows and buffers, syntax highlighting, command line editing, filename
completion, on-line help, visual selection, etc.. See ":help
vi_diff.txt" for a summary of the differences between Vim and Vi.
While running Vim a lot of help can be obtained from the on-line help
system, with the ":help" command. See the ON-LINE HELP section below.
Most often Vim is started to edit a single file with the command
vim file
More generally Vim is started with:
vim [options] [filelist]
If the filelist is missing, the editor will start with an empty buffer.
Otherwise exactly one out of the following four may be used to choose
one or more files to be edited.
file .. A list of filenames. The first one will be the current
file and read into the buffer. The cursor will be posi‐
tioned on the first line of the buffer. You can get to the
other files with the ":next" command. To edit a file that
starts with a dash, precede the filelist with "--".
- The file to edit is read from stdin. Commands are read
from stderr, which should be a tty.
-t {tag} The file to edit and the initial cursor position depends on
a "tag", a sort of goto label. {tag} is looked up in the
tags file, the associated file becomes the current file and
the associated command is executed. Mostly this is used
for C programs, in which case {tag} could be a function
name. The effect is that the file containing that function
becomes the current file and the cursor is positioned on
the start of the function. See ":help tag-commands".
-q [errorfile]
Start in quickFix mode. The file [errorfile] is read and
the first error is displayed. If [errorfile] is omitted,
the filename is obtained from the 'errorfile' option
(defaults to "AztecC.Err" for the Amiga, "errors.err" on
other systems). Further errors can be jumped to with the
":cn" command. See ":help quickfix".
Vim behaves differently, depending on the name of the command (the exe‐
cutable may still be the same file).
vim The "normal" way, everything is default.
ex Start in Ex mode. Go to Normal mode with the ":vi" command.
Can also be done with the "-e" argument.
view Start in read-only mode. You will be protected from writing
the files. Can also be done with the "-R" argument.
gvim gview
The GUI version. Starts a new window. Can also be done with
the "-g" argument.
evim eview
The GUI version in easy mode. Starts a new window. Can also
be done with the "-y" argument.
rvim rview rgvim rgview
Like the above, but with restrictions. It will not be possi‐
ble to start shell commands, or suspend Vim. Can also be
done with the "-Z" argument.
OPTIONS
The options may be given in any order, before or after filenames.
Options without an argument can be combined after a single dash.
+[num] For the first file the cursor will be positioned on line
"num". If "num" is missing, the cursor will be positioned
on the last line.
+/{pat} For the first file the cursor will be positioned on the
first occurrence of {pat}. See ":help search-pattern" for
the available search patterns.
+{command}
-c {command}
{command} will be executed after the first file has been
read. {command} is interpreted as an Ex command. If the
{command} contains spaces it must be enclosed in double
quotes (this depends on the shell that is used). Example:
Vim "+set si" main.c
Note: You can use up to 10 "+" or "-c" commands.
-S {file} {file} will be sourced after the first file has been read.
This is equivalent to -c "source {file}". {file} cannot
start with '-'. If {file} is omitted "Session.vim" is used
(only works when -S is the last argument).
--cmd {command}
Like using "-c", but the command is executed just before
processing any vimrc file. You can use up to 10 of these
commands, independently from "-c" commands.
-A If Vim has been compiled with ARABIC support for editing
right-to-left oriented files and Arabic keyboard mapping,
this option starts Vim in Arabic mode, i.e. 'arabic' is
set. Otherwise an error message is given and Vim aborts.
-b Binary mode. A few options will be set that makes it pos‐
sible to edit a binary or executable file.
-C Compatible. Set the 'compatible' option. This will make
Vim behave mostly like Vi, even though a .vimrc file
exists.
-d Start in diff mode. There should be two, three or four
file name arguments. Vim will open all the files and show
differences between them. Works like vimdiff(1).
-d {device} Open {device} for use as a terminal. Only on the Amiga.
Example: "-d con:20/30/600/150".
-D Debugging. Go to debugging mode when executing the first
command from a script.
-e Start Vim in Ex mode, just like the executable was called
"ex".
-E Start Vim in improved Ex mode, just like the executable was
called "exim".
-f Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in. On the Amiga, Vim
is not restarted to open a new window. This option should
be used when Vim is executed by a program that will wait
for the edit session to finish (e.g. mail). On the Amiga
the ":sh" and ":!" commands will not work.
--nofork Foreground. For the GUI version, Vim will not fork and
detach from the shell it was started in.
-F If Vim has been compiled with FKMAP support for editing
right-to-left oriented files and Farsi keyboard mapping,
this option starts Vim in Farsi mode, i.e. 'fkmap' and
'rightleft' are set. Otherwise an error message is given
and Vim aborts.
-g If Vim has been compiled with GUI support, this option
enables the GUI. If no GUI support was compiled in, an
error message is given and Vim aborts.
-h Give a bit of help about the command line arguments and
options. After this Vim exits.
-H If Vim has been compiled with RIGHTLEFT support for editing
right-to-left oriented files and Hebrew keyboard mapping,
this option starts Vim in Hebrew mode, i.e. 'hkmap' and
'rightleft' are set. Otherwise an error message is given
and Vim aborts.
-i {viminfo}
When using the viminfo file is enabled, this option sets
the filename to use, instead of the default "~/.viminfo".
This can also be used to skip the use of the .viminfo file,
by giving the name "NONE".
-L Same as -r.
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
-m Modifying files is disabled. Resets the 'write' option.
You can still modify the buffer, but writing a file is not
possible.
-M Modifications not allowed. The 'modifiable' and 'write'
options will be unset, so that changes are not allowed and
files can not be written. Note that these options can be
set to enable making modifications.
-N No-compatible mode. Reset the 'compatible' option. This
will make Vim behave a bit better, but less Vi compatible,
even though a .vimrc file does not exist.
-n No swap file will be used. Recovery after a crash will be
impossible. Handy if you want to edit a file on a very
slow medium (e.g. floppy). Can also be done with ":set
uc=0". Can be undone with ":set uc=200".
-nb Become an editor server for NetBeans. See the docs for
details.
-o[N] Open N windows stacked. When N is omitted, open one window
for each file.
-O[N] Open N windows side by side. When N is omitted, open one
window for each file.
-p[N] Open N tab pages. When N is omitted, open one tab page for
each file.
-R Read-only mode. The 'readonly' option will be set. You
can still edit the buffer, but will be prevented from acci‐
dently overwriting a file. If you do want to overwrite a
file, add an exclamation mark to the Ex command, as in
":w!". The -R option also implies the -n option (see
below). The 'readonly' option can be reset with ":set
noro". See ":help 'readonly'".
-r List swap files, with information about using them for
recovery.
-r {file} Recovery mode. The swap file is used to recover a crashed
editing session. The swap file is a file with the same
filename as the text file with ".swp" appended. See ":help
recovery".
-s Silent mode. Only when started as "Ex" or when the "-e"
option was given before the "-s" option.
-s {scriptin}
The script file {scriptin} is read. The characters in the
file are interpreted as if you had typed them. The same
can be done with the command ":source! {scriptin}". If the
end of the file is reached before the editor exits, further
characters are read from the keyboard.
-T {terminal}
Tells Vim the name of the terminal you are using. Only
required when the automatic way doesn't work. Should be a
terminal known to Vim (builtin) or defined in the termcap
or terminfo file.
-u {vimrc} Use the commands in the file {vimrc} for initializations.
All the other initializations are skipped. Use this to
edit a special kind of files. It can also be used to skip
all initializations by giving the name "NONE". See ":help
initialization" within vim for more details.
-U {gvimrc} Use the commands in the file {gvimrc} for GUI initializa‐
tions. All the other GUI initializations are skipped. It
can also be used to skip all GUI initializations by giving
the name "NONE". See ":help gui-init" within vim for more
details.
-V[N] Verbose. Give messages about which files are sourced and
for reading and writing a viminfo file. The optional num‐
ber N is the value for 'verbose'. Default is 10.
-v Start Vim in Vi mode, just like the executable was called
"vi". This only has effect when the executable is called
"ex".
-w {scriptout}
All the characters that you type are recorded in the file
{scriptout}, until you exit Vim. This is useful if you
want to create a script file to be used with "vim -s" or
":source!". If the {scriptout} file exists, characters are
appended.
-W {scriptout}
Like -w, but an existing file is overwritten.
-x Use encryption when writing files. Will prompt for a crypt
key.
-X Don't connect to the X server. Shortens startup time in a
terminal, but the window title and clipboard will not be
used.
-y Start Vim in easy mode, just like the executable was called
"evim" or "eview". Makes Vim behave like a click-and-type
editor.
-Z Restricted mode. Works like the executable starts with
"r".
-- Denotes the end of the options. Arguments after this will
be handled as a file name. This can be used to edit a
filename that starts with a '-'.
--echo-wid GTK GUI only: Echo the Window ID on stdout.
--help Give a help message and exit, just like "-h".
--literal Take file name arguments literally, do not expand wild‐
cards. This has no effect on Unix where the shell expands
wildcards.
--noplugin Skip loading plugins. Implied by -u NONE.
--remote Connect to a Vim server and make it edit the files given in
the rest of the arguments. If no server is found a warning
is given and the files are edited in the current Vim.
--remote-expr {expr}
Connect to a Vim server, evaluate {expr} in it and print
the result on stdout.
--remote-send {keys}
Connect to a Vim server and send {keys} to it.
--remote-silent
As --remote, but without the warning when no server is
found.
--remote-wait
As --remote, but Vim does not exit until the files have
been edited.
--remote-wait-silent
As --remote-wait, but without the warning when no server is
found.
--serverlist
List the names of all Vim servers that can be found.
--servername {name}
Use {name} as the server name. Used for the current Vim,
unless used with a --remote argument, then it's the name of
the server to connect to.
--socketid {id}
GTK GUI only: Use the GtkPlug mechanism to run gvim in
another window.
--version Print version information and exit.
ON-LINE HELP
Type ":help" in Vim to get started. Type ":help subject" to get help
on a specific subject. For example: ":help ZZ" to get help for the
"ZZ" command. Use
line-completion"). Tags are present to jump from one place to another
(sort of hypertext links, see ":help"). All documentation files can be
viewed in this way, for example ":help syntax.txt".
FILES
/usr/share/vim/vim72/doc/*.txt
The Vim documentation files. Use ":help doc-file-list"
to get the complete list.
/usr/share/vim/vim72/doc/tags
The tags file used for finding information in the docu‐
mentation files.
/usr/share/vim/vim72/syntax/syntax.vim
System wide syntax initializations.
/usr/share/vim/vim72/syntax/*.vim
Syntax files for various languages.
/usr/share/vim/vimrc
System wide Vim initializations.
~/.vimrc Your personal Vim initializations.
/usr/share/vim/gvimrc
System wide gvim initializations.
~/.gvimrc Your personal gvim initializations.
/usr/share/vim/vim72/optwin.vim
Script used for the ":options" command, a nice way to
view and set options.
/usr/share/vim/vim72/menu.vim
System wide menu initializations for gvim.
/usr/share/vim/vim72/bugreport.vim
Script to generate a bug report. See ":help bugs".
/usr/share/vim/vim72/filetype.vim
Script to detect the type of a file by its name. See
":help 'filetype'".
/usr/share/vim/vim72/scripts.vim
Script to detect the type of a file by its contents.
See ":help 'filetype'".
/usr/share/vim/vim72/print/*.ps
Files used for PostScript printing.
For recent info read the VIM home page:
SEE ALSO
vimtutor(1)
AUTHOR
Most of Vim was made by Bram Moolenaar, with a lot of help from others.
See ":help credits" in Vim.
Vim is based on Stevie, worked on by: Tim Thompson, Tony Andrews and
G.R. (Fred) Walter. Although hardly any of the original code remains.
BUGS
Probably. See ":help todo" for a list of known problems.
Note that a number of things that may be regarded as bugs by some, are
in fact caused by a too-faithful reproduction of Vi's behaviour. And
if you think other things are bugs "because Vi does it differently",
you should take a closer look at the vi_diff.txt file (or type :help
vi_diff.txt when in Vim). Also have a look at the 'compatible' and
'cpoptions' options.
2006 Apr 11 VIM(1)
cat - concatenate files and print on the standard output(把檔案連成一串與列印在標準輸出上)
NAME
cat - concatenate files and print on the standard output
SYNOPSIS
cat [OPTION]... [FILE]...
DESCRIPTION
Concatenate FILE(s), or standard input, to standard output.
-A, --show-all
equivalent to -vET
-b, --number-nonblank
number nonempty output lines
-e equivalent to -vE
-E, --show-ends
display $ at end of each line
-n, --number
number all output lines
-s, --squeeze-blank
suppress repeated empty output lines
-t equivalent to -vT
-T, --show-tabs
display TAB characters as ^I
-u (ignored)
-v, --show-nonprinting
use ^ and M- notation, except for LFD and TAB
--help display this help and exit
--version
output version information and exit
With no FILE, or when FILE is -, read standard input.
EXAMPLES
cat f - g
Output f's contents, then standard input, then g's contents.
cat Copy standard input to standard output.
AUTHOR
Written by Torbjorn Granlund and Richard M. Stallman.
REPORTING BUGS
Report cat bugs to bug-coreutils@gnu.org
GNU coreutils home page:
General help using GNU software:
Report cat translation bugs to
COPYRIGHT
Copyright © 2010 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.
SEE ALSO
The full documentation for cat is maintained as a Texinfo manual. If
the info and cat programs are properly installed at your site, the com‐
mand
info coreutils 'cat invocation'
should give you access to the complete manual.
GNU coreutils 8.5 June 2010 CAT(1)
more — file perusal filter for crt viewing(檔案瀏覽過濾,對於顯示於CRT)
NAME
more — file perusal filter for crt viewing
SYNOPSIS
more [-dlfpcsu] [-num] [+/pattern] [+linenum] [file ...]
DESCRIPTION
More is a filter for paging through text one screenful at a time. This
version is especially primitive. Users should realize that less(1) pro‐
vides more(1) emulation and extensive enhancements.
OPTIONS
Command line options are described below. Options are also taken from
the environment variable MORE (make sure to precede them with a dash
(``-'')) but command line options will override them.
-num This option specifies an integer which is the screen size (in
lines).
-d more will prompt the user with the message "[Press space to con‐
tinue, 'q' to quit.]" and will display "[Press 'h' for instruc‐
tions.]" instead of ringing the bell when an illegal key is
pressed.
-l more usually treats ^L (form feed) as a special character, and will
pause after any line that contains a form feed. The -l option will
prevent this behavior.
-f Causes more to count logical, rather than screen lines (i.e., long
lines are not folded).
-p Do not scroll. Instead, clear the whole screen and then display
the text.
-c Do not scroll. Instead, paint each screen from the top, clearing
the remainder of each line as it is displayed.
-s Squeeze multiple blank lines into one.
-u Suppress underlining.
+/ The +/ option specifies a string that will be searched for before
each file is displayed.
+num Start at line number num.
COMMANDS
Interactive commands for more are based on vi(1). Some commands may be
preceded by a decimal number, called k in the descriptions below. In the
following descriptions, ^X means control-X.
h or ? Help: display a summary of these commands. If you forget all
the other commands, remember this one.
SPACE Display next k lines of text. Defaults to current screen
size.
z Display next k lines of text. Defaults to current screen
size. Argument becomes new default.
RETURN Display next k lines of text. Defaults to 1. Argument
becomes new default.
d or ^D Scroll k lines. Default is current scroll size, initially
11. Argument becomes new default.
q or Q or INTERRUPT
Exit.
s Skip forward k lines of text. Defaults to 1.
f Skip forward k screenfuls of text. Defaults to 1.
b or ^B Skip backwards k screenfuls of text. Defaults to 1. Only
works with files, not pipes.
' Go to place where previous search started.
= Display current line number.
/pattern Search for kth occurrence of regular expression. Defaults to
1.
n Search for kth occurrence of last r.e. Defaults to 1.
!
Execute
v Start up an editor at current line. The editor is taken from
the environment variable VISUAL if defined, or EDITOR if VIS‐
UAL is not defined, or defaults to "vi" if neither VISUAL nor
EDITOR is defined.
^L Redraw screen
:n Go to kth next file. Defaults to 1.
:p Go to kth previous file. Defaults to 1.
:f Display current file name and line number
. Repeat previous command
ENVIRONMENT
More utilizes the following environment variables, if they exist:
MORE This variable may be set with favored options to more.
SHELL Current shell in use (normally set by the shell at login
time).
TERM Specifies terminal type, used by more to get the terminal
characteristics necessary to manipulate the screen.
SEE ALSO
vi(1), less(1)
AUTHORS
Eric Shienbrood, UC Berkeley
Modified by Geoff Peck, UCB to add underlining, single spacing
Modified by John Foderaro, UCB to add -c and MORE environment variable
HISTORY
The more command appeared in 3.0BSD. This man page documents more ver‐
sion 5.19 (Berkeley 6/29/88), which is currently in use in the Linux com‐
munity. Documentation was produced using several other versions of the
man page, and extensive inspection of the source code.
AVAILABILITY
The more command is part of the util-linux-ng package and is available
from ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
Linux 0.98 December 25, 1992 Linux 0.98
Linux Shell commands list(指令集)
=======================================================================
lspci - list all PCI devices
sudo - execute a command as another user
=======================================================================
lspci - list all PCI devices(列出所有PCI裝置)
NAME
lspci - list all PCI devices(列出所有PCI裝置)
SYNOPSIS
lspci [options]
DESCRIPTION
lspci is a utility for displaying information about PCI buses in the
system and devices connected to them.
By default, it shows a brief list of devices. Use the options described
below to request either a more verbose output or output intended for
parsing by other programs.
If you are going to report bugs in PCI device drivers or in lspci
itself, please include output of "lspci -vvx" or even better "lspci
-vvxxx" (however, see below for possible caveats).
Some parts of the output, especially in the highly verbose modes, are
probably intelligible only to experienced PCI hackers. For exact defi‐
nitions of the fields, please consult either the PCI specifications or
the header.h and /usr/include/linux/pci.h include files.
Access to some parts of the PCI configuration space is restricted to
root on many operating systems, so the features of lspci available to
normal users are limited. However, lspci tries its best to display as
much as available and mark all other information with
text.
OPTIONS
Basic display modes
-m Dump PCI device data in a backward-compatible machine readable
form. See below for details.
-mm Dump PCI device data in a machine readable form for easy parsing
by scripts. See below for details.
-t Show a tree-like diagram containing all buses, bridges, devices
and connections between them.
Display options
-v Be verbose and display detailed information about all devices.
-vv Be very verbose and display more details. This level includes
everything deemed useful.
-vvv Be even more verbose and display everything we are able to
parse, even if it doesn't look interesting at all (e.g., unde‐
fined memory regions).
-k Show kernel drivers handling each device and also kernel modules
capable of handling it. Turned on by default when -v is given
in the normal mode of output. (Currently works only on Linux
with kernel 2.6 or newer.)
-x Show hexadecimal dump of the standard part of the configuration
space (the first 64 bytes or 128 bytes for CardBus bridges).
-xxx Show hexadecimal dump of the whole PCI configuration space. It
is available only to root as several PCI devices crash when you
try to read some parts of the config space (this behavior proba‐
bly doesn't violate the PCI standard, but it's at least very
stupid). However, such devices are rare, so you needn't worry
much.
-xxxx Show hexadecimal dump of the extended (4096-byte) PCI configura‐
tion space available on PCI-X 2.0 and PCI Express buses.
-b Bus-centric view. Show all IRQ numbers and addresses as seen by
the cards on the PCI bus instead of as seen by the kernel.
-D Always show PCI domain numbers. By default, lspci suppresses
them on machines which have only domain 0.
Options to control resolving ID's to names
-n Show PCI vendor and device codes as numbers instead of looking
them up in the PCI ID list.
-nn Show PCI vendor and device codes as both numbers and names.
-q Use DNS to query the central PCI ID database if a device is not
found in the local pci.ids file. If the DNS query succeeds, the
result is cached in ~/.pciids-cache and it is recognized in sub‐
sequent runs even if -q is not given any more. Please use this
switch inside automated scripts only with caution to avoid over‐
loading the database servers.
-qq Same as -q, but the local cache is reset.
-Q Query the central database even for entries which are recognized
locally. Use this if you suspect that the displayed entry is
wrong.
Options for selection of devices
-s [[[[
Show only devices in the specified domain (in case your machine
has several host bridges, they can either share a common bus
number space or each of them can address a PCI domain of its
own; domains are numbered from 0 to ffff), bus (0 to ff), slot
(0 to 1f) and function (0 to 7). Each component of the device
address can be omitted or set to "*", both meaning "any value".
All numbers are hexadecimal. E.g., "0:" means all devices on
bus 0, "0" means all functions of device 0 on any bus, "0.3"
selects third function of device 0 on all buses and ".4" shows
only the fourth function of each device.
-d [
Show only devices with specified vendor and device ID. Both ID's
are given in hexadecimal and may be omitted or given as "*",
both meaning "any value".
Other options
-i
Use
/usr/share/misc/pci.ids.
-p
Use
default, lspci uses /lib/modules/kernel_version/modules.pcimap.
Applies only to Linux systems with recent enough module tools.
-M Invoke bus mapping mode which performs a thorough scan of all
PCI devices, including those behind misconfigured bridges, etc.
This option gives meaningful results only with a direct hardware
access mode, which usually requires root privileges. Please
note that the bus mapper only scans PCI domain 0.
--version
Shows lspci version. This option should be used stand-alone.
PCI access options
The PCI utilities use the PCI library to talk to PCI devices (see
pcilib(7) for details). You can use the following options to influence
its behavior:
-A
The library supports a variety of methods to access the PCI
hardware. By default, it uses the first access method avail‐
able, but you can use this option to override this decision. See
-A help for a list of available methods and their descriptions.
-O =
The behavior of the library is controlled by several named
parameters. This option allows to set the value of any of the
parameters. Use -O help for a list of known parameters and their
default values.
-H1 Use direct hardware access via Intel configuration mechanism 1.
(This is a shorthand for -A intel-conf1.)
-H2 Use direct hardware access via Intel configuration mechanism 2.
(This is a shorthand for -A intel-conf2.)
-F
Instead of accessing real hardware, read the list of devices and
values of their configuration registers from the given file pro‐
duced by an earlier run of lspci -x. This is very useful for
analysis of user-supplied bug reports, because you can display
the hardware configuration in any way you want without disturb‐
ing the user with requests for more dumps.
-G Increase debug level of the library.
MACHINE READABLE OUTPUT
If you intend to process the output of lspci automatically, please use
one of the machine-readable output formats (-m, -vm, -vmm) described in
this section. All other formats are likely to change between versions
of lspci.
All numbers are always printed in hexadecimal. If you want to process
numeric ID's instead of names, please add the -n switch.
Simple format (-m)
In the simple format, each device is described on a single line, which
is formatted as parameters suitable for passing to a shell script,
i.e., values separated by whitespaces, quoted and escaped if necessary.
Some of the arguments are positional: slot, class, vendor name, device
name, subsystem vendor name and subsystem name (the last two are empty
if the device has no subsystem); the remaining arguments are option-
like:
-rrev Revision number.
-pprogif
Programming interface.
The relative order of positional arguments and options is undefined.
New options can be added in future versions, but they will always have
a single argument not separated from the option by any spaces, so they
can be easily ignored if not recognized.
Verbose format (-vmm)
The verbose output is a sequence of records separated by blank lines.
Each record describes a single device by a sequence of lines, each line
containing a single `tag: value' pair. The tag and the value are sepa‐
rated by a single tab character. Neither the records nor the lines
within a record are in any particular order. Tags are case-sensitive.
The following tags are defined:
Slot The name of the slot where the device resides
([domain:]bus:device.function). This tag is always the first in
a record.
Class Name of the class.
Vendor Name of the vendor.
Device Name of the device.
SVendor
Name of the subsystem vendor (optional).
SDevice
Name of the subsystem (optional).
PhySlot
The physical slot where the device resides (optional, Linux
only).
Rev Revision number (optional).
ProgIf Programming interface (optional).
Driver Kernel driver currently handling the device (optional, Linux
only).
Module Kernel module reporting that it is capable of handling the
device (optional, Linux only).
New tags can be added in future versions, so you should silently ignore
any tags you don't recognize.
Backward-compatible verbose format (-vm)
In this mode, lspci tries to be perfectly compatible with its old ver‐
sions. It's almost the same as the regular verbose format, but the
Device tag is used for both the slot and the device name, so it occurs
twice in a single record. Please avoid using this format in any new
code.
FILES
/usr/share/misc/pci.ids
A list of all known PCI ID's (vendors, devices, classes and sub‐
classes). Maintained at http://pciids.sourceforge.net/, use the
update-pciids utility to download the most recent version.
/usr/share/misc/pci.ids.gz
If lspci is compiled with support for compression, this file is
tried before pci.ids.
~/.pciids-cache
All ID's found in the DNS query mode are cached in this file.
BUGS
Sometimes, lspci is not able to decode the configuration registers com‐
pletely. This usually happens when not enough documentation was avail‐
able to the authors. In such cases, it at least prints the mark to
signal that there is potentially something more to say. If you know the
details, patches will be of course welcome.
Access to the extended configuration space is currently supported only
by the linux_sysfs back-end.
SEE ALSO
setpci(8), update-pciids(8), pcilib(7)
AUTHOR
The PCI Utilities are maintained by Martin Mares
pciutils-3.1.7 31 January 2010 lspci(8)
訂閱:
文章 (Atom)