├── .gitignore ├── .travis.yml ├── CHANGES.txt ├── LICENSE.txt ├── MANIFEST.in ├── README.md ├── README.rst ├── aima ├── __init__.py ├── agents.py ├── csp.py ├── doctests.py ├── games.py ├── images │ ├── IMAGE-CREDITS │ ├── dirt.svg │ ├── dirt05-icon.jpg │ ├── makefile │ ├── vacuum-icon.jpg │ ├── vacuum.svg │ └── wall-icon.jpg ├── learning.py ├── logic.py ├── mdp.py ├── nlp.py ├── planning.py ├── probability.doctest ├── probability.py ├── rl.py ├── search.py ├── text.py └── utils.py ├── bin └── newversion.sh ├── data ├── EN-text │ ├── flatland.txt │ ├── gutenberg.txt │ ├── pride.txt │ ├── sense.txt │ ├── spam.txt │ ├── wordlist │ └── zola.txt ├── MAN │ ├── cat.txt │ ├── cd.txt │ ├── chmod.txt │ ├── chown.txt │ ├── cp.txt │ ├── cut.txt │ ├── date.txt │ ├── dd.txt │ ├── df.txt │ ├── diff.txt │ ├── du.txt │ ├── echo.txt │ ├── expr.txt │ ├── find.txt │ ├── finger.txt │ ├── grep.txt │ ├── gzip.txt │ ├── head.txt │ ├── info.txt │ ├── jar.txt │ ├── join.txt │ ├── kill.txt │ ├── ln.txt │ ├── login.txt │ ├── lpr.txt │ ├── ls.txt │ ├── man.txt │ ├── mkdir.txt │ ├── more.txt │ ├── mv.txt │ ├── passwd.txt │ ├── paste.txt │ ├── perl.txt │ ├── pico.txt │ ├── pine.txt │ ├── ps.txt │ ├── pwd.txt │ ├── python.txt │ ├── rm.txt │ ├── rmdir.txt │ ├── scp.txt │ ├── shred.txt │ ├── sort.txt │ ├── tail.txt │ ├── tar.txt │ ├── touch.txt │ ├── tr.txt │ ├── vi.txt │ ├── wc.txt │ ├── who.txt │ ├── whoami.txt │ ├── whois.txt │ ├── yes.txt │ └── zip.txt ├── README.txt ├── ascii-robotdata1.log ├── ascii-robotdata1.txt ├── iris.csv ├── iris.txt ├── orings.csv ├── orings.txt ├── readme.htm ├── readme.html ├── restaurant.csv ├── zoo.csv └── zoo.txt ├── requirements.txt ├── setup.cfg └── setup.py /.gitignore: -------------------------------------------------------------------------------- 1 | *.pyc 2 | MANIFEST 3 | dist/ 4 | -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: python 2 | python: 3 | - 2.7 4 | # - 3.3 5 | before_install: 6 | # - sudo -H apt-get install gfortran-4.6 7 | # - sudo -H pip install --upgrade pip 8 | # - sudo -H pip install --upgrade setuptools 9 | # - sudo -H pip install --upgrade virtualenv 10 | # - wget http://repo.continuum.io/miniconda/Miniconda-latest-Linux-x86_64.sh -O miniconda.sh 11 | # - chmod +x miniconda.sh 12 | # - ./miniconda.sh -b 13 | # - export PATH=/home/travis/miniconda/bin:$PATH 14 | # - conda update --yes conda 15 | # - conda install --yes python=$TRAVIS_PYTHON_VERSION pyparsing atlas numpy scipy matplotlib dateutil Pillow statsmodels 16 | install: 17 | # No dependenceis? 18 | - pip install -r requirements.txt 19 | - python setup.py install 20 | # - pip install . 21 | - pip freeze 22 | script: 23 | - cd aima 24 | - python doctests.py *.py 25 | # - python setup.py test 26 | notifications: 27 | email: 28 | - admin@totalgood.com 29 | -------------------------------------------------------------------------------- /CHANGES.txt: -------------------------------------------------------------------------------- 1 | CHANGES 2 | ======== 3 | 4 | 2011.201 Last significant commit to code.google.com/p/aima-python -- 2011 5 | ------ 6 | 7 | * svn commit number 201 8 | * committed by "withal" 9 | 10 | 2013.202 Darius fixed "Issue 35" on code.google.com/p/aima-python -- 2013 11 | ------ 12 | 13 | * svn commit number 202 14 | * committed by "withal" 15 | 16 | 2014.0 logistics refactoring, port repo to git and make pypi+github-friendly 17 | --------- 18 | 19 | * move code to folder named after pypi package (aima) 20 | * svn repo authors and commit history ported to git and pushed to github 21 | * setup.py and aima/__init__.py (with version and authors) added by Hobson 22 | * CHANGES.txt, LICENSE.txt (MIT) 23 | * svn wiki ported to README as markdown 24 | * empty requirements.txt 25 | * .travis.yml for continuous deployment testing and green button on github 26 | 27 | 2015.2.15 allow unhashable states in search.Node 28 | ----- 29 | 30 | * add force_hashable() function 31 | * use `force_hashable()` when assigning states to nodes and hashing states -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | Copyright (c) 2011 peter.norvig@gmail.com 2 | 3 | Permission is hereby granted, free of charge, to any person obtaining a copy 4 | of this software and associated documentation files (the "Software"), to deal 5 | in the Software without restriction, including without limitation the rights 6 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | copies of the Software, and to permit persons to whom the Software is 8 | furnished to do so, subject to the following conditions: 9 | 10 | The above copyright notice and this permission notice shall be included in 11 | all copies or substantial portions of the Software. 12 | 13 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | THE SOFTWARE. -------------------------------------------------------------------------------- /MANIFEST.in: -------------------------------------------------------------------------------- 1 | # MANIFEST.in 2 | # list of non-Python files that should be included with every distribution (pip install) 3 | # no need to list *.py as they will always automatically be included 4 | include README.md LICENSE.txt 5 | include *.txt 6 | include *.md 7 | include data/*.csv 8 | include data/*.log 9 | include data/*.txt 10 | include data/*.htm 11 | include data/*.html 12 | include aima/images/*.jpg 13 | include aima/images/*.svg 14 | include aima/images/IMAGE-CREDITS 15 | 16 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Introduction 2 | 3 | This file gives an overview of the Python code for the algorithms in the textbook Artificial Intelligence: A Modern Approach, also known as AIMA. The code is offered free for your use under the MIT License. As you may know, the textbook presents algorithms in pseudo-code format; as a supplement we provide this code. The intent is to implement all the algorithms in the book, but we are not done yet. 4 | 5 | # Prerequisites 6 | 7 | The code is meant for Python 2.5 through 2.7. 8 | 9 | # How to Browse the Code 10 | 11 | You can get some use out of the code here just by browsing, starting at the root of the source tree or by clicking on the links in the index on the project home page. The source code is in the .py files; the .txt files give examples of how to use the code. 12 | 13 | # How to Install the Code 14 | 15 | If you like what you see, install the code using either one of these methods: 16 | 17 | From a command shell on your computer, execute the svn checkout command given on the source tab of the project. This assumes you have previously installed the version control system Subversion (svn). 18 | Download and unzip the zip file listed as a "Featured download"on the right hand side of the project home page. This is currently (Oct 2011) long out of date; we mean to make a new .zip when the svn checkout settles down. 19 | 20 | You'll also need to install the data files from the aima-data project. These are text files that are used by the tests in the aima-python project, and may be useful for yout own work. 21 | 22 | You can put the code anywhere you want on your computer, but it should be in one directory (you might call it aima but you are free to use whatever name you want) with aima-python as a subdirectory that contains all the files from this project, and data as a parallel subdirectory that contains all the files from the aima-data project. 23 | 24 | # How to Test the Code 25 | 26 | First, you need to install Python (version 2.5 through 2.7; parts of the code may work in other versions, but don't expect it to). Python comes preinstalled on most versions of Linux and Mac OS. Versions are also available for Windows, Solaris, and other operating systems. If your system does not have Python installed, you can download and install it for free. 27 | 28 | In the aima-python directory, execute the command 29 | 30 | python doctests.py -v *.py 31 | 32 | The "-v" is optional; it means "verbose". Various output is printed, but if all goes well there should be no instances of the word "Failure", nor of a long line of "". If you do use the "-v" option, the last line printed should be "Test passed." 33 | 34 | # How to Run the Code 35 | 36 | You're on your own -- experiment! Create a new python file, import the modules you need, and call the functions you want. 37 | 38 | # Acknowledgements 39 | 40 | Many thanks for the bug reports, corrected code, and other support from Phil Ruggera, Peng Shao, Amit Patil, Ted Nienstedt, Jim Martin, Ben Catanzariti, and others. -------------------------------------------------------------------------------- /README.rst: -------------------------------------------------------------------------------- 1 | Introduction 2 | ============ 3 | 4 | This file gives an overview of the Python code for the algorithms in the 5 | textbook Artificial Intelligence: A Modern Approach, also known as AIMA. 6 | The code is offered free for your use under the MIT License. As you may 7 | know, the textbook presents algorithms in pseudo-code format; as a 8 | supplement we provide this code. The intent is to implement all the 9 | algorithms in the book, but we are not done yet. 10 | 11 | Prerequisites 12 | ============= 13 | 14 | The code is meant for Python 2.5 through 2.7. 15 | 16 | How to Browse the Code 17 | ====================== 18 | 19 | You can get some use out of the code here just by browsing, starting at 20 | the root of the source tree or by clicking on the links in the index on 21 | the project home page. The source code is in the .py files; the .txt 22 | files give examples of how to use the code. 23 | 24 | How to Install the Code 25 | ======================= 26 | 27 | If you like what you see, install the code using either one of these 28 | methods: 29 | 30 | From a command shell on your computer, execute the svn checkout command 31 | given on the source tab of the project. This assumes you have previously 32 | installed the version control system Subversion (svn). Download and 33 | unzip the zip file listed as a "Featured download"on the right hand side 34 | of the project home page. This is currently (Oct 2011) long out of date; 35 | we mean to make a new .zip when the svn checkout settles down. 36 | 37 | You'll also need to install the data files from the aima-data project. 38 | These are text files that are used by the tests in the aima-python 39 | project, and may be useful for yout own work. 40 | 41 | You can put the code anywhere you want on your computer, but it should 42 | be in one directory (you might call it aima but you are free to use 43 | whatever name you want) with aima-python as a subdirectory that contains 44 | all the files from this project, and data as a parallel subdirectory 45 | that contains all the files from the aima-data project. 46 | 47 | How to Test the Code 48 | ==================== 49 | 50 | First, you need to install Python (version 2.5 through 2.7; parts of the 51 | code may work in other versions, but don't expect it to). Python comes 52 | preinstalled on most versions of Linux and Mac OS. Versions are also 53 | available for Windows, Solaris, and other operating systems. If your 54 | system does not have Python installed, you can download and install it 55 | for free. 56 | 57 | In the aima-python directory, execute the command 58 | 59 | :: 60 | 61 | python doctests.py -v *.py 62 | 63 | The "-v" is optional; it means "verbose". Various output is printed, but 64 | if all goes well there should be no instances of the word "Failure", nor 65 | of a long line of "". If you do use the "-v" option, the last line 66 | printed should be "Test passed." 67 | 68 | How to Run the Code 69 | =================== 70 | 71 | You're on your own -- experiment! Create a new python file, import the 72 | modules you need, and call the functions you want. 73 | 74 | Acknowledgements 75 | ================ 76 | 77 | Many thanks for the bug reports, corrected code, and other support from 78 | Phil Ruggera, Peng Shao, Amit Patil, Ted Nienstedt, Jim Martin, Ben 79 | Catanzariti, and others. 80 | -------------------------------------------------------------------------------- /aima/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (C) 2009-2014 Peter Norvig 2 | 3 | # Permission is hereby granted, free of charge, to any person obtaining a copy 4 | # of this software and associated documentation files (the "Software"), to deal 5 | # in the Software without restriction, including without limitation the rights 6 | # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 7 | # copies of the Software, and to permit persons to whom the Software is 8 | # furnished to do so, subject to the following conditions: 9 | 10 | # The above copyright notice and this permission notice shall be included in 11 | # all copies or substantial portions of the Software. 12 | 13 | # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 14 | # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 15 | # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 16 | # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 17 | # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 18 | # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 19 | # THE SOFTWARE. 20 | """aima -- Artificial Intelligence, A Modern Approach, by Stuart Russell and Peter Norvig""" 21 | 22 | __version__ = '2015.4.5' 23 | __authors__ = [ 24 | 'Peter Norvig ', 25 | 'Darius Bacon ', 26 | 'Spotted Metal? ', 27 | 'S R Burnet? ', 28 | 'Phil Ruggera', 29 | 'Peng Shao', 30 | 'Amit Patil', 31 | 'Ted Nienstedt', 32 | 'Jim Martin', 33 | 'Ben Catanzariti', 34 | 'Hobson Lane ' 35 | ] 36 | __github_url__ = "https://github.com/hobson/%s" % (__name__) 37 | 38 | # import utils 39 | # import text 40 | # import search 41 | # import probability 42 | # import logic 43 | # import rl 44 | __all__ = ['utils', 'text', 'search', 'probability', 'logic', 'rl'] 45 | 46 | 47 | # import pkgutil 48 | # __all__ = [] 49 | # for loader, module_name, is_pkg in pkgutil.walk_packages(__path__): 50 | # __all__.append(module_name) 51 | # module = loader.find_module(module_name).load_module(module_name) 52 | # exec('%s = module' % module_name) -------------------------------------------------------------------------------- /aima/doctests.py: -------------------------------------------------------------------------------- 1 | """Run all doctests from modules on the command line. Use -v for verbose. 2 | 3 | Example usages: 4 | 5 | python doctests.py *.py 6 | python doctests.py -v *.py 7 | 8 | You can add more module-level tests with 9 | __doc__ += "..." 10 | You can add stochastic tests with 11 | __doc__ += random_tests("...") 12 | """ 13 | 14 | from aima.utils import ignore 15 | 16 | if __name__ == "__main__": 17 | import sys, glob, doctest 18 | args = [arg for arg in sys.argv[1:] if arg != '-v'] 19 | if not args: args = ['*.py'] 20 | modules = [__import__(name.replace('.py','')) 21 | for arg in args for name in glob.glob(arg)] 22 | for module in modules: 23 | doctest.testmod(module, report=1, optionflags=doctest.REPORT_UDIFF) 24 | summary = doctest.master.summarize() if modules else (0, 0) 25 | print '%d failed out of %d' % summary 26 | -------------------------------------------------------------------------------- /aima/games.py: -------------------------------------------------------------------------------- 1 | """Games, or Adversarial Search. (Chapter 5) 2 | """ 3 | 4 | from utils import * 5 | import random 6 | 7 | #______________________________________________________________________________ 8 | # Minimax Search 9 | 10 | def minimax_decision(state, game): 11 | """Given a state in a game, calculate the best move by searching 12 | forward all the way to the terminal states. [Fig. 5.3]""" 13 | 14 | player = game.to_move(state) 15 | 16 | def max_value(state): 17 | if game.terminal_test(state): 18 | return game.utility(state, player) 19 | v = -infinity 20 | for a in game.actions(state): 21 | v = max(v, min_value(game.result(state, a))) 22 | return v 23 | 24 | def min_value(state): 25 | if game.terminal_test(state): 26 | return game.utility(state, player) 27 | v = infinity 28 | for a in game.actions(state): 29 | v = min(v, max_value(game.result(state, a))) 30 | return v 31 | 32 | # Body of minimax_decision: 33 | return argmax(game.actions(state), 34 | lambda a: min_value(game.result(state, a))) 35 | 36 | #______________________________________________________________________________ 37 | 38 | def alphabeta_full_search(state, game): 39 | """Search game to determine best action; use alpha-beta pruning. 40 | As in [Fig. 5.7], this version searches all the way to the leaves.""" 41 | 42 | player = game.to_move(state) 43 | 44 | def max_value(state, alpha, beta): 45 | if game.terminal_test(state): 46 | return game.utility(state, player) 47 | v = -infinity 48 | for a in game.actions(state): 49 | v = max(v, min_value(game.result(state, a), alpha, beta)) 50 | if v >= beta: 51 | return v 52 | alpha = max(alpha, v) 53 | return v 54 | 55 | def min_value(state, alpha, beta): 56 | if game.terminal_test(state): 57 | return game.utility(state, player) 58 | v = infinity 59 | for a in game.actions(state): 60 | v = min(v, max_value(game.result(state, a), alpha, beta)) 61 | if v <= alpha: 62 | return v 63 | beta = min(beta, v) 64 | return v 65 | 66 | # Body of alphabeta_search: 67 | return argmax(game.actions(state), 68 | lambda a: min_value(game.result(state, a), 69 | -infinity, infinity)) 70 | 71 | def alphabeta_search(state, game, d=4, cutoff_test=None, eval_fn=None): 72 | """Search game to determine best action; use alpha-beta pruning. 73 | This version cuts off search and uses an evaluation function.""" 74 | 75 | player = game.to_move(state) 76 | 77 | def max_value(state, alpha, beta, depth): 78 | if cutoff_test(state, depth): 79 | return eval_fn(state) 80 | v = -infinity 81 | for a in game.actions(state): 82 | v = max(v, min_value(game.result(state, a), 83 | alpha, beta, depth+1)) 84 | if v >= beta: 85 | return v 86 | alpha = max(alpha, v) 87 | return v 88 | 89 | def min_value(state, alpha, beta, depth): 90 | if cutoff_test(state, depth): 91 | return eval_fn(state) 92 | v = infinity 93 | for a in game.actions(state): 94 | v = min(v, max_value(game.result(state, a), 95 | alpha, beta, depth+1)) 96 | if v <= alpha: 97 | return v 98 | beta = min(beta, v) 99 | return v 100 | 101 | # Body of alphabeta_search starts here: 102 | # The default test cuts off at depth d or at a terminal state 103 | cutoff_test = (cutoff_test or 104 | (lambda state,depth: depth>d or game.terminal_test(state))) 105 | eval_fn = eval_fn or (lambda state: game.utility(state, player)) 106 | return argmax(game.actions(state), 107 | lambda a: min_value(game.result(state, a), 108 | -infinity, infinity, 0)) 109 | 110 | #______________________________________________________________________________ 111 | # Players for Games 112 | 113 | def query_player(game, state): 114 | "Make a move by querying standard input." 115 | game.display(state) 116 | return num_or_str(raw_input('Your move? ')) 117 | 118 | def random_player(game, state): 119 | "A player that chooses a legal move at random." 120 | return random.choice(game.actions(state)) 121 | 122 | def alphabeta_player(game, state): 123 | return alphabeta_search(state, game) 124 | 125 | def play_game(game, *players): 126 | """Play an n-person, move-alternating game. 127 | >>> play_game(Fig52Game(), alphabeta_player, alphabeta_player) 128 | 3 129 | """ 130 | state = game.initial 131 | while True: 132 | for player in players: 133 | move = player(game, state) 134 | state = game.result(state, move) 135 | if game.terminal_test(state): 136 | return game.utility(state, game.to_move(game.initial)) 137 | 138 | #______________________________________________________________________________ 139 | # Some Sample Games 140 | 141 | class Game: 142 | """A game is similar to a problem, but it has a utility for each 143 | state and a terminal test instead of a path cost and a goal 144 | test. To create a game, subclass this class and implement actions, 145 | result, utility, and terminal_test. You may override display and 146 | successors or you can inherit their default methods. You will also 147 | need to set the .initial attribute to the initial state; this can 148 | be done in the constructor.""" 149 | 150 | def actions(self, state): 151 | "Return a list of the allowable moves at this point." 152 | abstract 153 | 154 | def result(self, state, move): 155 | "Return the state that results from making a move from a state." 156 | abstract 157 | 158 | def utility(self, state, player): 159 | "Return the value of this final state to player." 160 | abstract 161 | 162 | def terminal_test(self, state): 163 | "Return True if this is a final state for the game." 164 | return not self.actions(state) 165 | 166 | def to_move(self, state): 167 | "Return the player whose move it is in this state." 168 | return state.to_move 169 | 170 | def display(self, state): 171 | "Print or otherwise display the state." 172 | print state 173 | 174 | def __repr__(self): 175 | return '<%s>' % self.__class__.__name__ 176 | 177 | class Fig52Game(Game): 178 | """The game represented in [Fig. 5.2]. Serves as a simple test case. 179 | >>> g = Fig52Game() 180 | >>> minimax_decision('A', g) 181 | 'a1' 182 | >>> alphabeta_full_search('A', g) 183 | 'a1' 184 | >>> alphabeta_search('A', g) 185 | 'a1' 186 | """ 187 | succs = dict(A=dict(a1='B', a2='C', a3='D'), 188 | B=dict(b1='B1', b2='B2', b3='B3'), 189 | C=dict(c1='C1', c2='C2', c3='C3'), 190 | D=dict(d1='D1', d2='D2', d3='D3')) 191 | utils = Dict(B1=3, B2=12, B3=8, C1=2, C2=4, C3=6, D1=14, D2=5, D3=2) 192 | initial = 'A' 193 | 194 | def actions(self, state): 195 | return self.succs.get(state, {}).keys() 196 | 197 | def result(self, state, move): 198 | return self.succs[state][move] 199 | 200 | def utility(self, state, player): 201 | if player == 'MAX': 202 | return self.utils[state] 203 | else: 204 | return -self.utils[state] 205 | 206 | def terminal_test(self, state): 207 | return state not in ('A', 'B', 'C', 'D') 208 | 209 | def to_move(self, state): 210 | return if_(state in 'BCD', 'MIN', 'MAX') 211 | 212 | class TicTacToe(Game): 213 | """Play TicTacToe on an h x v board, with Max (first player) playing 'X'. 214 | A state has the player to move, a cached utility, a list of moves in 215 | the form of a list of (x, y) positions, and a board, in the form of 216 | a dict of {(x, y): Player} entries, where Player is 'X' or 'O'.""" 217 | def __init__(self, h=3, v=3, k=3): 218 | update(self, h=h, v=v, k=k) 219 | moves = [(x, y) for x in range(1, h+1) 220 | for y in range(1, v+1)] 221 | self.initial = Struct(to_move='X', utility=0, board={}, moves=moves) 222 | 223 | def actions(self, state): 224 | "Legal moves are any square not yet taken." 225 | return state.moves 226 | 227 | def result(self, state, move): 228 | if move not in state.moves: 229 | return state # Illegal move has no effect 230 | board = state.board.copy(); board[move] = state.to_move 231 | moves = list(state.moves); moves.remove(move) 232 | return Struct(to_move=if_(state.to_move == 'X', 'O', 'X'), 233 | utility=self.compute_utility(board, move, state.to_move), 234 | board=board, moves=moves) 235 | 236 | def utility(self, state, player): 237 | "Return the value to player; 1 for win, -1 for loss, 0 otherwise." 238 | return if_(player == 'X', state.utility, -state.utility) 239 | 240 | def terminal_test(self, state): 241 | "A state is terminal if it is won or there are no empty squares." 242 | return state.utility != 0 or len(state.moves) == 0 243 | 244 | def display(self, state): 245 | board = state.board 246 | for x in range(1, self.h+1): 247 | for y in range(1, self.v+1): 248 | print board.get((x, y), '.'), 249 | print 250 | 251 | def compute_utility(self, board, move, player): 252 | "If X wins with this move, return 1; if O return -1; else return 0." 253 | if (self.k_in_row(board, move, player, (0, 1)) or 254 | self.k_in_row(board, move, player, (1, 0)) or 255 | self.k_in_row(board, move, player, (1, -1)) or 256 | self.k_in_row(board, move, player, (1, 1))): 257 | return if_(player == 'X', +1, -1) 258 | else: 259 | return 0 260 | 261 | def k_in_row(self, board, move, player, (delta_x, delta_y)): 262 | "Return true if there is a line through move on board for player." 263 | x, y = move 264 | n = 0 # n is number of moves in row 265 | while board.get((x, y)) == player: 266 | n += 1 267 | x, y = x + delta_x, y + delta_y 268 | x, y = move 269 | while board.get((x, y)) == player: 270 | n += 1 271 | x, y = x - delta_x, y - delta_y 272 | n -= 1 # Because we counted move itself twice 273 | return n >= self.k 274 | 275 | class ConnectFour(TicTacToe): 276 | """A TicTacToe-like game in which you can only make a move on the bottom 277 | row, or in a square directly above an occupied square. Traditionally 278 | played on a 7x6 board and requiring 4 in a row.""" 279 | 280 | def __init__(self, h=7, v=6, k=4): 281 | TicTacToe.__init__(self, h, v, k) 282 | 283 | def actions(self, state): 284 | return [(x, y) for (x, y) in state.moves 285 | if y == 0 or (x, y-1) in state.board] 286 | 287 | __doc__ += random_tests(""" 288 | >>> play_game(Fig52Game(), random_player, random_player) 289 | 6 290 | >>> play_game(TicTacToe(), random_player, random_player) 291 | 0 292 | """) 293 | -------------------------------------------------------------------------------- /aima/images/IMAGE-CREDITS: -------------------------------------------------------------------------------- 1 | PHOTO CREDITS 2 | 3 | Image After http://www.imageafter.com/ 4 | 5 | b15woods003.jpg 6 | (Cropped to 764x764 and scaled to 50x50 to make wall-icon.jpg 7 | by Gregory Weber) 8 | 9 | Noctua Graphics, http://www.noctua-graphics.de/english/fraset_e.htm 10 | 11 | dirt05.jpg 512x512 12 | (Scaled to 50x50 to make dirt05-icon.jpg by Gregory Weber) 13 | 14 | Gregory Weber 15 | 16 | dirt.svg, dirt.png 17 | vacuum.svg, vacuum.png 18 | -------------------------------------------------------------------------------- /aima/images/dirt05-icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hobson/aima/3572b2fb92039b4a1abe384be8545560fbd3d470/aima/images/dirt05-icon.jpg -------------------------------------------------------------------------------- /aima/images/makefile: -------------------------------------------------------------------------------- 1 | # makefile for images 2 | 3 | Sources = dirt.svg vacuum.svg 4 | 5 | Targets = $(Sources:.svg=.png) 6 | 7 | ImageScale = 50x50 8 | 9 | Temporary = tmp.jpg 10 | 11 | .PHONY: all 12 | 13 | all: $(Targets) 14 | 15 | .PHONY: clean 16 | 17 | clean: 18 | rm -f $(Targets) $(Temporary) 19 | 20 | %.png: %.svg 21 | convert -scale $(ImageScale) $< $@ 22 | 23 | %-icon.jpg: %.svg 24 | convert -scale $(ImageScale) $< $@ 25 | 26 | %-icon.jpg: %.jpg 27 | convert -scale $(ImageScale) $< $@ 28 | 29 | wall-icon.jpg: b15woods003.jpg 30 | convert -crop 764x764+0+0 $< tmp.jpg 31 | convert -resize 50x50+0+0 tmp.jpg $@ 32 | 33 | vacuum-icon.jpg: vacuum.svg 34 | convert -scale $(ImageScale) -transparent white $< $@ 35 | -------------------------------------------------------------------------------- /aima/images/vacuum-icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hobson/aima/3572b2fb92039b4a1abe384be8545560fbd3d470/aima/images/vacuum-icon.jpg -------------------------------------------------------------------------------- /aima/images/vacuum.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 22 | 24 | 42 | 44 | 45 | 47 | image/svg+xml 48 | 50 | 51 | 52 | 53 | 57 | 67 | 79 | 93 | 108 | 124 | 137 | 149 | 150 | 151 | -------------------------------------------------------------------------------- /aima/images/wall-icon.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hobson/aima/3572b2fb92039b4a1abe384be8545560fbd3d470/aima/images/wall-icon.jpg -------------------------------------------------------------------------------- /aima/mdp.py: -------------------------------------------------------------------------------- 1 | """Markov Decision Processes (Chapter 17) 2 | 3 | First we define an MDP, and the special case of a GridMDP, in which 4 | states are laid out in a 2-dimensional grid. We also represent a policy 5 | as a dictionary of {state:action} pairs, and a Utility function as a 6 | dictionary of {state:number} pairs. We then define the value_iteration 7 | and policy_iteration algorithms.""" 8 | 9 | from utils import * 10 | 11 | class MDP: 12 | """A Markov Decision Process, defined by an initial state, transition model, 13 | and reward function. We also keep track of a gamma value, for use by 14 | algorithms. The transition model is represented somewhat differently from 15 | the text. Instead of P(s' | s, a) being a probability number for each 16 | state/state/action triplet, we instead have T(s, a) return a list of (p, s') 17 | pairs. We also keep track of the possible states, terminal states, and 18 | actions for each state. [page 646]""" 19 | 20 | def __init__(self, init, actlist, terminals, gamma=.9): 21 | update(self, init=init, actlist=actlist, terminals=terminals, 22 | gamma=gamma, states=set(), reward={}) 23 | 24 | def R(self, state): 25 | "Return a numeric reward for this state." 26 | return self.reward[state] 27 | 28 | def T(self, state, action): 29 | """Transition model. From a state and an action, return a list 30 | of (probability, result-state) pairs.""" 31 | abstract 32 | 33 | def actions(self, state): 34 | """Set of actions that can be performed in this state. By default, a 35 | fixed list of actions, except for terminal states. Override this 36 | method if you need to specialize by state.""" 37 | if state in self.terminals: 38 | return [None] 39 | else: 40 | return self.actlist 41 | 42 | class GridMDP(MDP): 43 | """A two-dimensional grid MDP, as in [Figure 17.1]. All you have to do is 44 | specify the grid as a list of lists of rewards; use None for an obstacle 45 | (unreachable state). Also, you should specify the terminal states. 46 | An action is an (x, y) unit vector; e.g. (1, 0) means move east.""" 47 | def __init__(self, grid, terminals, init=(0, 0), gamma=.9): 48 | grid.reverse() ## because we want row 0 on bottom, not on top 49 | MDP.__init__(self, init, actlist=orientations, 50 | terminals=terminals, gamma=gamma) 51 | update(self, grid=grid, rows=len(grid), cols=len(grid[0])) 52 | for x in range(self.cols): 53 | for y in range(self.rows): 54 | self.reward[x, y] = grid[y][x] 55 | if grid[y][x] is not None: 56 | self.states.add((x, y)) 57 | 58 | def T(self, state, action): 59 | if action is None: 60 | return [(0.0, state)] 61 | else: 62 | return [(0.8, self.go(state, action)), 63 | (0.1, self.go(state, turn_right(action))), 64 | (0.1, self.go(state, turn_left(action)))] 65 | 66 | def go(self, state, direction): 67 | "Return the state that results from going in this direction." 68 | state1 = vector_add(state, direction) 69 | return if_(state1 in self.states, state1, state) 70 | 71 | def to_grid(self, mapping): 72 | """Convert a mapping from (x, y) to v into a [[..., v, ...]] grid.""" 73 | return list(reversed([[mapping.get((x,y), None) 74 | for x in range(self.cols)] 75 | for y in range(self.rows)])) 76 | 77 | def to_arrows(self, policy): 78 | chars = {(1, 0):'>', (0, 1):'^', (-1, 0):'<', (0, -1):'v', None: '.'} 79 | return self.to_grid(dict([(s, chars[a]) for (s, a) in policy.items()])) 80 | 81 | #______________________________________________________________________________ 82 | 83 | Fig[17,1] = GridMDP([[-0.04, -0.04, -0.04, +1], 84 | [-0.04, None, -0.04, -1], 85 | [-0.04, -0.04, -0.04, -0.04]], 86 | terminals=[(3, 2), (3, 1)]) 87 | 88 | #______________________________________________________________________________ 89 | 90 | def value_iteration(mdp, epsilon=0.001): 91 | "Solving an MDP by value iteration. [Fig. 17.4]" 92 | U1 = dict([(s, 0) for s in mdp.states]) 93 | R, T, gamma = mdp.R, mdp.T, mdp.gamma 94 | while True: 95 | U = U1.copy() 96 | delta = 0 97 | for s in mdp.states: 98 | U1[s] = R(s) + gamma * max([sum([p * U[s1] for (p, s1) in T(s, a)]) 99 | for a in mdp.actions(s)]) 100 | delta = max(delta, abs(U1[s] - U[s])) 101 | if delta < epsilon * (1 - gamma) / gamma: 102 | return U 103 | 104 | def best_policy(mdp, U): 105 | """Given an MDP and a utility function U, determine the best policy, 106 | as a mapping from state to action. (Equation 17.4)""" 107 | pi = {} 108 | for s in mdp.states: 109 | pi[s] = argmax(mdp.actions(s), lambda a:expected_utility(a, s, U, mdp)) 110 | return pi 111 | 112 | def expected_utility(a, s, U, mdp): 113 | "The expected utility of doing a in state s, according to the MDP and U." 114 | return sum([p * U[s1] for (p, s1) in mdp.T(s, a)]) 115 | 116 | #______________________________________________________________________________ 117 | 118 | def policy_iteration(mdp): 119 | "Solve an MDP by policy iteration [Fig. 17.7]" 120 | U = dict([(s, 0) for s in mdp.states]) 121 | pi = dict([(s, random.choice(mdp.actions(s))) for s in mdp.states]) 122 | while True: 123 | U = policy_evaluation(pi, U, mdp) 124 | unchanged = True 125 | for s in mdp.states: 126 | a = argmax(mdp.actions(s), lambda a: expected_utility(a,s,U,mdp)) 127 | if a != pi[s]: 128 | pi[s] = a 129 | unchanged = False 130 | if unchanged: 131 | return pi 132 | 133 | def policy_evaluation(pi, U, mdp, k=20): 134 | """Return an updated utility mapping U from each state in the MDP to its 135 | utility, using an approximation (modified policy iteration).""" 136 | R, T, gamma = mdp.R, mdp.T, mdp.gamma 137 | for i in range(k): 138 | for s in mdp.states: 139 | U[s] = R(s) + gamma * sum([p * U[s1] for (p, s1) in T(s, pi[s])]) 140 | return U 141 | 142 | __doc__ += """ 143 | >>> pi = best_policy(Fig[17,1], value_iteration(Fig[17,1], .01)) 144 | 145 | >>> Fig[17,1].to_arrows(pi) 146 | [['>', '>', '>', '.'], ['^', None, '^', '.'], ['^', '>', '^', '<']] 147 | 148 | >>> print_table(Fig[17,1].to_arrows(pi)) 149 | > > > . 150 | ^ None ^ . 151 | ^ > ^ < 152 | 153 | >>> print_table(Fig[17,1].to_arrows(policy_iteration(Fig[17,1]))) 154 | > > > . 155 | ^ None ^ . 156 | ^ > ^ < 157 | """ 158 | 159 | __doc__ += random_tests(""" 160 | >>> pi 161 | {(3, 2): None, (3, 1): None, (3, 0): (-1, 0), (2, 1): (0, 1), (0, 2): (1, 0), (1, 0): (1, 0), (0, 0): (0, 1), (1, 2): (1, 0), (2, 0): (0, 1), (0, 1): (0, 1), (2, 2): (1, 0)} 162 | 163 | >>> value_iteration(Fig[17,1], .01) 164 | {(3, 2): 1.0, (3, 1): -1.0, (3, 0): 0.12958868267972745, (0, 1): 0.39810203830605462, (0, 2): 0.50928545646220924, (1, 0): 0.25348746162470537, (0, 0): 0.29543540628363629, (1, 2): 0.64958064617168676, (2, 0): 0.34461306281476806, (2, 1): 0.48643676237737926, (2, 2): 0.79536093684710951} 165 | 166 | >>> policy_iteration(Fig[17,1]) 167 | {(3, 2): None, (3, 1): None, (3, 0): (0, -1), (2, 1): (-1, 0), (0, 2): (1, 0), (1, 0): (1, 0), (0, 0): (1, 0), (1, 2): (1, 0), (2, 0): (1, 0), (0, 1): (1, 0), (2, 2): (1, 0)} 168 | 169 | """) 170 | 171 | 172 | -------------------------------------------------------------------------------- /aima/nlp.py: -------------------------------------------------------------------------------- 1 | """A chart parser and some grammars. (Chapter 22)""" 2 | 3 | # (Written for the second edition of AIMA; expect some discrepanciecs 4 | # from the third edition until this gets reviewed.) 5 | 6 | from utils import * 7 | 8 | #______________________________________________________________________________ 9 | # Grammars and Lexicons 10 | 11 | def Rules(**rules): 12 | """Create a dictionary mapping symbols to alternative sequences. 13 | >>> Rules(A = "B C | D E") 14 | {'A': [['B', 'C'], ['D', 'E']]} 15 | """ 16 | for (lhs, rhs) in rules.items(): 17 | rules[lhs] = [alt.strip().split() for alt in rhs.split('|')] 18 | return rules 19 | 20 | def Lexicon(**rules): 21 | """Create a dictionary mapping symbols to alternative words. 22 | >>> Lexicon(Art = "the | a | an") 23 | {'Art': ['the', 'a', 'an']} 24 | """ 25 | for (lhs, rhs) in rules.items(): 26 | rules[lhs] = [word.strip() for word in rhs.split('|')] 27 | return rules 28 | 29 | class Grammar: 30 | def __init__(self, name, rules, lexicon): 31 | "A grammar has a set of rules and a lexicon." 32 | update(self, name=name, rules=rules, lexicon=lexicon) 33 | self.categories = DefaultDict([]) 34 | for lhs in lexicon: 35 | for word in lexicon[lhs]: 36 | self.categories[word].append(lhs) 37 | 38 | def rewrites_for(self, cat): 39 | "Return a sequence of possible rhs's that cat can be rewritten as." 40 | return self.rules.get(cat, ()) 41 | 42 | def isa(self, word, cat): 43 | "Return True iff word is of category cat" 44 | return cat in self.categories[word] 45 | 46 | def __repr__(self): 47 | return '' % self.name 48 | 49 | E0 = Grammar('E0', 50 | Rules( # Grammar for E_0 [Fig. 22.4] 51 | S = 'NP VP | S Conjunction S', 52 | NP = 'Pronoun | Name | Noun | Article Noun | Digit Digit | NP PP | NP RelClause', 53 | VP = 'Verb | VP NP | VP Adjective | VP PP | VP Adverb', 54 | PP = 'Preposition NP', 55 | RelClause = 'That VP'), 56 | 57 | Lexicon( # Lexicon for E_0 [Fig. 22.3] 58 | Noun = "stench | breeze | glitter | nothing | wumpus | pit | pits | gold | east", 59 | Verb = "is | see | smell | shoot | fell | stinks | go | grab | carry | kill | turn | feel", 60 | Adjective = "right | left | east | south | back | smelly", 61 | Adverb = "here | there | nearby | ahead | right | left | east | south | back", 62 | Pronoun = "me | you | I | it", 63 | Name = "John | Mary | Boston | Aristotle", 64 | Article = "the | a | an", 65 | Preposition = "to | in | on | near", 66 | Conjunction = "and | or | but", 67 | Digit = "0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9", 68 | That = "that" 69 | )) 70 | 71 | E_ = Grammar('E_', # Trivial Grammar and lexicon for testing 72 | Rules( 73 | S = 'NP VP', 74 | NP = 'Art N | Pronoun', 75 | VP = 'V NP'), 76 | 77 | Lexicon( 78 | Art = 'the | a', 79 | N = 'man | woman | table | shoelace | saw', 80 | Pronoun = 'I | you | it', 81 | V = 'saw | liked | feel' 82 | )) 83 | 84 | E_NP_ = Grammar('E_NP_', # another trivial grammar for testing 85 | Rules(NP = 'Adj NP | N'), 86 | Lexicon(Adj = 'happy | handsome | hairy', 87 | N = 'man')) 88 | 89 | def generate_random(grammar=E_, s='S'): 90 | """Replace each token in s by a random entry in grammar (recursively). 91 | This is useful for testing a grammar, e.g. generate_random(E_)""" 92 | import random 93 | 94 | def rewrite(tokens, into): 95 | for token in tokens: 96 | if token in grammar.rules: 97 | rewrite(random.choice(grammar.rules[token]), into) 98 | elif token in grammar.lexicon: 99 | into.append(random.choice(grammar.lexicon[token])) 100 | else: 101 | into.append(token) 102 | return into 103 | 104 | return ' '.join(rewrite(s.split(), [])) 105 | 106 | #______________________________________________________________________________ 107 | # Chart Parsing 108 | 109 | 110 | class Chart: 111 | """Class for parsing sentences using a chart data structure. [Fig 22.7] 112 | >>> chart = Chart(E0); 113 | >>> len(chart.parses('the stench is in 2 2')) 114 | 1 115 | """ 116 | 117 | def __init__(self, grammar, trace=False): 118 | """A datastructure for parsing a string; and methods to do the parse. 119 | self.chart[i] holds the edges that end just before the i'th word. 120 | Edges are 5-element lists of [start, end, lhs, [found], [expects]].""" 121 | update(self, grammar=grammar, trace=trace) 122 | 123 | def parses(self, words, S='S'): 124 | """Return a list of parses; words can be a list or string. 125 | >>> chart = Chart(E_NP_) 126 | >>> chart.parses('happy man', 'NP') 127 | [[0, 2, 'NP', [('Adj', 'happy'), [1, 2, 'NP', [('N', 'man')], []]], []]] 128 | """ 129 | if isinstance(words, str): 130 | words = words.split() 131 | self.parse(words, S) 132 | # Return all the parses that span the whole input 133 | # 'span the whole input' => begin at 0, end at len(words) 134 | return [[i, j, S, found, []] 135 | for (i, j, lhs, found, expects) in self.chart[len(words)] 136 | # assert j == len(words) 137 | if i == 0 and lhs == S and expects == []] 138 | 139 | def parse(self, words, S='S'): 140 | """Parse a list of words; according to the grammar. 141 | Leave results in the chart.""" 142 | self.chart = [[] for i in range(len(words)+1)] 143 | self.add_edge([0, 0, 'S_', [], [S]]) 144 | for i in range(len(words)): 145 | self.scanner(i, words[i]) 146 | return self.chart 147 | 148 | def add_edge(self, edge): 149 | "Add edge to chart, and see if it extends or predicts another edge." 150 | start, end, lhs, found, expects = edge 151 | if edge not in self.chart[end]: 152 | self.chart[end].append(edge) 153 | if self.trace: 154 | print '%10s: added %s' % (caller(2), edge) 155 | if not expects: 156 | self.extender(edge) 157 | else: 158 | self.predictor(edge) 159 | 160 | def scanner(self, j, word): 161 | "For each edge expecting a word of this category here, extend the edge." 162 | for (i, j, A, alpha, Bb) in self.chart[j]: 163 | if Bb and self.grammar.isa(word, Bb[0]): 164 | self.add_edge([i, j+1, A, alpha + [(Bb[0], word)], Bb[1:]]) 165 | 166 | def predictor(self, (i, j, A, alpha, Bb)): 167 | "Add to chart any rules for B that could help extend this edge." 168 | B = Bb[0] 169 | if B in self.grammar.rules: 170 | for rhs in self.grammar.rewrites_for(B): 171 | self.add_edge([j, j, B, [], rhs]) 172 | 173 | def extender(self, edge): 174 | "See what edges can be extended by this edge." 175 | (j, k, B, _, _) = edge 176 | for (i, j, A, alpha, B1b) in self.chart[j]: 177 | if B1b and B == B1b[0]: 178 | self.add_edge([i, k, A, alpha + [edge], B1b[1:]]) 179 | 180 | 181 | 182 | #### TODO: 183 | #### 1. Parsing with augmentations -- requires unification, etc. 184 | #### 2. Sequitor 185 | 186 | __doc__ += """ 187 | >>> chart = Chart(E0) 188 | 189 | >>> chart.parses('the wumpus that is smelly is near 2 2') 190 | [[0, 9, 'S', [[0, 5, 'NP', [[0, 2, 'NP', [('Article', 'the'), ('Noun', 'wumpus')], []], [2, 5, 'RelClause', [('That', 'that'), [3, 5, 'VP', [[3, 4, 'VP', [('Verb', 'is')], []], ('Adjective', 'smelly')], []]], []]], []], [5, 9, 'VP', [[5, 6, 'VP', [('Verb', 'is')], []], [6, 9, 'PP', [('Preposition', 'near'), [7, 9, 'NP', [('Digit', '2'), ('Digit', '2')], []]], []]], []]], []]] 191 | 192 | ### There is a built-in trace facility (compare [Fig. 22.9]) 193 | >>> Chart(E_, trace=True).parses('I feel it') 194 | parse: added [0, 0, 'S_', [], ['S']] 195 | predictor: added [0, 0, 'S', [], ['NP', 'VP']] 196 | predictor: added [0, 0, 'NP', [], ['Art', 'N']] 197 | predictor: added [0, 0, 'NP', [], ['Pronoun']] 198 | scanner: added [0, 1, 'NP', [('Pronoun', 'I')], []] 199 | extender: added [0, 1, 'S', [[0, 1, 'NP', [('Pronoun', 'I')], []]], ['VP']] 200 | predictor: added [1, 1, 'VP', [], ['V', 'NP']] 201 | scanner: added [1, 2, 'VP', [('V', 'feel')], ['NP']] 202 | predictor: added [2, 2, 'NP', [], ['Art', 'N']] 203 | predictor: added [2, 2, 'NP', [], ['Pronoun']] 204 | scanner: added [2, 3, 'NP', [('Pronoun', 'it')], []] 205 | extender: added [1, 3, 'VP', [('V', 'feel'), [2, 3, 'NP', [('Pronoun', 'it')], []]], []] 206 | extender: added [0, 3, 'S', [[0, 1, 'NP', [('Pronoun', 'I')], []], [1, 3, 'VP', [('V', 'feel'), [2, 3, 'NP', [('Pronoun', 'it')], []]], []]], []] 207 | extender: added [0, 3, 'S_', [[0, 3, 'S', [[0, 1, 'NP', [('Pronoun', 'I')], []], [1, 3, 'VP', [('V', 'feel'), [2, 3, 'NP', [('Pronoun', 'it')], []]], []]], []]], []] 208 | [[0, 3, 'S', [[0, 1, 'NP', [('Pronoun', 'I')], []], [1, 3, 'VP', [('V', 'feel'), [2, 3, 'NP', [('Pronoun', 'it')], []]], []]], []]] 209 | """ 210 | -------------------------------------------------------------------------------- /aima/planning.py: -------------------------------------------------------------------------------- 1 | """Planning (Chapters 10-11) 2 | """ 3 | 4 | from __future__ import generators 5 | from utils import * 6 | import agents 7 | import math, random, sys, time, bisect, string 8 | -------------------------------------------------------------------------------- /aima/probability.doctest: -------------------------------------------------------------------------------- 1 | 2 | >>> cpt = burglary.variable_node('Alarm').cpt 3 | >>> parents = ['Burglary', 'Earthquake'] 4 | >>> event = {'Burglary': True, 'Earthquake': True} 5 | >>> print '%4.2f' % cpt.p(True, parents, event) 6 | 0.95 7 | >>> event = {'Burglary': False, 'Earthquake': True} 8 | >>> print '%4.2f' % cpt.p(False, parents, event) 9 | 0.71 10 | >>> BoolCPT({T: 0.2, F: 0.625}).p(False, ['Burglary'], event) 11 | 0.375 12 | >>> BoolCPT(0.75).p(False, [], {}) 13 | 0.25 14 | 15 | (fixme: The following test p_values which has been folded into p().) 16 | >>> cpt = BoolCPT(0.25) 17 | >>> cpt.p_values(F, ()) 18 | 0.75 19 | >>> cpt = BoolCPT({T: 0.25, F: 0.625}) 20 | >>> cpt.p_values(T, (T,)) 21 | 0.25 22 | >>> cpt.p_values(F, (F,)) 23 | 0.375 24 | >>> cpt = BoolCPT({(T, T): 0.2, (T, F): 0.31, 25 | ... (F, T): 0.5, (F, F): 0.62}) 26 | >>> cpt.p_values(T, (T, F)) 27 | 0.31 28 | >>> cpt.p_values(F, (F, F)) 29 | 0.38 30 | 31 | 32 | >>> cpt = BoolCPT({True: 0.2, False: 0.7}) 33 | >>> cpt.rand(['A'], {'A': True}) in [True, False] 34 | True 35 | >>> cpt = BoolCPT({(True, True): 0.1, (True, False): 0.3, 36 | ... (False, True): 0.5, (False, False): 0.7}) 37 | >>> cpt.rand(['A', 'B'], {'A': True, 'B': False}) in [True, False] 38 | True 39 | 40 | 41 | >>> enumeration_ask('Earthquake', {}, burglary).show_approx() 42 | 'False: 0.998, True: 0.002' 43 | 44 | 45 | >>> s = prior_sample(burglary) 46 | >>> s['Burglary'] in [True, False] 47 | True 48 | >>> s['Alarm'] in [True, False] 49 | True 50 | >>> s['JohnCalls'] in [True, False] 51 | True 52 | >>> len(s) 53 | 5 54 | 55 | 56 | >>> s = {'A': True, 'B': False, 'C': True, 'D': False} 57 | >>> consistent_with(s, {}) 58 | True 59 | >>> consistent_with(s, s) 60 | True 61 | >>> consistent_with(s, {'A': False}) 62 | False 63 | >>> consistent_with(s, {'D': True}) 64 | False 65 | 66 | >>> seed(21); p = rejection_sampling('Earthquake', {}, burglary, 1000) 67 | >>> [p[True], p[False]] 68 | [0.001, 0.999] 69 | 70 | >>> seed(71); p = likelihood_weighting('Earthquake', {}, burglary, 1000) 71 | >>> [p[True], p[False]] 72 | [0.002, 0.998] 73 | -------------------------------------------------------------------------------- /aima/rl.py: -------------------------------------------------------------------------------- 1 | """Reinforcement Learning (Chapter 21) 2 | """ 3 | 4 | from utils import * 5 | import agents 6 | 7 | class PassiveADPAgent(agents.Agent): 8 | """Passive (non-learning) agent that uses adaptive dynamic programming 9 | on a given MDP and policy. [Fig. 21.2]""" 10 | NotImplemented 11 | 12 | class PassiveTDAgent(agents.Agent): 13 | """Passive (non-learning) agent that uses temporal differences to learn 14 | utility estimates. [Fig. 21.4]""" 15 | NotImplemented 16 | -------------------------------------------------------------------------------- /bin/newversion.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | # tells pypi to update the latest default version in the repo 3 | 4 | # TODO: increment the version in __init__.py and add a tag to github with that version 5 | # TODO: do it all in python (no bash)! 6 | python setup.py register -r pypi 7 | python setup.py sdist upload -r pypi -------------------------------------------------------------------------------- /data/EN-text/spam.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/hobson/aima/3572b2fb92039b4a1abe384be8545560fbd3d470/data/EN-text/spam.txt -------------------------------------------------------------------------------- /data/MAN/cat.txt: -------------------------------------------------------------------------------- 1 | CAT(1) User Commands CAT(1) 2 | 3 | 4 | 5 | NAME 6 | cat - concatenate files and print on the standard output 7 | 8 | SYNOPSIS 9 | cat [OPTION] [FILE]... 10 | 11 | DESCRIPTION 12 | Concatenate FILE(s), or standard input, to standard out- 13 | put. 14 | 15 | -A, --show-all 16 | equivalent to -vET 17 | 18 | -b, --number-nonblank 19 | number nonblank output lines 20 | 21 | -e equivalent to -vE 22 | 23 | -E, --show-ends 24 | display $ at end of each line 25 | 26 | -n, --number 27 | number all output lines 28 | 29 | -s, --squeeze-blank 30 | never more than one single blank line 31 | 32 | -t equivalent to -vT 33 | 34 | -T, --show-tabs 35 | display TAB characters as ^I 36 | 37 | -u (ignored) 38 | 39 | -v, --show-nonprinting 40 | use ^ and M- notation, except for LFD and TAB 41 | 42 | --help display this help and exit 43 | 44 | --version 45 | output version information and exit 46 | 47 | With no FILE, or when FILE is -, read standard input. 48 | 49 | AUTHOR 50 | Written by Torbjorn Granlund and Richard M. Stallman. 51 | 52 | REPORTING BUGS 53 | Report bugs to . 54 | 55 | COPYRIGHT 56 | Copyright (C) 2002 Free Software Foundation, Inc. 57 | This is free software; see the source for copying condi- 58 | tions. There is NO warranty; not even for MERCHANTABILITY 59 | or FITNESS FOR A PARTICULAR PURPOSE. 60 | 61 | SEE ALSO 62 | The full documentation for cat is maintained as a Texinfo 63 | manual. If the info and cat programs are properly 64 | installed at your site, the command 65 | 66 | info cat 67 | 68 | should give you access to the complete manual. 69 | 70 | 71 | 72 | cat (textutils) 2.1 July 2002 CAT(1) 73 | -------------------------------------------------------------------------------- /data/MAN/cd.txt: -------------------------------------------------------------------------------- 1 | cd(n) Tcl Built-In Commands cd(n) 2 | 3 | 4 | 5 | _________________________________________________________________ 6 | 7 | NAME 8 | cd - Change working directory 9 | 10 | SYNOPSIS 11 | cd ?dirName? 12 | _________________________________________________________________ 13 | 14 | 15 | DESCRIPTION 16 | Change the current working directory to dirName, or to the 17 | home directory (as specified in the HOME environment vari- 18 | able) if dirName is not given. Returns an empty string. 19 | 20 | 21 | SEE ALSO 22 | filename(n), glob(n), pwd(n) 23 | 24 | 25 | KEYWORDS 26 | working directory 27 | 28 | 29 | 30 | Tcl cd(n) 31 | -------------------------------------------------------------------------------- /data/MAN/chmod.txt: -------------------------------------------------------------------------------- 1 | CHMOD(1) FSF CHMOD(1) 2 | 3 | 4 | 5 | NAME 6 | chmod - change file access permissions 7 | 8 | SYNOPSIS 9 | chmod [OPTION]... MODE[,MODE]... FILE... 10 | chmod [OPTION]... OCTAL-MODE FILE... 11 | chmod [OPTION]... --reference=RFILE FILE... 12 | 13 | DESCRIPTION 14 | This manual page documents the GNU version of chmod. 15 | chmod changes the permissions of each given file according 16 | to mode, which can be either a symbolic representation of 17 | changes to make, or an octal number representing the bit 18 | pattern for the new permissions. 19 | 20 | The format of a symbolic mode is `[ugoa...][[+-=][rwxXs- 21 | tugo...]...][,...]'. Multiple symbolic operations can be 22 | given, separated by commas. 23 | 24 | A combination of the letters `ugoa' controls which users' 25 | access to the file will be changed: the user who owns it 26 | (u), other users in the file's group (g), other users not 27 | in the file's group (o), or all users (a). If none of 28 | these are given, the effect is as if `a' were given, but 29 | bits that are set in the umask are not affected. 30 | 31 | The operator `+' causes the permissions selected to be 32 | added to the existing permissions of each file; `-' causes 33 | them to be removed; and `=' causes them to be the only 34 | permissions that the file has. 35 | 36 | The letters `rwxXstugo' select the new permissions for the 37 | affected users: read (r), write (w), execute (or access 38 | for directories) (x), execute only if the file is a direc- 39 | tory or already has execute permission for some user (X), 40 | set user or group ID on execution (s), save program text 41 | on swap device (t), the permissions that the user who owns 42 | the file currently has for it (u), the permissions that 43 | other users in the file's group have for it (g), and the 44 | permissions that other users not in the file's group have 45 | for it (o). 46 | 47 | A numeric mode is from one to four octal digits (0-7), 48 | derived by adding up the bits with values 4, 2, and 1. 49 | Any omitted digits are assumed to be leading zeros. The 50 | first digit selects the set user ID (4) and set group ID 51 | (2) and save text image (1) attributes. The second digit 52 | selects permissions for the user who owns the file: read 53 | (4), write (2), and execute (1); the third selects permis- 54 | sions for other users in the file's group, with the same 55 | values; and the fourth for other users not in the file's 56 | group, with the same values. 57 | 58 | chmod never changes the permissions of symbolic links; the 59 | chmod system call cannot change their permissions. This 60 | is not a problem since the permissions of symbolic links 61 | are never used. However, for each symbolic link listed on 62 | the command line, chmod changes the permissions of the 63 | pointed-to file. In contrast, chmod ignores symbolic 64 | links encountered during recursive directory traversals. 65 | 66 | OPTIONS 67 | Change the mode of each FILE to MODE. 68 | 69 | -c, --changes 70 | like verbose but report only when a change is made 71 | 72 | -f, --silent, --quiet 73 | suppress most error messages 74 | 75 | -v, --verbose 76 | output a diagnostic for every file processed 77 | 78 | --reference=RFILE 79 | use RFILE's mode instead of MODE values 80 | 81 | -R, --recursive 82 | change files and directories recursively 83 | 84 | --help display this help and exit 85 | 86 | --version 87 | output version information and exit 88 | 89 | Each MODE is one or more of the letters ugoa, one of the 90 | symbols +-= and one or more of the letters rwxXstugo. 91 | 92 | AUTHOR 93 | Written by David MacKenzie. 94 | 95 | REPORTING BUGS 96 | Report bugs to . 97 | 98 | COPYRIGHT 99 | Copyright (C) 2001 Free Software Foundation, Inc. 100 | This is free software; see the source for copying condi- 101 | tions. There is NO warranty; not even for MERCHANTABILITY 102 | or FITNESS FOR A PARTICULAR PURPOSE. 103 | 104 | SEE ALSO 105 | The full documentation for chmod is maintained as a Tex- 106 | info manual. If the info and chmod programs are properly 107 | installed at your site, the command 108 | 109 | info chmod 110 | 111 | should give you access to the complete manual. 112 | 113 | 114 | 115 | chmod (fileutils) 4.1 April 2001 CHMOD(1) 116 | -------------------------------------------------------------------------------- /data/MAN/chown.txt: -------------------------------------------------------------------------------- 1 | CHOWN(1) FSF CHOWN(1) 2 | 3 | 4 | 5 | NAME 6 | chown - change file owner and group 7 | 8 | SYNOPSIS 9 | chown [OPTION]... OWNER[:[GROUP]] FILE... 10 | chown [OPTION]... :GROUP FILE... 11 | chown [OPTION]... --reference=RFILE FILE... 12 | 13 | DESCRIPTION 14 | This manual page documents the GNU version of chown. 15 | chown changes the user and/or group ownership of each 16 | given file, according to its first non-option argument, 17 | which is interpreted as follows. If only a user name (or 18 | numeric user ID) is given, that user is made the owner of 19 | each given file, and the files' group is not changed. If 20 | the user name is followed by a colon or dot and a group 21 | name (or numeric group ID), with no spaces between them, 22 | the group ownership of the files is changed as well. If a 23 | colon or dot but no group name follows the user name, that 24 | user is made the owner of the files and the group of the 25 | files is changed to that user's login group. If the colon 26 | or dot and group are given, but the user name is omitted, 27 | only the group of the files is changed; in this case, 28 | chown performs the same function as chgrp. 29 | 30 | Change the owner and/or group of each FILE to OWNER and/or 31 | GROUP. 32 | 33 | -c, --changes 34 | like verbose but report only when a change is made 35 | 36 | --dereference 37 | affect the referent of each symbolic link, rather 38 | than the symbolic link itself 39 | 40 | -h, --no-dereference 41 | affect symbolic links instead of any referenced 42 | file (available only on systems that can change the 43 | ownership of a symlink) 44 | 45 | --from=CURRENT_OWNER:CURRENT_GROUP 46 | change the owner and/or group of each file only if 47 | its current owner and/or group match those speci- 48 | fied here. Either may be omitted, in which case a 49 | match is not required for the omitted attribute. 50 | 51 | -f, --silent, --quiet 52 | suppress most error messages 53 | 54 | --reference=RFILE 55 | use RFILE's owner and group rather than the speci- 56 | fied OWNER:GROUP values 57 | 58 | -R, --recursive 59 | operate on files and directories recursively 60 | 61 | -v, --verbose 62 | output a diagnostic for every file processed 63 | 64 | --help display this help and exit 65 | 66 | --version 67 | output version information and exit 68 | 69 | Owner is unchanged if missing. Group is unchanged if 70 | missing, but changed to login group if implied by a `:'. 71 | OWNER and GROUP may be numeric as well as symbolic. 72 | 73 | AUTHOR 74 | Written by David MacKenzie. 75 | 76 | REPORTING BUGS 77 | Report bugs to . 78 | 79 | COPYRIGHT 80 | Copyright (C) 2001 Free Software Foundation, Inc. 81 | This is free software; see the source for copying condi- 82 | tions. There is NO warranty; not even for MERCHANTABILITY 83 | or FITNESS FOR A PARTICULAR PURPOSE. 84 | 85 | SEE ALSO 86 | The full documentation for chown is maintained as a Tex- 87 | info manual. If the info and chown programs are properly 88 | installed at your site, the command 89 | 90 | info chown 91 | 92 | should give you access to the complete manual. 93 | 94 | 95 | 96 | chown (fileutils) 4.1 April 2001 CHOWN(1) 97 | -------------------------------------------------------------------------------- /data/MAN/cp.txt: -------------------------------------------------------------------------------- 1 | CP(1) FSF CP(1) 2 | 3 | 4 | 5 | NAME 6 | cp - copy files and directories 7 | 8 | SYNOPSIS 9 | cp [OPTION]... SOURCE DEST 10 | cp [OPTION]... SOURCE... DIRECTORY 11 | cp [OPTION]... --target-directory=DIRECTORY SOURCE... 12 | 13 | DESCRIPTION 14 | Copy SOURCE to DEST, or multiple SOURCE(s) to DIRECTORY. 15 | 16 | -a, --archive 17 | same as -dpR 18 | 19 | --backup[=CONTROL] 20 | make a backup of each existing destination file 21 | 22 | -b like --backup but does not accept an argument 23 | 24 | -d, --no-dereference 25 | never follow symbolic links 26 | 27 | -f, --force 28 | if an existing destination file cannot be opened, 29 | remove it and try again 30 | 31 | -i, --interactive 32 | prompt before overwrite 33 | 34 | -H follow command-line symbolic links 35 | 36 | -l, --link 37 | link files instead of copying 38 | 39 | -L, --dereference 40 | always follow symbolic links 41 | 42 | -p, --preserve 43 | preserve file attributes if possible 44 | 45 | --parents 46 | append source path to DIRECTORY 47 | 48 | -P same as `--parents' for now; soon to change to 49 | `--no-dereference' to conform to POSIX 50 | 51 | -r copy recursively, non-directories as files WARNING: 52 | use -R instead when you might copy special files 53 | like FIFOs or /dev/zero 54 | 55 | --remove-destination 56 | remove each existing destination file before 57 | attempting to open it (contrast with --force) 58 | 59 | --sparse=WHEN 60 | control creation of sparse files 61 | 62 | -R, --recursive 63 | copy directories recursively 64 | 65 | --strip-trailing-slashes remove any trailing slashes from 66 | each SOURCE 67 | argument 68 | 69 | -s, --symbolic-link 70 | make symbolic links instead of copying 71 | 72 | -S, --suffix=SUFFIX 73 | override the usual backup suffix 74 | 75 | --target-directory=DIRECTORY 76 | move all SOURCE arguments into DIRECTORY 77 | 78 | -u, --update 79 | copy only when the SOURCE file is newer than the 80 | destination file or when the destination file is 81 | missing 82 | 83 | -v, --verbose 84 | explain what is being done 85 | 86 | -x, --one-file-system 87 | stay on this file system 88 | 89 | --help display this help and exit 90 | 91 | --version 92 | output version information and exit 93 | 94 | By default, sparse SOURCE files are detected by a crude 95 | heuristic and the corresponding DEST file is made sparse 96 | as well. That is the behavior selected by --sparse=auto. 97 | Specify --sparse=always to create a sparse DEST file when- 98 | ever the SOURCE file contains a long enough sequence of 99 | zero bytes. Use --sparse=never to inhibit creation of 100 | sparse files. 101 | 102 | The backup suffix is `~', unless set with --suffix or SIM- 103 | PLE_BACKUP_SUFFIX. The version control method may be 104 | selected via the --backup option or through the VER- 105 | SION_CONTROL environment variable. Here are the values: 106 | 107 | none, off 108 | never make backups (even if --backup is given) 109 | 110 | numbered, t 111 | make numbered backups 112 | 113 | existing, nil 114 | numbered if numbered backups exist, simple other- 115 | wise 116 | 117 | simple, never 118 | always make simple backups 119 | 120 | As a special case, cp makes a backup of SOURCE when the 121 | force and backup options are given and SOURCE and DEST are 122 | the same name for an existing, regular file. 123 | 124 | AUTHOR 125 | Written by Torbjorn Granlund, David MacKenzie, and Jim 126 | Meyering. 127 | 128 | REPORTING BUGS 129 | Report bugs to . 130 | 131 | COPYRIGHT 132 | Copyright (C) 2001 Free Software Foundation, Inc. 133 | This is free software; see the source for copying condi- 134 | tions. There is NO warranty; not even for MERCHANTABILITY 135 | or FITNESS FOR A PARTICULAR PURPOSE. 136 | 137 | SEE ALSO 138 | The full documentation for cp is maintained as a Texinfo 139 | manual. If the info and cp programs are properly 140 | installed at your site, the command 141 | 142 | info cp 143 | 144 | should give you access to the complete manual. 145 | 146 | 147 | 148 | cp (fileutils) 4.1 April 2001 CP(1) 149 | -------------------------------------------------------------------------------- /data/MAN/cut.txt: -------------------------------------------------------------------------------- 1 | CUT(1) User Commands CUT(1) 2 | 3 | 4 | 5 | NAME 6 | cut - remove sections from each line of files 7 | 8 | SYNOPSIS 9 | cut [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Print selected parts of lines from each FILE to standard 13 | output. 14 | 15 | Mandatory arguments to long options are mandatory for 16 | short options too. 17 | 18 | -b, --bytes=LIST 19 | output only these bytes 20 | 21 | -c, --characters=LIST 22 | output only these characters 23 | 24 | -d, --delimiter=DELIM 25 | use DELIM instead of TAB for field delimiter 26 | 27 | -f, --fields=LIST 28 | output only these fields; also print any line that 29 | contains no delimiter character, unless the -s 30 | option is specified 31 | 32 | -n (ignored) 33 | 34 | -s, --only-delimited 35 | do not print lines not containing delimiters 36 | 37 | --output-delimiter=STRING 38 | use STRING as the output delimiter the default is 39 | to use the input delimiter 40 | 41 | --help display this help and exit 42 | 43 | --version 44 | output version information and exit 45 | 46 | Use one, and only one of -b, -c or -f. Each LIST is made 47 | up of one range, or many ranges separated by commas. Each 48 | range is one of: 49 | 50 | N N'th byte, character or field, counted from 1 51 | 52 | N- from N'th byte, character or field, to end of line 53 | 54 | N-M from N'th to M'th (included) byte, character or 55 | field 56 | 57 | -M from first to M'th (included) byte, character or 58 | field 59 | 60 | With no FILE, or when FILE is -, read standard input. 61 | 62 | AUTHOR 63 | Written by David Ihnat, David MacKenzie, and Jim Meyering. 64 | 65 | REPORTING BUGS 66 | Report bugs to . 67 | 68 | COPYRIGHT 69 | Copyright (C) 2002 Free Software Foundation, Inc. 70 | This is free software; see the source for copying condi- 71 | tions. There is NO warranty; not even for MERCHANTABILITY 72 | or FITNESS FOR A PARTICULAR PURPOSE. 73 | 74 | SEE ALSO 75 | The full documentation for cut is maintained as a Texinfo 76 | manual. If the info and cut programs are properly 77 | installed at your site, the command 78 | 79 | info cut 80 | 81 | should give you access to the complete manual. 82 | 83 | 84 | 85 | cut (textutils) 2.1 July 2002 CUT(1) 86 | -------------------------------------------------------------------------------- /data/MAN/date.txt: -------------------------------------------------------------------------------- 1 | DATE(1) User Commands DATE(1) 2 | 3 | 4 | 5 | NAME 6 | date - print or set the system date and time 7 | 8 | SYNOPSIS 9 | date [OPTION]... [+FORMAT] 10 | date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] 11 | 12 | DESCRIPTION 13 | Display the current time in the given FORMAT, or set the system date. 14 | 15 | -d, --date=STRING 16 | display time described by STRING, not `now' 17 | 18 | -f, --file=DATEFILE 19 | like --date once for each line of DATEFILE 20 | 21 | -ITIMESPEC, --iso-8601[=TIMESPEC] 22 | output date/time in ISO 8601 format. TIMESPEC=`date' for date 23 | only, `hours', `minutes', or `seconds' for date and time to the 24 | indicated precision. --iso-8601 without TIMESPEC defaults to 25 | `date'. 26 | 27 | -r, --reference=FILE 28 | display the last modification time of FILE 29 | 30 | -R, --rfc-822 31 | output RFC-822 compliant date string 32 | 33 | -s, --set=STRING 34 | set time described by STRING 35 | 36 | -u, --utc, --universal 37 | print or set Coordinated Universal Time 38 | 39 | --help display this help and exit 40 | 41 | --version 42 | output version information and exit 43 | 44 | FORMAT controls the output. The only valid option for the second form 45 | specifies Coordinated Universal Time. Interpreted sequences are: 46 | 47 | %% a literal % 48 | 49 | %a locale's abbreviated weekday name (Sun..Sat) 50 | 51 | %A locale's full weekday name, variable length (Sunday..Saturday) 52 | 53 | %b locale's abbreviated month name (Jan..Dec) 54 | 55 | %B locale's full month name, variable length (January..December) 56 | 57 | %c locale's date and time (Sat Nov 04 12:02:33 EST 1989) 58 | 59 | %C century (year divided by 100 and truncated to an integer) 60 | [00-99] 61 | 62 | %d day of month (01..31) 63 | 64 | %D date (mm/dd/yy) 65 | 66 | %e day of month, blank padded ( 1..31) 67 | 68 | %F same as %Y-%m-%d 69 | 70 | %g the 2-digit year corresponding to the %V week number 71 | 72 | %G the 4-digit year corresponding to the %V week number 73 | 74 | %h same as %b 75 | 76 | %H hour (00..23) 77 | 78 | %I hour (01..12) 79 | 80 | %j day of year (001..366) 81 | 82 | %k hour ( 0..23) 83 | 84 | %l hour ( 1..12) 85 | 86 | %m month (01..12) 87 | 88 | %M minute (00..59) 89 | 90 | %n a newline 91 | 92 | %N nanoseconds (000000000..999999999) 93 | 94 | %p locale's upper case AM or PM indicator (blank in many locales) 95 | 96 | %P locale's lower case am or pm indicator (blank in many locales) 97 | 98 | %r time, 12-hour (hh:mm:ss [AP]M) 99 | 100 | %R time, 24-hour (hh:mm) 101 | 102 | %s seconds since `00:00:00 1970-01-01 UTC' (a GNU extension) 103 | 104 | %S second (00..60); the 60 is necessary to accommodate a leap sec- 105 | ond 106 | 107 | %t a horizontal tab 108 | 109 | %T time, 24-hour (hh:mm:ss) 110 | 111 | %u day of week (1..7); 1 represents Monday 112 | 113 | %U week number of year with Sunday as first day of week (00..53) 114 | 115 | %V week number of year with Monday as first day of week (01..53) 116 | 117 | %w day of week (0..6); 0 represents Sunday 118 | 119 | %W week number of year with Monday as first day of week (00..53) 120 | 121 | %x locale's date representation (mm/dd/yy) 122 | 123 | %X locale's time representation (%H:%M:%S) 124 | 125 | %y last two digits of year (00..99) 126 | 127 | %Y year (1970...) 128 | 129 | %z RFC-822 style numeric timezone (-0500) (a nonstandard extension) 130 | 131 | %Z time zone (e.g., EDT), or nothing if no time zone is deter- 132 | minable 133 | 134 | By default, date pads numeric fields with zeroes. GNU date recognizes 135 | the following modifiers between `%' and a numeric directive. 136 | 137 | `-' (hyphen) do not pad the field `_' (underscore) pad the field 138 | with spaces 139 | 140 | ENVIRONMENT 141 | TZ Specifies the timezone, unless overridden by command line param- 142 | eters. If neither is specified, the setting from /etc/localtime 143 | is used. 144 | 145 | AUTHOR 146 | Written by David MacKenzie. 147 | 148 | REPORTING BUGS 149 | Report bugs to . 150 | 151 | COPYRIGHT 152 | Copyright 153 | -------------------------------------------------------------------------------- /data/MAN/dd.txt: -------------------------------------------------------------------------------- 1 | DD(1) FSF DD(1) 2 | 3 | 4 | 5 | NAME 6 | dd - convert and copy a file 7 | 8 | SYNOPSIS 9 | dd [OPTION]... 10 | 11 | DESCRIPTION 12 | Copy a file, converting and formatting according to the 13 | options. 14 | 15 | bs=BYTES 16 | force ibs=BYTES and obs=BYTES 17 | 18 | cbs=BYTES 19 | convert BYTES bytes at a time 20 | 21 | conv=KEYWORDS 22 | convert the file as per the comma separated keyword 23 | list 24 | 25 | count=BLOCKS 26 | copy only BLOCKS input blocks 27 | 28 | ibs=BYTES 29 | read BYTES bytes at a time 30 | 31 | if=FILE 32 | read from FILE instead of stdin 33 | 34 | obs=BYTES 35 | write BYTES bytes at a time 36 | 37 | of=FILE 38 | write to FILE instead of stdout 39 | 40 | seek=BLOCKS 41 | skip BLOCKS obs-sized blocks at start of output 42 | 43 | skip=BLOCKS 44 | skip BLOCKS ibs-sized blocks at start of input 45 | 46 | --help display this help and exit 47 | 48 | --version 49 | output version information and exit 50 | 51 | BLOCKS and BYTES may be followed by the following multi- 52 | plicative suffixes: xM M, c 1, w 2, b 512, kD 1000, k 53 | 1024, MD 1,000,000, M 1,048,576, GD 1,000,000,000, G 54 | 1,073,741,824, and so on for T, P, E, Z, Y. Each KEYWORD 55 | may be: 56 | 57 | ascii from EBCDIC to ASCII 58 | 59 | ebcdic from ASCII to EBCDIC 60 | 61 | ibm from ASCII to alternated EBCDIC 62 | 63 | block pad newline-terminated records with spaces to cbs- 64 | size 65 | 66 | unblock 67 | replace trailing spaces in cbs-size records with 68 | newline 69 | 70 | lcase change upper case to lower case 71 | 72 | notrunc 73 | do not truncate the output file 74 | 75 | ucase change lower case to upper case 76 | 77 | swab swap every pair of input bytes 78 | 79 | noerror 80 | continue after read errors 81 | 82 | sync pad every input block with NULs to ibs-size; when 83 | used 84 | 85 | with block or unblock, pad with spaces rather than 86 | NULs 87 | 88 | AUTHOR 89 | Written by Paul Rubin, David MacKenzie, and Stuart Kemp. 90 | 91 | REPORTING BUGS 92 | Report bugs to . 93 | 94 | COPYRIGHT 95 | Copyright (C) 2001 Free Software Foundation, Inc. 96 | This is free software; see the source for copying condi- 97 | tions. There is NO warranty; not even for MERCHANTABILITY 98 | or FITNESS FOR A PARTICULAR PURPOSE. 99 | 100 | SEE ALSO 101 | The full documentation for dd is maintained as a Texinfo 102 | manual. If the info and dd programs are properly 103 | installed at your site, the command 104 | 105 | info dd 106 | 107 | should give you access to the complete manual. 108 | 109 | 110 | 111 | dd (fileutils) 4.1 April 2001 DD(1) 112 | -------------------------------------------------------------------------------- /data/MAN/df.txt: -------------------------------------------------------------------------------- 1 | DF(1) FSF DF(1) 2 | 3 | 4 | 5 | NAME 6 | df - report filesystem disk space usage 7 | 8 | SYNOPSIS 9 | df [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | This manual page documents the GNU version of df. df dis- 13 | plays the amount of disk space available on the filesystem 14 | containing each file name argument. If no file name is 15 | given, the space available on all currently mounted 16 | filesystems is shown. Disk space is shown in 1K blocks by 17 | default, unless the environment variable POSIXLY_CORRECT 18 | is set, in which case 512-byte blocks are used. 19 | 20 | If an argument is the absolute file name of a disk device 21 | node containing a mounted filesystem, df shows the space 22 | available on that filesystem rather than on the filesystem 23 | containing the device node (which is always the root 24 | filesystem). This version of df cannot show the space 25 | available on unmounted filesystems, because on most kinds 26 | of systems doing so requires very nonportable intimate 27 | knowledge of filesystem structures. 28 | 29 | OPTIONS 30 | Show information about the filesystem on which each FILE 31 | resides, or all filesystems by default. 32 | 33 | -a, --all 34 | include filesystems having 0 blocks 35 | 36 | --block-size=SIZE use SIZE-byte blocks 37 | 38 | -h, --human-readable 39 | print sizes in human readable format (e.g., 1K 234M 40 | 2G) 41 | 42 | -H, --si 43 | likewise, but use powers of 1000 not 1024 44 | 45 | -i, --inodes 46 | list inode information instead of block usage 47 | 48 | -k, --kilobytes 49 | like --block-size=1024 50 | 51 | -l, --local 52 | limit listing to local filesystems 53 | 54 | -m, --megabytes 55 | like --block-size=1048576 56 | 57 | --no-sync 58 | do not invoke sync before getting usage info 59 | (default) 60 | 61 | -P, --portability 62 | use the POSIX output format 63 | 64 | --sync invoke sync before getting usage info 65 | 66 | -t, --type=TYPE 67 | limit listing to filesystems of type TYPE 68 | 69 | -T, --print-type 70 | print filesystem type 71 | 72 | -x, --exclude-type=TYPE 73 | limit listing to filesystems not of type TYPE 74 | 75 | -v (ignored) 76 | 77 | --help display this help and exit 78 | 79 | --version 80 | output version information and exit 81 | 82 | AUTHOR 83 | Written by Torbjorn Granlund, David MacKenzie, Larry 84 | McVoy, and Paul Eggert. 85 | 86 | REPORTING BUGS 87 | Report bugs to . 88 | 89 | COPYRIGHT 90 | Copyright (C) 2001 Free Software Foundation, Inc. 91 | This is free software; see the source for copying condi- 92 | tions. There is NO warranty; not even for MERCHANTABILITY 93 | or FITNESS FOR A PARTICULAR PURPOSE. 94 | 95 | SEE ALSO 96 | The full documentation for df is maintained as a Texinfo 97 | manual. If the info and df programs are properly 98 | installed at your site, the command 99 | 100 | info df 101 | 102 | should give you access to the complete manual. 103 | 104 | 105 | 106 | df (fileutils) 4.1 April 2001 DF(1) 107 | -------------------------------------------------------------------------------- /data/MAN/du.txt: -------------------------------------------------------------------------------- 1 | DU(1) FSF DU(1) 2 | 3 | 4 | 5 | NAME 6 | du - estimate file space usage 7 | 8 | SYNOPSIS 9 | du [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Summarize disk usage of each FILE, recursively for direc- 13 | tories. 14 | 15 | -a, --all 16 | write counts for all files, not just directories 17 | 18 | --block-size=SIZE use SIZE-byte blocks 19 | 20 | -b, --bytes 21 | print size in bytes 22 | 23 | -c, --total 24 | produce a grand total 25 | 26 | -D, --dereference-args 27 | dereference PATHs when symbolic link 28 | 29 | -h, --human-readable 30 | print sizes in human readable format (e.g., 1K 234M 31 | 2G) 32 | 33 | -H, --si 34 | likewise, but use powers of 1000 not 1024 35 | 36 | -k, --kilobytes 37 | like --block-size=1024 38 | 39 | -l, --count-links 40 | count sizes many times if hard linked 41 | 42 | -L, --dereference 43 | dereference all symbolic links 44 | 45 | -m, --megabytes 46 | like --block-size=1048576 47 | 48 | -S, --separate-dirs 49 | do not include size of subdirectories 50 | 51 | -s, --summarize 52 | display only a total for each argument 53 | 54 | -x, --one-file-system 55 | skip directories on different filesystems 56 | 57 | -X FILE, --exclude-from=FILE 58 | Exclude files that match any pattern in FILE. 59 | 60 | --exclude=PAT 61 | Exclude files that match PAT. 62 | 63 | --max-depth=N 64 | print the total for a directory (or file, with 65 | --all) only if it is N or fewer levels below the 66 | command line argument; --max-depth=0 is the same 67 | as --summarize 68 | 69 | --help display this help and exit 70 | 71 | --version 72 | output version information and exit 73 | 74 | AUTHOR 75 | Written by Torbjorn Granlund, David MacKenzie, Larry 76 | McVoy, and Paul Eggert. 77 | 78 | REPORTING BUGS 79 | Report bugs to . 80 | 81 | COPYRIGHT 82 | Copyright (C) 2001 Free Software Foundation, Inc. 83 | This is free software; see the source for copying condi- 84 | tions. There is NO warranty; not even for MERCHANTABILITY 85 | or FITNESS FOR A PARTICULAR PURPOSE. 86 | 87 | SEE ALSO 88 | The full documentation for du is maintained as a Texinfo 89 | manual. If the info and du programs are properly 90 | installed at your site, the command 91 | 92 | info du 93 | 94 | should give you access to the complete manual. 95 | 96 | 97 | 98 | du (fileutils) 4.1 April 2001 DU(1) 99 | -------------------------------------------------------------------------------- /data/MAN/echo.txt: -------------------------------------------------------------------------------- 1 | ECHO(1) FSF ECHO(1) 2 | 3 | 4 | 5 | NAME 6 | echo - display a line of text 7 | 8 | SYNOPSIS 9 | echo [OPTION]... [STRING]... 10 | 11 | DESCRIPTION 12 | NOTE: your shell may have its own version of echo which will supercede 13 | the version described here. Please refer to your shell's documentation 14 | for details about the options it supports. 15 | 16 | Echo the STRING(s) to standard output. 17 | 18 | -n do not output the trailing newline 19 | 20 | -e enable interpretation of the backslash-escaped characters listed 21 | below 22 | 23 | -E disable interpretation of those sequences in STRINGs 24 | 25 | --help display this help and exit 26 | 27 | --version 28 | output version information and exit 29 | 30 | Without -E, the following sequences are recognized and interpolated: 31 | 32 | \NNN the character whose ASCII code is NNN (octal) 33 | 34 | \\ backslash 35 | 36 | \a alert (BEL) 37 | 38 | \b backspace 39 | 40 | \c suppress trailing newline 41 | 42 | \f form feed 43 | 44 | \n new line 45 | 46 | \r carriage return 47 | 48 | \t horizontal tab 49 | 50 | \v vertical tab 51 | 52 | AUTHOR 53 | Written by FIXME unknown. 54 | 55 | REPORTING BUGS 56 | Report bugs to . 57 | 58 | COPYRIGHT 59 | Copyright 60 | -------------------------------------------------------------------------------- /data/MAN/expr.txt: -------------------------------------------------------------------------------- 1 | EXPR(1) FSF EXPR(1) 2 | 3 | 4 | 5 | NAME 6 | expr - evaluate expressions 7 | 8 | SYNOPSIS 9 | expr EXPRESSION 10 | expr OPTION 11 | 12 | DESCRIPTION 13 | --help display this help and exit 14 | 15 | --version 16 | output version information and exit 17 | 18 | Print the value of EXPRESSION to standard output. A blank line below 19 | separates increasing precedence groups. EXPRESSION may be: 20 | 21 | ARG1 | ARG2 22 | ARG1 if it is neither null nor 0, otherwise ARG2 23 | 24 | ARG1 & ARG2 25 | ARG1 if neither argument is null or 0, otherwise 0 26 | 27 | ARG1 < ARG2 28 | ARG1 is less than ARG2 29 | 30 | ARG1 <= ARG2 31 | ARG1 is less than or equal to ARG2 32 | 33 | ARG1 = ARG2 34 | ARG1 is equal to ARG2 35 | 36 | ARG1 != ARG2 37 | ARG1 is unequal to ARG2 38 | 39 | ARG1 >= ARG2 40 | ARG1 is greater than or equal to ARG2 41 | 42 | ARG1 > ARG2 43 | ARG1 is greater than ARG2 44 | 45 | ARG1 + ARG2 46 | arithmetic sum of ARG1 and ARG2 47 | 48 | ARG1 - ARG2 49 | arithmetic difference of ARG1 and ARG2 50 | 51 | ARG1 * ARG2 52 | arithmetic product of ARG1 and ARG2 53 | 54 | ARG1 / ARG2 55 | arithmetic quotient of ARG1 divided by ARG2 56 | 57 | ARG1 % ARG2 58 | arithmetic remainder of ARG1 divided by ARG2 59 | 60 | STRING : REGEXP 61 | anchored pattern match of REGEXP in STRING 62 | 63 | match STRING REGEXP 64 | same as STRING : REGEXP 65 | 66 | substr STRING POS LENGTH 67 | substring of STRING, POS counted from 1 68 | 69 | index STRING CHARS 70 | index in STRING where any CHARS is found, or 0 71 | 72 | length STRING 73 | length of STRING 74 | 75 | + TOKEN 76 | interpret TOKEN as a string, even if it is a 77 | 78 | keyword like `match' or an operator like `/' 79 | 80 | ( EXPRESSION ) 81 | value of EXPRESSION 82 | 83 | Beware that many operators need to be escaped or quoted for shells. 84 | Comparisons are arithmetic if both ARGs are numbers, else lexicographi- 85 | cal. Pattern matches return the string matched between \( and \) or 86 | null; if \( and \) are not used, they return the number of characters 87 | matched or 0. 88 | 89 | AUTHOR 90 | Written by Mike Parker. 91 | 92 | REPORTING BUGS 93 | Report bugs to . 94 | 95 | COPYRIGHT 96 | Copyright 97 | -------------------------------------------------------------------------------- /data/MAN/finger.txt: -------------------------------------------------------------------------------- 1 | FINGER(1) BSD General Commands Manual FINGER(1) 2 | 3 | NAME 4 | finger - user information lookup program 5 | 6 | SYNOPSIS 7 | finger [-lmsp] [user ...] [user@host ...] 8 | 9 | DESCRIPTION 10 | The finger displays information about the system users. 11 | 12 | Options are: 13 | 14 | -s Finger displays the user's login name, real name, terminal name and 15 | write status (as a ``*'' after the terminal name if write permis- 16 | sion is denied), idle time, login time, office location and office 17 | phone number. 18 | 19 | Login time is displayed as month, day, hours and minutes, unless 20 | more than six months ago, in which case the year is displayed 21 | rather than the hours and minutes. 22 | 23 | Unknown devices as well as nonexistent idle and login times are 24 | displayed as single asterisks. 25 | 26 | -l Produces a multi-line format displaying all of the information 27 | described for the -s option as well as the user's home directory, 28 | home phone number, login shell, mail status, and the contents of 29 | the files ``.plan'', ``.project'', ``.pgpkey'' and ``.forward'' 30 | from the user's home directory. 31 | 32 | Phone numbers specified as eleven digits are printed as ``+N-NNN- 33 | NNN-NNNN''. Numbers specified as ten or seven digits are printed 34 | as the appropriate subset of that string. Numbers specified as 35 | five digits are printed as ``xN-NNNN''. Numbers specified as four 36 | digits are printed as ``xNNNN''. 37 | 38 | If write permission is denied to the device, the phrase ``(messages 39 | off)'' is appended to the line containing the device name. One 40 | entry per user is displayed with the -l option; if a user is logged 41 | on multiple times, terminal information is repeated once per login. 42 | 43 | Mail status is shown as ``No Mail.'' if there is no mail at all, 44 | ``Mail last read DDD MMM ## HH:MM YYYY (TZ)'' if the person has 45 | looked at their mailbox since new mail arriving, or ``New mail 46 | received ...'', `` Unread since ...'' if they have new mail. 47 | 48 | -p Prevents the -l option of finger from displaying the contents of 49 | the ``.plan'', ``.project'' and ``.pgpkey'' files. 50 | 51 | -m Prevent matching of user names. User is usually a login name; how- 52 | ever, matching will also be done on the users' real names, unless 53 | the -m option is supplied. All name matching performed by finger 54 | is case insensitive. 55 | 56 | If no options are specified, finger defaults to the -l style output if 57 | operands are provided, otherwise to the -s style. Note that some fields 58 | may be missing, in either format, if information is not available for 59 | them. 60 | 61 | If no arguments are specified, finger will print an entry for each user 62 | currently logged into the system. 63 | 64 | Finger may be used to look up users on a remote machine. The format is 65 | to specify a user as ``user@host'', or ``@host'', where the default out- 66 | put format for the former is the -l style, and the default output format 67 | for the latter is the -s style. The -l option is the only option that 68 | may be passed to a remote machine. 69 | 70 | If standard output is a socket, finger will emit a carriage return (^M) 71 | before every linefeed (^J). This is for processing remote finger requests 72 | when invoked by fingerd(8). 73 | 74 | FILES 75 | ~/.nofinger If finger finds this file in a user's home directory, it 76 | will, for finger requests originating outside the local 77 | host, firmly deny the existence of that user. For this 78 | to work, the finger program, as started by fingerd(8), 79 | must be able to see the .nofinger file. This generally 80 | means that the home directory containing the file must 81 | have the other-users-execute bit set (o+x). See 82 | chmod(1). If you use this feature for privacy, please 83 | test it with ``finger @localhost'' before relying on it, 84 | just in case. 85 | 86 | ~/.plan 87 | 88 | ~/.project 89 | 90 | ~/.pgp These files are printed as part of a long-format 91 | request. The .project file is limited to one line; the 92 | .plan file may be arbitrarily long. 93 | 94 | SEE ALSO 95 | chfn(1), passwd(1), w(1), who(1) 96 | 97 | HISTORY 98 | The finger command appeared in 3.0BSD. 99 | 100 | Linux NetKit (0.17) August 15, 1999 Linux NetKit (0.17) 101 | -------------------------------------------------------------------------------- /data/MAN/head.txt: -------------------------------------------------------------------------------- 1 | HEAD(1) User Commands HEAD(1) 2 | 3 | 4 | 5 | NAME 6 | head - output the first part of files 7 | 8 | SYNOPSIS 9 | head [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Print first 10 lines of each FILE to standard output. 13 | With more than one FILE, precede each with a header giving 14 | the file name. With no FILE, or when FILE is -, read 15 | standard input. 16 | 17 | Mandatory arguments to long options are mandatory for 18 | short options too. 19 | 20 | -c, --bytes=SIZE 21 | print first SIZE bytes 22 | 23 | -n, --lines=NUMBER 24 | print first NUMBER lines instead of first 10 25 | 26 | -q, --quiet, --silent 27 | never print headers giving file names 28 | 29 | -v, --verbose 30 | always print headers giving file names 31 | 32 | --help display this help and exit 33 | 34 | --version 35 | output version information and exit 36 | 37 | SIZE may have a multiplier suffix: b for 512, k for 1K, m 38 | for 1 Meg. 39 | 40 | AUTHOR 41 | Written by David MacKenzie. 42 | 43 | REPORTING BUGS 44 | Report bugs to . 45 | 46 | COPYRIGHT 47 | Copyright (C) 2002 Free Software Foundation, Inc. 48 | This is free software; see the source for copying condi- 49 | tions. There is NO warranty; not even for MERCHANTABILITY 50 | or FITNESS FOR A PARTICULAR PURPOSE. 51 | 52 | SEE ALSO 53 | The full documentation for head is maintained as a Texinfo 54 | manual. If the info and head programs are properly 55 | installed at your site, the command 56 | 57 | info head 58 | 59 | should give you access to the complete manual. 60 | 61 | 62 | 63 | head (textutils) 2.1 July 2002 HEAD(1) 64 | -------------------------------------------------------------------------------- /data/MAN/info.txt: -------------------------------------------------------------------------------- 1 | INFO(1) FSF INFO(1) 2 | 3 | 4 | 5 | NAME 6 | info - read Info documents 7 | 8 | SYNOPSIS 9 | info [OPTION]... [MENU-ITEM...] 10 | 11 | DESCRIPTION 12 | Read documentation in Info format. 13 | 14 | OPTIONS 15 | --apropos=STRING 16 | look up STRING in all indices of all manuals. 17 | 18 | -d, --directory=DIR 19 | add DIR to INFOPATH. 20 | 21 | --dribble=FILENAME 22 | remember user keystrokes in FILENAME. 23 | 24 | -f, --file=FILENAME 25 | specify Info file to visit. 26 | 27 | -h, --help 28 | display this help and exit. 29 | 30 | --index-search=STRING 31 | go to node pointed by index entry STRING. 32 | 33 | -n, --node=NODENAME 34 | specify nodes in first visited Info file. 35 | 36 | -o, --output=FILENAME 37 | output selected nodes to FILENAME. 38 | 39 | -R, --raw-escapes 40 | don't remove ANSI escapes from man pages. 41 | 42 | --restore=FILENAME 43 | read initial keystrokes from FILENAME. 44 | 45 | -O, --show-options, --usage 46 | go to command-line options node. 47 | 48 | --subnodes 49 | recursively output menu items. 50 | 51 | --vi-keys 52 | use vi-like and less-like key bindings. 53 | 54 | --version 55 | display version information and exit. 56 | 57 | The first non-option argument, if present, is the menu 58 | entry to start from; it is searched for in all `dir' files 59 | along INFOPATH. If it is not present, info merges all 60 | `dir' files and shows the result. Any remaining arguments 61 | are treated as the names of menu items relative to the 62 | initial node visited. 63 | 64 | EXAMPLES 65 | info show top-level dir menu 66 | 67 | info emacs 68 | start at emacs node from top-level dir 69 | 70 | info emacs buffers 71 | start at buffers node within emacs manual 72 | 73 | info --show-options emacs 74 | start at node with emacs' command line options 75 | 76 | info -f ./foo.info 77 | show file ./foo.info, not searching dir 78 | 79 | REPORTING BUGS 80 | Email bug reports to bug-texinfo@gnu.org, general ques- 81 | tions and discussion to help-texinfo@gnu.org. Texinfo 82 | home page: http://www.gnu.org/software/texinfo/ 83 | 84 | COPYRIGHT 85 | Copyright (C) 2002 Free Software Foundation, Inc. There 86 | is NO warranty. You may redistribute this software under 87 | the terms of the GNU General Public License. For more 88 | information about these matters, see the files named COPY- 89 | ING. 90 | 91 | 92 | 93 | GNU texinfo 4.2 April 2002 INFO(1) 94 | -------------------------------------------------------------------------------- /data/MAN/jar.txt: -------------------------------------------------------------------------------- 1 | FASTJAR(1) GNU FASTJAR(1) 2 | 3 | 4 | 5 | NAME 6 | jar - archive tool for Java archives 7 | 8 | SYNOPSIS 9 | jar -ctxu [OPTIONS] [jar-file] [manifest-file] [-C dir] files... 10 | 11 | DESCRIPTION 12 | "fastjar" is an implementation of Sun's jar utility that comes with the 13 | JDK, written entirely in C, and runs in a fraction of the time while 14 | being feature compatible. 15 | 16 | If any file is a directory then it is processed recursively. The mani- 17 | fest file name and the archive file name needs to be specified in the 18 | same order the -m and -f flags are specified. 19 | 20 | OPTIONS 21 | Exactly one of the following actions must be specified: 22 | 23 | -c Create new archive. 24 | 25 | -t List table of contents for archive. 26 | 27 | -x Extract named (or all) files from archive. 28 | 29 | -u Update existing archive. This option is disabled due to bugs (cur- 30 | rently fails with exit status 1 and does nothing). 31 | 32 | The following parameters are optional: 33 | 34 | -@ Read the names of the files to add to the archive from stdin. This 35 | option is supported only in combination with -c or -u. Non stan- 36 | dard option added in the GCC version. 37 | 38 | -C directory 39 | Change to the directory and include the following file. 40 | 41 | -E Prevent fastjar from reading the content of a directory when speci- 42 | fying one (and instead relying on the provided list of files to 43 | populate the archive with regard to the directory entry). Non stan- 44 | dard option added in the GCC version. 45 | 46 | -M Do not create a manifest file for the entries. 47 | 48 | -0 Store only; use no ZIP compression. 49 | 50 | -V 51 | --version 52 | Display version information. 53 | 54 | -f archive 55 | Specify archive file name. 56 | 57 | -m manifest 58 | Include manifest information from specified manifest file. 59 | 60 | -v Generate verbose output on standard output. 61 | 62 | All remaining options are considered to be names of files. 63 | 64 | SEE ALSO 65 | gcj(1), gij(1), grepjar(1) and the Info entry for gcj. 66 | 67 | COPYRIGHT 68 | Copyright (C) 2002 Free Software Foundation, Inc. 69 | 70 | Permission is granted to copy, distribute and/or modify this document 71 | under the terms of the GNU Free Documentation License, Version 1.1 or 72 | any later version published by the Free Software Foundation; with the 73 | Invariant Sections being ``GNU General Public License'', the Front- 74 | Cover texts being (a) (see below), and with the Back-Cover Texts being 75 | (b) (see below). A copy of the license is included in the man page 76 | gfdl(7). 77 | 78 | 79 | 80 | gcc-3.2.2 2003-02-25 FASTJAR(1) 81 | -------------------------------------------------------------------------------- /data/MAN/join.txt: -------------------------------------------------------------------------------- 1 | JOIN(1) FSF JOIN(1) 2 | 3 | 4 | 5 | NAME 6 | join - join lines of two files on a common field 7 | 8 | SYNOPSIS 9 | join [OPTION]... FILE1 FILE2 10 | 11 | DESCRIPTION 12 | For each pair of input lines with identical join fields, write a line 13 | to standard output. The default join field is the first, delimited by 14 | whitespace. When FILE1 or FILE2 (not both) is -, read standard input. 15 | 16 | -a SIDE 17 | print unpairable lines coming from file SIDE 18 | 19 | -e EMPTY 20 | replace missing input fields with EMPTY 21 | 22 | -i, --ignore-case ignore differences in case when comparing fields 23 | 24 | -j FIELD 25 | (obsolescent) equivalent to `-1 FIELD -2 FIELD' 26 | 27 | -j1 FIELD 28 | (obsolescent) equivalent to `-1 FIELD' 29 | 30 | -j2 FIELD 31 | (obsolescent) equivalent to `-2 FIELD' 32 | 33 | -o FORMAT 34 | obey FORMAT while constructing output line 35 | 36 | -t CHAR 37 | use CHAR as input and output field separator 38 | 39 | -v SIDE 40 | like -a SIDE, but suppress joined output lines 41 | 42 | -1 FIELD 43 | join on this FIELD of file 1 44 | 45 | -2 FIELD 46 | join on this FIELD of file 2 47 | 48 | --help display this help and exit 49 | 50 | --version 51 | output version information and exit 52 | 53 | Unless -t CHAR is given, leading blanks separate fields and are 54 | ignored, else fields are separated by CHAR. Any FIELD is a field num- 55 | ber counted from 1. FORMAT is one or more comma or blank separated 56 | specifications, each being `SIDE.FIELD' or `0'. Default FORMAT outputs 57 | the join field, the remaining fields from FILE1, the remaining fields 58 | from FILE2, all separated by CHAR. 59 | 60 | AUTHOR 61 | Written by Mike Haertel. 62 | 63 | REPORTING BUGS 64 | Report bugs to . 65 | 66 | COPYRIGHT 67 | Copyright 68 | -------------------------------------------------------------------------------- /data/MAN/kill.txt: -------------------------------------------------------------------------------- 1 | KILL(1) Linux Programmer's Manual KILL(1) 2 | 3 | 4 | 5 | NAME 6 | kill - terminate a process 7 | 8 | SYNOPSIS 9 | kill [ -s signal | -p ] [ -a ] [ -- ] pid ... 10 | kill -l [ signal ] 11 | 12 | DESCRIPTION 13 | The command kill sends the specified signal to the specified process or 14 | process group. If no signal is specified, the TERM signal is sent. 15 | The TERM signal will kill processes which do not catch this signal. 16 | For other processes, it may be necessary to use the KILL (9) signal, 17 | since this signal cannot be caught. 18 | 19 | Most modern shells have a builtin kill function, with a usage rather 20 | similar to that of the command described here. The `-a' and `-p' 21 | options, and the possibility to specify pids by command name is a local 22 | extension. 23 | 24 | OPTIONS 25 | pid... Specify the list of processes that kill should signal. Each pid 26 | can be one of five things: 27 | 28 | 29 | n where n is larger than 0. The process with pid n will be 30 | signaled. 31 | 32 | 0 All processes in the current process group are signaled. 33 | 34 | -1 All processes with pid larger than 1 will be signaled. 35 | 36 | -n where n is larger than 1. All processes in process group 37 | n are signaled. When an argument of the form `-n' is 38 | given, and it is meant to denote a process group, either 39 | the signal must be specified first, or the argument must 40 | be preceded by a `--' option, otherwise it will be taken 41 | as the signal to send. 42 | 43 | commandname 44 | All processes invoked using that name will be signaled. 45 | 46 | -s signal 47 | Specify the signal to send. The signal may be given as a signal 48 | name or number. 49 | 50 | -l Print a list of signal names. These are found in 51 | /usr/include/linux/signal.h 52 | 53 | -a Do not restrict the commandname-to-pid conversion to processes 54 | with the same uid as the present process. 55 | 56 | -p Specify that kill should only print the process id (pid) of the 57 | named processes, and not send any signals. 58 | 59 | SEE ALSO 60 | bash(1), tcsh(1), kill(2), sigvec(2), signal(7) 61 | 62 | AUTHOR 63 | Taken from BSD 4.4. The ability to translate process names to process 64 | ids was added by Salvatore Valente . 65 | 66 | 67 | 68 | Linux Utilities 14 October 1994 KILL(1) 69 | -------------------------------------------------------------------------------- /data/MAN/ln.txt: -------------------------------------------------------------------------------- 1 | LN(1) FSF LN(1) 2 | 3 | 4 | 5 | NAME 6 | ln - make links between files 7 | 8 | SYNOPSIS 9 | ln [OPTION]... TARGET [LINK_NAME] 10 | ln [OPTION]... TARGET... DIRECTORY 11 | ln [OPTION]... --target-directory=DIRECTORY TARGET... 12 | 13 | DESCRIPTION 14 | Create a link to the specified TARGET with optional 15 | LINK_NAME. If LINK_NAME is omitted, a link with the same 16 | basename as the TARGET is created in the current direc- 17 | tory. When using the second form with more than one TAR- 18 | GET, the last argument must be a directory; create links 19 | in DIRECTORY to each TARGET. Create hard links by 20 | default, symbolic links with --symbolic. When creating 21 | hard links, each TARGET must exist. 22 | 23 | --backup[=CONTROL] 24 | make a backup of each existing destination file 25 | 26 | -b like --backup but does not accept an argument 27 | 28 | -d, -F, --directory 29 | hard link directories (super-user only) 30 | 31 | -f, --force 32 | remove existing destination files 33 | 34 | -n, --no-dereference 35 | treat destination that is a symlink to a directory 36 | as if it were a normal file 37 | 38 | -i, --interactive 39 | prompt whether to remove destinations 40 | 41 | -s, --symbolic 42 | make symbolic links instead of hard links 43 | 44 | -S, --suffix=SUFFIX 45 | override the usual backup suffix 46 | 47 | --target-directory=DIRECTORY 48 | specify the DIRECTORY in which to create the links 49 | 50 | -v, --verbose 51 | print name of each file before linking 52 | 53 | --help display this help and exit 54 | 55 | --version 56 | output version information and exit 57 | 58 | The backup suffix is `~', unless set with --suffix or SIM- 59 | PLE_BACKUP_SUFFIX. The version control method may be 60 | selected via the --backup option or through the VER- 61 | SION_CONTROL environment variable. Here are the values: 62 | 63 | none, off 64 | never make backups (even if --backup is given) 65 | 66 | numbered, t 67 | make numbered backups 68 | 69 | existing, nil 70 | numbered if numbered backups exist, simple other- 71 | wise 72 | 73 | simple, never 74 | always make simple backups 75 | 76 | AUTHOR 77 | Written by Mike Parker and David MacKenzie. 78 | 79 | REPORTING BUGS 80 | Report bugs to . 81 | 82 | COPYRIGHT 83 | Copyright (C) 2001 Free Software Foundation, Inc. 84 | This is free software; see the source for copying condi- 85 | tions. There is NO warranty; not even for MERCHANTABILITY 86 | or FITNESS FOR A PARTICULAR PURPOSE. 87 | 88 | SEE ALSO 89 | The full documentation for ln is maintained as a Texinfo 90 | manual. If the info and ln programs are properly 91 | installed at your site, the command 92 | 93 | info ln 94 | 95 | should give you access to the complete manual. 96 | 97 | 98 | 99 | ln (fileutils) 4.1 April 2001 LN(1) 100 | -------------------------------------------------------------------------------- /data/MAN/lpr.txt: -------------------------------------------------------------------------------- 1 | lpr(1) Easy Software Products lpr(1) 2 | 3 | 4 | 5 | NAME 6 | lpr - print files 7 | 8 | SYNOPSIS 9 | lpr [ -E ] [ -P destination ] [ -# num-copies [ -l ] [ -o option ] [ 10 | -p] [ -r ] [ -C/J/T title ] [ file(s) ] 11 | 12 | DESCRIPTION 13 | lpr submits files for printing. Files named on the command line are 14 | sent to the named printer (or the system default destination if no des- 15 | tination is specified). If no files are listed on the command-line lpr 16 | reads the print file from the standard input. 17 | 18 | OPTIONS 19 | The following options are recognized by lpr: 20 | 21 | -E 22 | Forces encryption when connecting to the server. 23 | 24 | -P destination 25 | Prints files to the named printer. 26 | 27 | -# copies 28 | Sets the number of copies to print from 1 to 100. 29 | 30 | -C name 31 | Sets the job name. 32 | 33 | -J name 34 | Sets the job name. 35 | 36 | -T name 37 | Sets the job name. 38 | 39 | -l 40 | Specifies that the print file is already formatted for the desti- 41 | nation and should be sent without filtering. This option is equiv- 42 | alent to "-oraw". 43 | 44 | -o option 45 | Sets a job option. 46 | 47 | -p 48 | Specifies that the print file should be formatted with a shaded 49 | header with the date, time, job name, and page number. This option 50 | is equivalent to "-oprettyprint" and is only useful when printing 51 | text files. 52 | 53 | -r 54 | Specifies that the named print files should be deleted after 55 | printing them. 56 | 57 | COMPATIBILITY 58 | The "c", "d", "f", "g", "i", "m", "n", "t", "v", and "w" options are 59 | not supported by CUPS and will produce a warning message if used. 60 | 61 | SEE ALSO 62 | cancel(1), lp(1), lpstat(1), CUPS Software Users Manual, http://local- 63 | host:631/documentation.html 64 | 65 | COPYRIGHT 66 | Copyright 1993-2002 by Easy Software Products, All Rights Reserved. 67 | 68 | 69 | 70 | 23 January 2001 Common UNIX Printing System lpr(1) 71 | -------------------------------------------------------------------------------- /data/MAN/ls.txt: -------------------------------------------------------------------------------- 1 | LS(1) FSF LS(1) 2 | 3 | 4 | 5 | NAME 6 | ls - list directory contents 7 | 8 | SYNOPSIS 9 | ls [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | List information about the FILEs (the current directory by 13 | default). Sort entries alphabetically if none of -cftuSUX 14 | nor --sort. 15 | 16 | -a, --all 17 | do not hide entries starting with . 18 | 19 | -A, --almost-all 20 | do not list implied . and .. 21 | 22 | -b, --escape 23 | print octal escapes for nongraphic characters 24 | 25 | --block-size=SIZE 26 | use SIZE-byte blocks 27 | 28 | -B, --ignore-backups 29 | do not list implied entries ending with ~ 30 | 31 | -c with -lt: sort by, and show, ctime (time of last 32 | modification of file status information) with -l: 33 | show ctime and sort by name otherwise: sort by 34 | ctime 35 | 36 | -C list entries by columns 37 | 38 | --color[=WHEN] 39 | control whether color is used to distinguish file 40 | types. WHEN may be `never', `always', or `auto' 41 | 42 | -d, --directory 43 | list directory entries instead of contents 44 | 45 | -D, --dired 46 | generate output designed for Emacs' dired mode 47 | 48 | -f do not sort, enable -aU, disable -lst 49 | 50 | -F, --classify 51 | append indicator (one of */=@|) to entries 52 | 53 | --format=WORD 54 | across -x, commas -m, horizontal -x, long -l, sin- 55 | gle-column -1, verbose -l, vertical -C 56 | 57 | --full-time 58 | list both full date and full time 59 | 60 | -g (ignored) 61 | 62 | -G, --no-group 63 | inhibit display of group information 64 | 65 | -h, --human-readable 66 | print sizes in human readable format (e.g., 1K 234M 67 | 2G) 68 | 69 | --si likewise, but use powers of 1000 not 1024 70 | 71 | -H same as `--si' for now; soon to change to conform 72 | to POSIX 73 | 74 | --indicator-style=WORD append indicator with style WORD to 75 | entry names: 76 | none (default), classify (-F), file-type (-p) 77 | 78 | -i, --inode 79 | print index number of each file 80 | 81 | -I, --ignore=PATTERN 82 | do not list implied entries matching shell PATTERN 83 | 84 | -k, --kilobytes 85 | like --block-size=1024 86 | 87 | -l use a long listing format 88 | 89 | -L, --dereference 90 | list entries pointed to by symbolic links 91 | 92 | -m fill width with a comma separated list of entries 93 | 94 | -n, --numeric-uid-gid 95 | list numeric UIDs and GIDs instead of names 96 | 97 | -N, --literal 98 | print raw entry names (don't treat e.g. control 99 | characters specially) 100 | 101 | -o use long listing format without group info 102 | 103 | -p, --file-type 104 | append indicator (one of /=@|) to entries 105 | 106 | -q, --hide-control-chars 107 | print ? instead of non graphic characters 108 | 109 | --show-control-chars 110 | show non graphic characters as-is (default unless 111 | program is `ls' and output is a terminal) 112 | 113 | -Q, --quote-name 114 | enclose entry names in double quotes 115 | 116 | --quoting-style=WORD 117 | use quoting style WORD for entry names: literal, 118 | locale, shell, shell-always, c, escape 119 | 120 | -r, --reverse 121 | reverse order while sorting 122 | 123 | -R, --recursive 124 | list subdirectories recursively 125 | 126 | -s, --size 127 | print size of each file, in blocks 128 | 129 | -S sort by file size 130 | 131 | --sort=WORD 132 | extension -X, none -U, size -S, time -t, version -v 133 | 134 | status -c, time -t, atime -u, access -u, use -u 135 | 136 | --time=WORD 137 | show time as WORD instead of modification time: 138 | atime, access, use, ctime or status; use specified 139 | time as sort key if --sort=time 140 | 141 | -t sort by modification time 142 | 143 | -T, --tabsize=COLS 144 | assume tab stops at each COLS instead of 8 145 | 146 | -u with -lt: sort by, and show, access time with -l: 147 | show access time and sort by name otherwise: sort 148 | by access time 149 | 150 | -U do not sort; list entries in directory order 151 | 152 | -v sort by version 153 | 154 | -w, --width=COLS 155 | assume screen width instead of current value 156 | 157 | -x list entries by lines instead of by columns 158 | 159 | -X sort alphabetically by entry extension 160 | 161 | -1 list one file per line 162 | 163 | --help display this help and exit 164 | 165 | --version 166 | output version information and exit 167 | 168 | By default, color is not used to distinguish types of 169 | files. That is equivalent to using --color=none. Using 170 | the --color option without the optional WHEN argument is 171 | equivalent to using --color=always. With --color=auto, 172 | color codes are output only if standard output is con- 173 | nected to a terminal (tty). 174 | 175 | AUTHOR 176 | Written by Richard Stallman and David MacKenzie. 177 | 178 | REPORTING BUGS 179 | Report bugs to . 180 | 181 | COPYRIGHT 182 | Copyright (C) 2001 Free Software Foundation, Inc. 183 | This is free software; see the source for copying condi- 184 | tions. There is NO warranty; not even for MERCHANTABILITY 185 | or FITNESS FOR A PARTICULAR PURPOSE. 186 | 187 | SEE ALSO 188 | The full documentation for ls is maintained as a Texinfo 189 | manual. If the info and ls programs are properly 190 | installed at your site, the command 191 | 192 | info ls 193 | 194 | should give you access to the complete manual. 195 | 196 | 197 | 198 | ls (fileutils) 4.1 April 2001 LS(1) 199 | -------------------------------------------------------------------------------- /data/MAN/mkdir.txt: -------------------------------------------------------------------------------- 1 | MKDIR(1) FSF MKDIR(1) 2 | 3 | 4 | 5 | NAME 6 | mkdir - make directories 7 | 8 | SYNOPSIS 9 | mkdir [OPTION] DIRECTORY... 10 | 11 | DESCRIPTION 12 | Create the DIRECTORY(ies), if they do not already exist. 13 | 14 | -m, --mode=MODE 15 | set permission mode (as in chmod), not rwxrwxrwx - 16 | umask 17 | 18 | -p, --parents 19 | no error if existing, make parent directories as 20 | needed 21 | 22 | -v, --verbose 23 | print a message for each created directory 24 | 25 | --help display this help and exit 26 | 27 | --version 28 | output version information and exit 29 | 30 | AUTHOR 31 | Written by David MacKenzie. 32 | 33 | REPORTING BUGS 34 | Report bugs to . 35 | 36 | COPYRIGHT 37 | Copyright (C) 2001 Free Software Foundation, Inc. 38 | This is free software; see the source for copying condi- 39 | tions. There is NO warranty; not even for MERCHANTABILITY 40 | or FITNESS FOR A PARTICULAR PURPOSE. 41 | 42 | SEE ALSO 43 | The full documentation for mkdir is maintained as a Tex- 44 | info manual. If the info and mkdir programs are properly 45 | installed at your site, the command 46 | 47 | info mkdir 48 | 49 | should give you access to the complete manual. 50 | 51 | 52 | 53 | mkdir (fileutils) 4.1 April 2001 MKDIR(1) 54 | -------------------------------------------------------------------------------- /data/MAN/more.txt: -------------------------------------------------------------------------------- 1 | MORE(1) BSD General Commands Manual MORE(1) 2 | 3 | NAME 4 | more - file perusal filter for crt viewing 5 | 6 | SYNOPSIS 7 | more [-dlfpcsu] [-num] [+/ pattern] [+ linenum] [file ...] 8 | 9 | DESCRIPTION 10 | More is a filter for paging through text one screenful at a time. This 11 | version is especially primitve. Users should realize that less(1) pro- 12 | vides more(1) emulation and extensive enhancements. 13 | 14 | OPTIONS 15 | Command line options are described below. Options are also taken from 16 | the environment variable MORE (make sure to precede them with a dash 17 | (``-'')) but command line options will override them. 18 | 19 | -num This option specifies an integer which is the screen size (in 20 | lines). 21 | 22 | -d more will prompt the user with the message "[Press space to con- 23 | tinue, 'q' to quit.]" and will display "[Press 'h' for instruc- 24 | tions.]" instead of ringing the bell when an illegal key is 25 | pressed. 26 | 27 | -l more usually treats ^L (form feed) as a special character, and will 28 | pause after any line that contains a form feed. The -l option will 29 | prevent this behavior. 30 | 31 | -f Causes more to count logical, rather than screen lines (i.e., long 32 | lines are not folded). 33 | 34 | -p Do not scroll. Instead, clear the whole screen and then display 35 | the text. 36 | 37 | -c Do not scroll. Instead, paint each screen from the top, clearing 38 | the remainder of each line as it is displayed. 39 | 40 | -s Squeeze multiple blank lines into one. 41 | 42 | -u Suppress underlining. 43 | 44 | +/ The +/ option specifies a string that will be searched for before 45 | each file is displayed. 46 | 47 | +num Start at line number num. 48 | 49 | COMMANDS 50 | Interactive commands for more are based on vi(1). Some commands may be 51 | preceded by a decimal number, called k in the descriptions below. In the 52 | following descriptions, ^X means control-X. 53 | 54 | h or ? Help: display a summary of these commands. If you forget all 55 | the other commands, remember this one. 56 | 57 | SPACE Display next k lines of text. Defaults to current screen 58 | size. 59 | 60 | z Display next k lines of text. Defaults to current screen 61 | size. Argument becomes new default. 62 | 63 | RETURN Display next k lines of text. Defaults to 1. Argument 64 | becomes new default. 65 | 66 | d or ^D Scroll k lines. Default is current scroll size, initially 67 | 11. Argument becomes new default. 68 | 69 | q or Q or INTERRUPT 70 | Exit. 71 | 72 | s Skip forward k lines of text. Defaults to 1. 73 | 74 | f Skip forward k screenfuls of text. Defaults to 1. 75 | 76 | b or ^B Skip backwards k screenfuls of text. Defaults to 1. Only 77 | works with files, not pipes. 78 | 79 | ' Go to place where previous search started. 80 | 81 | = Display current line number. 82 | 83 | /pattern Search for kth occurrence of regular expression. Defaults to 84 | 1. 85 | 86 | n Search for kth occurrence of last r.e. Defaults to 1. 87 | 88 | ! or :! 89 | Execute in a subshell 90 | 91 | v Start up an editor at current line. The editor is taken from 92 | the environment variable VISUAL if defined, or EDITOR if 93 | VISUAL is not defined, or defaults to "vi" if neither VISUAL 94 | nor EDITOR is defined. 95 | 96 | ^L Redraw screen 97 | 98 | :n Go to kth next file. Defaults to 1. 99 | 100 | :p Go to kth previous file. Defaults to 1. 101 | 102 | :f Display current file name and line number 103 | 104 | . Repeat previous command 105 | 106 | ENVIRONMENT 107 | More utilizes the following environment variables, if they exist: 108 | 109 | MORE This variable may be set with favored options to more. 110 | 111 | SHELL Current shell in use (normally set by the shell at login 112 | time). 113 | 114 | TERM Specifies terminal type, used by more to get the terminal 115 | characteristics necessary to manipulate the screen. 116 | 117 | SEE ALSO 118 | vi(1) less(1) 119 | 120 | AUTHORS 121 | Eric Shienbrood, UC Berkeley 122 | Modified by Geoff Peck, UCB to add underlining, single spacing 123 | Modified by John Foderaro, UCB to add -c and MORE environment variable 124 | 125 | HISTORY 126 | The more command appeared in 3.0BSD. This man page documents more ver- 127 | sion 5.19 (Berkeley 6/29/88), which is currently in use in the Linux com- 128 | munity. Documentation was produced using several other versions of the 129 | man page, and extensive inspection of the source code. 130 | 131 | Linux 0.98 December 25, 1992 Linux 0.98 132 | -------------------------------------------------------------------------------- /data/MAN/mv.txt: -------------------------------------------------------------------------------- 1 | MV(1) FSF MV(1) 2 | 3 | 4 | 5 | NAME 6 | mv - move (rename) files 7 | 8 | SYNOPSIS 9 | mv [OPTION]... SOURCE DEST 10 | mv [OPTION]... SOURCE... DIRECTORY 11 | mv [OPTION]... --target-directory=DIRECTORY SOURCE... 12 | 13 | DESCRIPTION 14 | Rename SOURCE to DEST, or move SOURCE(s) to DIRECTORY. 15 | 16 | --backup[=CONTROL] 17 | make a backup of each existing destination file 18 | 19 | -b like --backup but does not accept an argument 20 | 21 | -f, --force 22 | never prompt before overwriting 23 | 24 | -i, --interactive 25 | prompt before overwrite 26 | 27 | --strip-trailing-slashes 28 | remove any trailing slashes from each SOURCE argu- 29 | ment 30 | 31 | -S, --suffix=SUFFIX 32 | override the usual backup suffix 33 | 34 | --target-directory=DIRECTORY 35 | move all SOURCE arguments into DIRECTORY 36 | 37 | -u, --update 38 | move only older or brand new non-directories 39 | 40 | -v, --verbose 41 | explain what is being done 42 | 43 | --help display this help and exit 44 | 45 | --version 46 | output version information and exit 47 | 48 | The backup suffix is `~', unless set with --suffix or SIM- 49 | PLE_BACKUP_SUFFIX. The version control method may be 50 | selected via the --backup option or through the VER- 51 | SION_CONTROL environment variable. Here are the values: 52 | 53 | none, off 54 | never make backups (even if --backup is given) 55 | 56 | numbered, t 57 | make numbered backups 58 | 59 | existing, nil 60 | numbered if numbered backups exist, simple other- 61 | wise 62 | 63 | simple, never 64 | always make simple backups 65 | 66 | AUTHOR 67 | Written by Mike Parker, David MacKenzie, and Jim Meyering. 68 | 69 | REPORTING BUGS 70 | Report bugs to . 71 | 72 | COPYRIGHT 73 | Copyright (C) 2001 Free Software Foundation, Inc. 74 | This is free software; see the source for copying condi- 75 | tions. There is NO warranty; not even for MERCHANTABILITY 76 | or FITNESS FOR A PARTICULAR PURPOSE. 77 | 78 | SEE ALSO 79 | The full documentation for mv is maintained as a Texinfo 80 | manual. If the info and mv programs are properly 81 | installed at your site, the command 82 | 83 | info mv 84 | 85 | should give you access to the complete manual. 86 | 87 | 88 | 89 | mv (fileutils) 4.1 April 2001 MV(1) 90 | -------------------------------------------------------------------------------- /data/MAN/passwd.txt: -------------------------------------------------------------------------------- 1 | PASSWD(1) User utilities PASSWD(1) 2 | 3 | 4 | 5 | NAME 6 | passwd - update a user's authentication tokens(s) 7 | 8 | 9 | SYNOPSIS 10 | passwd [-k] [-l] [-u [-f]] [-d] [-n mindays] [-x maxdays] [-w warndays] 11 | [-i inactivedays] [-S] [username] 12 | 13 | 14 | 15 | DESCRIPTION 16 | Passwd is used to update a user's authentication token(s). 17 | 18 | Passwd is configured to work through the Linux-PAM API. Essentially, 19 | it initializes itself as a "passwd" service with Linux-PAM and utilizes 20 | configured password modules to authenticate and then update a user's 21 | password. 22 | 23 | 24 | A simple entry in the Linux-PAM configuration file for this service 25 | would be: 26 | 27 | # 28 | # passwd service entry that does strength checking of 29 | # a proposed password before updating it. 30 | # 31 | passwd password requisite \ 32 | /usr/lib/security/pam_cracklib.so retry=3 33 | passwd password required \ 34 | /usr/lib/security/pam_unix.so use_authtok 35 | # 36 | 37 | 38 | Note, other module-types are not required for this application to func- 39 | tion correctly. 40 | 41 | 42 | OPTIONS 43 | -k The option, -k, is used to indicate that the update should only 44 | be for expired authentication tokens (passwords); the user 45 | wishes to keep their non-expired tokens as before. 46 | 47 | 48 | -l This option is used to lock the specified account and it is 49 | available to root only. The locking is performed by rendering 50 | the encrypted password into an invalid string (by prefixing the 51 | encrypted string with an !). 52 | 53 | 54 | --stdin 55 | This option is used to indicate that passwd should read the new 56 | password from standard input, which can be a pipe. 57 | 58 | 59 | -u This is the reverse of the -l option - it will unlock the 60 | account password by removing the ! prefix. This option is avail- 61 | able to root only. By default passwd will refuse to create a 62 | passwordless account (it will not unlock an account that has 63 | only "!" as a password). The force option -f will override this 64 | protection. 65 | 66 | 67 | -d This is a quick way to disable a password for an account. It 68 | will set the named account passwordless. Available to root only. 69 | 70 | 71 | -n This will set the minimum password lifetime, in days, if the 72 | user's account supports password lifetimes. Available to root 73 | only. 74 | 75 | 76 | -x This will set the maximum password lifetime, in days, if the 77 | user's account supports password lifetimes. Available to root 78 | only. 79 | 80 | 81 | -w This will set the number of days in advance the user will begin 82 | receiving warnings that her password will expire, if the user's 83 | account supports password lifetimes. Available to root only. 84 | 85 | 86 | -i This will set the number of days which will pass before an 87 | expired password for this account will be taken to mean that the 88 | account is inactive and should be disabled, if the user's 89 | account supports password lifetimes. Available to root only. 90 | 91 | 92 | -S This will output a short information about the status of the 93 | password for a given account. Available to root user only. 94 | 95 | 96 | Remember the following two principles 97 | Protect your password. 98 | Don't write down your password - memorize it. In particular, 99 | don't write it down and leave it anywhere, and don't place it in 100 | an unencrypted file! Use unrelated passwords for systems con- 101 | trolled by different organizations. Don't give or share your 102 | password, in particular to someone claiming to be from computer 103 | support or a vendor. Don't let anyone watch you enter your 104 | password. Don't enter your password to a computer you don't 105 | trust or if things Use the password for a limited time and 106 | change it periodically. 107 | 108 | 109 | Choose a hard-to-guess password. 110 | passwd will try to prevent you from choosing a really bad pass- 111 | word, but it isn't foolproof; create your password wisely. 112 | Don't use something you'd find in a dictionary (in any language 113 | or jargon). Don't use a name (including that of a spouse, par- 114 | ent, child, pet, fantasy character, famous person, and location) 115 | or any variation of your personal or account name. Don't use 116 | accessible information about you (such as your phone number, 117 | license plate, or social security number) or your environment. 118 | Don't use a birthday or a simple pattern (such as backwards, 119 | followed by a digit, or preceded by a digit. Instead, use a mix- 120 | ture of upper and lower case letters, as well as digits or punc- 121 | tuation. When choosing a new password, make sure it's unrelated 122 | to any previous password. Use long passwords (say 8 characters 123 | long). You might use a word pair with punctuation inserted, a 124 | passphrase (an understandable sequence of words), or the first 125 | letter of each word in a passphrase. 126 | 127 | 128 | 129 | These principles are partially enforced by the system, but only partly 130 | so. Vigilence on your part will make the system much more secure. 131 | 132 | 133 | EXIT CODE 134 | On successful completion of its task, passwd will complete with exit 135 | code 0. An exit code of 1 indicates an error occurred. Textual errors 136 | are written to the standard error stream. 137 | 138 | 139 | CONFORMING TO 140 | Linux-PAM (Pluggable Authentication modules for Linux). 141 | Note, if your distribution of Linux-PAM conforms to the Linux Filesys- 142 | tem Standard, you may find the modules in /lib/security/ instead of 143 | /usr/lib/security/, as indicated in the example. 144 | 145 | 146 | FILES 147 | /etc/pam.d/passwd - the Linux-PAM configuration file 148 | 149 | 150 | BUGS 151 | None known. 152 | 153 | 154 | SEE ALSO 155 | pam(8), and pam_chauthok(2). 156 | 157 | 158 | For more complete information on how to configure this application with 159 | Linux-PAM, see the Linux-PAM System Administrators' Guide at 160 | 161 | 162 | 163 | AUTHOR 164 | Cristian Gafton 165 | 166 | 167 | 168 | Red Hat Linux Jan 03 1998 PASSWD(1) 169 | -------------------------------------------------------------------------------- /data/MAN/paste.txt: -------------------------------------------------------------------------------- 1 | PASTE(1) User Commands PASTE(1) 2 | 3 | 4 | 5 | NAME 6 | paste - merge lines of files 7 | 8 | SYNOPSIS 9 | paste [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Write lines consisting of the sequentially corresponding 13 | lines from each FILE, separated by TABs, to standard out- 14 | put. With no FILE, or when FILE is -, read standard 15 | input. 16 | 17 | Mandatory arguments to long options are mandatory for 18 | short options too. 19 | 20 | -d, --delimiters=LIST 21 | reuse characters from LIST instead of TABs 22 | 23 | -s, --serial 24 | paste one file at a time instead of in parallel 25 | 26 | --help display this help and exit 27 | 28 | --version 29 | output version information and exit 30 | 31 | AUTHOR 32 | Written by David M. Ihnat and David MacKenzie. 33 | 34 | REPORTING BUGS 35 | Report bugs to . 36 | 37 | COPYRIGHT 38 | Copyright (C) 2002 Free Software Foundation, Inc. 39 | This is free software; see the source for copying condi- 40 | tions. There is NO warranty; not even for MERCHANTABILITY 41 | or FITNESS FOR A PARTICULAR PURPOSE. 42 | 43 | SEE ALSO 44 | The full documentation for paste is maintained as a Tex- 45 | info manual. If the info and paste programs are properly 46 | installed at your site, the command 47 | 48 | info paste 49 | 50 | should give you access to the complete manual. 51 | 52 | 53 | 54 | paste (textutils) 2.1 July 2002 PASTE(1) 55 | -------------------------------------------------------------------------------- /data/MAN/pico.txt: -------------------------------------------------------------------------------- 1 | pico(1) pico(1) 2 | 3 | 4 | 5 | Name 6 | pico - simple text editor in the style of the Pine Com- 7 | poser 8 | 9 | Syntax 10 | pico [ options ] [ file ] 11 | 12 | Description 13 | Pico is a simple, display-oriented text editor based on 14 | the Pine message system composer. As with Pine, commands 15 | are displayed at the bottom of the screen, and context- 16 | sensitive help is provided. As characters are typed they 17 | are immediately inserted into the text. 18 | 19 | Editing commands are entered using control-key combina- 20 | tions. As a work-around for communications programs that 21 | swallow certain control characters, you can emulate a con- 22 | trol key by pressing ESCAPE twice, followed by the desired 23 | control character, e.g. "ESC ESC c" would be equivalent to 24 | entering a ctrl-c. The editor has five basic features: 25 | paragraph justification, searching, block cut/paste, a 26 | spelling checker, and a file browser. 27 | 28 | Paragraph justification (or filling) takes place in the 29 | paragraph that contains the cursor, or, if the cursor is 30 | between lines, in the paragraph immediately below. Para- 31 | graphs are delimited by blank lines, or by lines beginning 32 | with a space or tab. Unjustification can be done immedi- 33 | ately after justification using the control-U key combina- 34 | tion. 35 | 36 | String searches are not sensitive to case. A search 37 | begins at the current cursor position and wraps around the 38 | end of the text. The most recent search string is offered 39 | as the default in subsequent searches. 40 | 41 | Blocks of text can be moved, copied or deleted with cre- 42 | ative use of the command for mark (ctrl-^), delete (ctrl- 43 | k) and undelete (ctrl-u). The delete command will remove 44 | text between the "mark" and the current cursor position, 45 | and place it in the "cut" buffer. The undelete command 46 | effects a "paste" at the current cursor position. 47 | 48 | The spell checker examines all words in the text. It then 49 | offers, in turn, each misspelled word for correction while 50 | highlighting it in the text. Spell checking can be can- 51 | celled at any time. Alternatively, pico will substitute 52 | for the default spell checking routine a routine defined 53 | by the SPELL environment variable. The replacement rou- 54 | tine should read standard input and write standard output. 55 | 56 | The file browser is offered as an option in the "Read 57 | File" and "Write Out" command prompts. It is intended to 58 | help in searching for specific files and navigating direc- 59 | tory hierarchies. Filenames with sizes and names of 60 | directories in the current working directory are presented 61 | for selection. The current working directory is displayed 62 | on the top line of the display while the list of available 63 | commands takes up the bottom two. Several basic file 64 | manipulation functions are supported: file renaming, 65 | copying, and deletion. 66 | 67 | More specific help is available in pico's online help. 68 | 69 | Options 70 | +n Causes pico to be started with the cursor located n 71 | lines into the file. (Note: no space between "+" 72 | sign and number) 73 | 74 | -a Display all files including those beginning with a 75 | period (.). 76 | 77 | -b Enable the option to Replace text matches found 78 | using the "Where is" command. 79 | 80 | -d Rebind the "delete" key so the character the cursor 81 | is on is rubbed out rather than the character to 82 | its left. 83 | 84 | -e Enable file name completion. 85 | 86 | -f Use function keys for commands. This option sup- 87 | ported only in conjunction with UW Enhanced NCSA 88 | telnet. 89 | 90 | -h List valid command line options. 91 | 92 | -j Enable "Goto" command in the file browser. This 93 | enables the command to permit explicitly telling 94 | pilot which directory to visit. 95 | 96 | -g Enable "Show Cursor" mode in file browser. Cause 97 | cursor to be positioned before the current selec- 98 | tion rather than placed at the lower left of the 99 | display. 100 | 101 | -k Causes "Cut Text" command to remove characters from 102 | the cursor position to the end of the line rather 103 | than remove the entire line. 104 | 105 | -m Enable mouse functionality. This only works when 106 | pico is run from within an X Window System "xterm" 107 | window. 108 | 109 | -nn The -nn option enables new mail notification. The 110 | n argument is optional, and specifies how often, in 111 | seconds, your mailbox is checked for new mail. For 112 | example, -n60 causes pico to check for new mail 113 | once every minute. The default interval is 180 114 | seconds, while the minimum allowed is 30. (Note: no 115 | space between "n" and the number) 116 | 117 | -o dir Sets operating directory. Only files within this 118 | directory are accessible. Likewise, the file 119 | browser is limited to the specified directory sub- 120 | tree. 121 | 122 | -rn Sets column used to limit the "Justify" command's 123 | right margin 124 | 125 | -s speller 126 | Specify an alternate program spell to use when 127 | spell checking. 128 | 129 | -t Enable "tool" mode. Intended for when pico is used 130 | as the editor within other tools (e.g., Elm, 131 | Pnews). Pico will not prompt for save on exit, and 132 | will not rename the buffer during the "Write Out" 133 | command. 134 | 135 | -v View the file only, disallowing any editing. 136 | 137 | -version 138 | Print Pico version and exit. 139 | 140 | -w Disable word wrap (thus allow editing of long 141 | lines). 142 | 143 | -x Disable keymenu at the bottom of the screen. 144 | 145 | -z Enable ^Z suspension of pico. 146 | 147 | -p Preserve the "start" and "stop" characters, typi- 148 | cally Ctrl-Q and Ctrl-S, which are sometimes used 149 | in communications paths to control data flow 150 | between devices that operate at different speeds. 151 | 152 | -Q quotestr 153 | Set the quote string. Especially useful when com- 154 | posing email, setting this allows the quote string 155 | to be checked for when Justifying paragraphs. A 156 | common quote string is "> ". 157 | 158 | -q Termcap or terminfo definition for input escape 159 | sequences are used in preference to sequences 160 | defined by default. This option is only available 161 | if pico was compiled with the TERMCAP_WINS define 162 | turned on. 163 | 164 | Lastly, when a running pico is disconnected (i.e., 165 | receives a SIGHUP), pico will save the current work if 166 | needed before exiting. Work is saved under the current 167 | filename with ".save" appended. If the current work is 168 | unnamed, it is saved under the filename "pico.save". 169 | 170 | 171 | Bugs 172 | The manner in which lines longer than the display width 173 | are dealt is not immediately obvious. Lines that continue 174 | beyond the edge of the display are indicated by a '$' 175 | character at the end of the line. Long lines are scrolled 176 | horizontally as the cursor moves through them. 177 | 178 | Files 179 | pico.save Unnamed interrupted work saved here. 180 | *.save Interrupted work on a named file is saved here. 181 | 182 | Authors 183 | Michael Seibel 184 | Laurence Lundblade 185 | Pico was originally derived from MicroEmacs 3.6, by Dave 186 | G. Conroy. 187 | Pico is a trademark of the University of Washington. 188 | Copyright 1989-2002 by the University of Washington. 189 | 190 | See Also 191 | pine(1) 192 | Source distribution (part of the Pine Message System): 193 | ftp://ftp.cac.washington.edu/mail/pine.tar.Z 194 | 195 | $Date: 2002/12/06 22:01:11 $ 196 | 197 | 198 | 199 | Version 4.4 pico(1) 200 | -------------------------------------------------------------------------------- /data/MAN/pwd.txt: -------------------------------------------------------------------------------- 1 | PWD(1) FSF PWD(1) 2 | 3 | 4 | 5 | NAME 6 | pwd - print name of current/working directory 7 | 8 | SYNOPSIS 9 | pwd [OPTION] 10 | 11 | DESCRIPTION 12 | NOTE: your shell may have its own version of pwd which will supercede 13 | the version described here. Please refer to your shell's documentation 14 | for details about the options it supports. 15 | 16 | Print the full filename of the current working directory. 17 | 18 | --help display this help and exit 19 | 20 | --version 21 | output version information and exit 22 | 23 | AUTHOR 24 | Written by Jim Meyering. 25 | 26 | REPORTING BUGS 27 | Report bugs to . 28 | 29 | COPYRIGHT 30 | Copyright 31 | -------------------------------------------------------------------------------- /data/MAN/rm.txt: -------------------------------------------------------------------------------- 1 | RM(1) FSF RM(1) 2 | 3 | 4 | 5 | NAME 6 | rm - remove files or directories 7 | 8 | SYNOPSIS 9 | rm [OPTION]... FILE... 10 | 11 | DESCRIPTION 12 | This manual page documents the GNU version of rm. rm 13 | removes each specified file. By default, it does not 14 | remove directories. 15 | 16 | If a file is unwritable, the standard input is a tty, and 17 | the -f or --force option is not given, rm prompts the user 18 | for whether to remove the file. If the response does not 19 | begin with `y' or `Y', the file is skipped. 20 | 21 | OPTIONS 22 | Remove (unlink) the FILE(s). 23 | 24 | -d, --directory 25 | unlink directory, even if non-empty (super-user 26 | only) 27 | 28 | -f, --force 29 | ignore nonexistent files, never prompt 30 | 31 | -i, --interactive 32 | prompt before any removal 33 | 34 | -r, -R, --recursive 35 | remove the contents of directories recursively 36 | 37 | -v, --verbose 38 | explain what is being done 39 | 40 | --help display this help and exit 41 | 42 | --version 43 | output version information and exit 44 | 45 | To remove a file whose name starts with a `-', for example 46 | `-foo', use one of these commands: 47 | 48 | ../src/rm -- -foo 49 | 50 | ../src/rm ./-foo 51 | 52 | Note that if you use rm to remove a file, it is usually 53 | possible to recover the contents of that file. If you 54 | want more assurance that the contents are truly unrecover- 55 | able, consider using shred. 56 | 57 | AUTHOR 58 | Written by Paul Rubin, David MacKenzie, Richard Stallman, 59 | and Jim Meyering. 60 | 61 | REPORTING BUGS 62 | Report bugs to . 63 | 64 | COPYRIGHT 65 | Copyright (C) 2001 Free Software Foundation, Inc. 66 | This is free software; see the source for copying 67 | conditions. There is NO warranty; not even for MER- 68 | CHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. 69 | 70 | SEE ALSO 71 | shred(1) 72 | 73 | The full documentation for rm is maintained as a Texinfo 74 | manual. If the info and rm programs are properly 75 | installed at your site, the command 76 | 77 | info rm 78 | 79 | should give you access to the complete manual. 80 | 81 | 82 | 83 | rm (fileutils) 4.1 April 2001 RM(1) 84 | -------------------------------------------------------------------------------- /data/MAN/rmdir.txt: -------------------------------------------------------------------------------- 1 | RMDIR(1) FSF RMDIR(1) 2 | 3 | 4 | 5 | NAME 6 | rmdir - remove empty directories 7 | 8 | SYNOPSIS 9 | rmdir [OPTION]... DIRECTORY... 10 | 11 | DESCRIPTION 12 | Remove the DIRECTORY(ies), if they are empty. 13 | 14 | --ignore-fail-on-non-empty 15 | 16 | ignore each failure that is solely because a direc- 17 | tory is non-empty 18 | 19 | -p, --parents 20 | remove DIRECTORY, then try to remove each directory 21 | component of that path name. E.g., `rmdir -p 22 | a/b/c' is similar to `rmdir a/b/c a/b a'. 23 | 24 | -v, --verbose 25 | output a diagnostic for every directory processed 26 | 27 | --help display this help and exit 28 | 29 | --version 30 | output version information and exit 31 | 32 | AUTHOR 33 | Written by David MacKenzie. 34 | 35 | REPORTING BUGS 36 | Report bugs to . 37 | 38 | COPYRIGHT 39 | Copyright (C) 2001 Free Software Foundation, Inc. 40 | This is free software; see the source for copying condi- 41 | tions. There is NO warranty; not even for MERCHANTABILITY 42 | or FITNESS FOR A PARTICULAR PURPOSE. 43 | 44 | SEE ALSO 45 | The full documentation for rmdir is maintained as a Tex- 46 | info manual. If the info and rmdir programs are properly 47 | installed at your site, the command 48 | 49 | info rmdir 50 | 51 | should give you access to the complete manual. 52 | 53 | 54 | 55 | rmdir (fileutils) 4.1 April 2001 RMDIR(1) 56 | -------------------------------------------------------------------------------- /data/MAN/scp.txt: -------------------------------------------------------------------------------- 1 | SCP(1) BSD General Commands Manual SCP(1) 2 | 3 | NAME 4 | scp - secure copy (remote file copy program) 5 | 6 | SYNOPSIS 7 | scp [-pqrvBC1246] [-F ssh_config] [-S program] [-P port] [-c cipher] 8 | [-i identity_file] [-l limit] [-o ssh_option] [[user@]host1:]file1 9 | [...] [[user@]host2:]file2 10 | 11 | DESCRIPTION 12 | scp copies files between hosts on a network. It uses ssh(1) for data 13 | transfer, and uses the same authentication and provides the same security 14 | as ssh(1). Unlike rcp(1), scp will ask for passwords or passphrases if 15 | they are needed for authentication. 16 | 17 | Any file name may contain a host and user specification to indicate that 18 | the file is to be copied to/from that host. Copies between two remote 19 | hosts are permitted. 20 | 21 | The options are as follows: 22 | 23 | -c cipher 24 | Selects the cipher to use for encrypting the data transfer. This 25 | option is directly passed to ssh(1). 26 | 27 | -i identity_file 28 | Selects the file from which the identity (private key) for RSA 29 | authentication is read. This option is directly passed to 30 | ssh(1). 31 | 32 | -l limit 33 | Limits the used bandwidth, specified in Kbit/s. 34 | 35 | -p Preserves modification times, access times, and modes from the 36 | original file. 37 | 38 | -r Recursively copy entire directories. 39 | 40 | -v Verbose mode. Causes scp and ssh(1) to print debugging messages 41 | about their progress. This is helpful in debugging connection, 42 | authentication, and configuration problems. 43 | 44 | -B Selects batch mode (prevents asking for passwords or 45 | passphrases). 46 | 47 | -q Disables the progress meter. 48 | 49 | -C Compression enable. Passes the -C flag to ssh(1) to enable com- 50 | pression. 51 | 52 | -F ssh_config 53 | Specifies an alternative per-user configuration file for ssh. 54 | This option is directly passed to ssh(1). 55 | 56 | -P port 57 | Specifies the port to connect to on the remote host. Note that 58 | this option is written with a capital 'P', because -p is already 59 | reserved for preserving the times and modes of the file in 60 | rcp(1). 61 | 62 | -S program 63 | Name of program to use for the encrypted connection. The program 64 | must understand ssh(1) options. 65 | 66 | -o ssh_option 67 | Can be used to pass options to ssh in the format used in 68 | ssh_config(5). This is useful for specifying options for which 69 | there is no separate scp command-line flag. 70 | 71 | -1 Forces scp to use protocol 1. 72 | 73 | -2 Forces scp to use protocol 2. 74 | 75 | -4 Forces scp to use IPv4 addresses only. 76 | 77 | -6 Forces scp to use IPv6 addresses only. 78 | 79 | DIAGNOSTICS 80 | scp exits with 0 on success or >0 if an error occurred. 81 | 82 | AUTHORS 83 | Timo Rinne and Tatu Ylonen 84 | 85 | HISTORY 86 | scp is based on the rcp(1) program in BSD source code from the Regents of 87 | the University of California. 88 | 89 | SEE ALSO 90 | rcp(1), sftp(1), ssh(1), ssh-add(1), ssh-agent(1), ssh-keygen(1), 91 | ssh_config(5), sshd(8) 92 | 93 | BSD September 25, 1999 BSD 94 | -------------------------------------------------------------------------------- /data/MAN/shred.txt: -------------------------------------------------------------------------------- 1 | SHRED(1) FSF SHRED(1) 2 | 3 | 4 | 5 | NAME 6 | shred - delete a file securely, first overwriting it to 7 | hide its contents 8 | 9 | SYNOPSIS 10 | shred [OPTIONS] FILE [...] 11 | 12 | DESCRIPTION 13 | Overwrite the specified FILE(s) repeatedly, in order to 14 | make it harder for even very expensive hardware probing to 15 | recover the data. 16 | 17 | -f, --force 18 | change permissions to allow writing if necessary 19 | 20 | -n, --iterations=N 21 | Overwrite N times instead of the default (25) 22 | 23 | -s, --size=N 24 | shred this many bytes (suffixes like k, M, G 25 | accepted) 26 | 27 | -u, --remove 28 | truncate and remove file after overwriting 29 | 30 | -v, --verbose 31 | show progress 32 | 33 | -x, --exact 34 | do not round file sizes up to the next full block 35 | 36 | -z, --zero 37 | add a final overwrite with zeros to hide shredding 38 | 39 | - shred standard output 40 | 41 | --help display this help and exit 42 | 43 | --version 44 | print version information and exit 45 | 46 | Delete FILE(s) if --remove (-u) is specified. The default 47 | is not to remove the files because it is common to operate 48 | on device files like /dev/hda, and those files usually 49 | should not be removed. When operating on regular files, 50 | most people use the --remove option. 51 | 52 | CAUTION: Note that shred relies on a very important 53 | assumption: that the filesystem overwrites data in place. 54 | This is the traditional way to do things, but many modern 55 | filesystem designs do not satisfy this assumption. The 56 | following are examples of filesystems on which shred is 57 | not effective: 58 | 59 | * log-structured or journaled filesystems, such as those 60 | supplied with 61 | 62 | AIX and Solaris (and JFS, ReiserFS, XFS, etc.) 63 | 64 | * filesystems that write redundant data and carry on even 65 | if some writes 66 | 67 | fail, such as RAID-based filesystems 68 | 69 | * filesystems that make snapshots, such as Network Appli- 70 | ance's NFS server 71 | 72 | * filesystems that cache in temporary locations, such as 73 | NFS 74 | 75 | version 3 clients 76 | 77 | * compressed filesystems 78 | 79 | AUTHOR 80 | Written by Colin Plumb. 81 | 82 | REPORTING BUGS 83 | Report bugs to . 84 | 85 | COPYRIGHT 86 | Copyright (C) 2001 Free Software Foundation, Inc. 87 | This is free software; see the source for copying condi- 88 | tions. There is NO warranty; not even for MERCHANTABILITY 89 | or FITNESS FOR A PARTICULAR PURPOSE. 90 | 91 | SEE ALSO 92 | The full documentation for shred is maintained as a Tex- 93 | info manual. If the info and shred programs are properly 94 | installed at your site, the command 95 | 96 | info shred 97 | 98 | should give you access to the complete manual. 99 | 100 | 101 | 102 | shred (fileutils) 4.1 April 2001 SHRED(1) 103 | -------------------------------------------------------------------------------- /data/MAN/sort.txt: -------------------------------------------------------------------------------- 1 | SORT(1) User Commands SORT(1) 2 | 3 | 4 | 5 | NAME 6 | sort - sort lines of text files 7 | 8 | SYNOPSIS 9 | sort [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Write sorted concatenation of all FILE(s) to standard out- 13 | put. 14 | 15 | Ordering options: 16 | 17 | Mandatory arguments to long options are mandatory for 18 | short options too. 19 | 20 | -b, --ignore-leading-blanks ignore leading blanks 21 | 22 | -d, --dictionary-order 23 | consider only blanks and alphanumeric characters 24 | 25 | -f, --ignore-case 26 | fold lower case to upper case characters 27 | 28 | -g, --general-numeric-sort 29 | compare according to general numerical value 30 | 31 | -i, --ignore-nonprinting 32 | consider only printable characters 33 | 34 | -M, --month-sort 35 | compare (unknown) < `JAN' < ... < `DEC' 36 | 37 | -n, --numeric-sort 38 | compare according to string numerical value 39 | 40 | -r, --reverse 41 | reverse the result of comparisons 42 | 43 | Other options: 44 | 45 | -c, --check 46 | check whether input is sorted; do not sort 47 | 48 | -k, --key=POS1[,POS2] 49 | start a key at POS1, end it at POS 2 (origin 1) 50 | 51 | -m, --merge 52 | merge already sorted files; do not sort 53 | 54 | -o, --output=FILE 55 | write result to FILE instead of standard output 56 | 57 | -s, --stable 58 | stabilize sort by disabling last-resort comparison 59 | 60 | -S, --buffer-size=SIZE 61 | use SIZE for main memory buffer 62 | 63 | -t, --field-separator=SEP use SEP instead of non- to 64 | whitespace transition 65 | 66 | -T, --temporary-directory=DIR 67 | use DIR for temporaries, not $TMPDIR or /tmp multi- 68 | ple options specify multiple directories 69 | 70 | -u, --unique 71 | with -c: check for strict ordering otherwise: out- 72 | put only the first of an equal run 73 | 74 | -z, --zero-terminated 75 | end lines with 0 byte, not newline 76 | 77 | --help display this help and exit 78 | 79 | --version 80 | output version information and exit 81 | 82 | POS is F[.C][OPTS], where F is the field number and C the 83 | character position in the field. OPTS is one or more sin- 84 | gle-letter ordering options, which override global order- 85 | ing options for that key. If no key is given, use the 86 | entire line as the key. 87 | 88 | SIZE may be followed by the following multiplicative suf- 89 | fixes: % 1% of memory, b 1, K 1024 (default), and so on 90 | for M, G, T, P, E, Z, Y. 91 | 92 | With no FILE, or when FILE is -, read standard input. 93 | 94 | *** WARNING *** The locale specified by the environment 95 | affects sort order. Set LC_ALL=C to get the traditional 96 | sort order that uses native byte values. 97 | 98 | AUTHOR 99 | Written by Mike Haertel and Paul Eggert. 100 | 101 | REPORTING BUGS 102 | Report bugs to . 103 | 104 | COPYRIGHT 105 | Copyright (C) 2002 Free Software Foundation, Inc. 106 | This is free software; see the source for copying condi- 107 | tions. There is NO warranty; not even for MERCHANTABILITY 108 | or FITNESS FOR A PARTICULAR PURPOSE. 109 | 110 | SEE ALSO 111 | The full documentation for sort is maintained as a Texinfo 112 | manual. If the info and sort programs are properly 113 | installed at your site, the command 114 | 115 | info sort 116 | 117 | should give you access to the complete manual. 118 | 119 | 120 | 121 | sort (textutils) 2.1 July 2002 SORT(1) 122 | -------------------------------------------------------------------------------- /data/MAN/tail.txt: -------------------------------------------------------------------------------- 1 | TAIL(1) User Commands TAIL(1) 2 | 3 | 4 | 5 | NAME 6 | tail - output the last part of files 7 | 8 | SYNOPSIS 9 | tail [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Print the last 10 lines of each FILE to standard output. 13 | With more than one FILE, precede each with a header giving 14 | the file name. With no FILE, or when FILE is -, read 15 | standard input. 16 | 17 | Mandatory arguments to long options are mandatory for 18 | short options too. 19 | 20 | --retry 21 | keep trying to open a file even if it is inaccessi- 22 | ble when tail starts or if it becomes inaccessible 23 | later -- useful only with -f 24 | 25 | -c, --bytes=N 26 | output the last N bytes 27 | 28 | -f, --follow[={name|descriptor}] 29 | output appended data as the file grows; -f, --fol- 30 | low, and --follow=descriptor are equivalent 31 | 32 | -F same as --follow=name --retry 33 | 34 | -n, --lines=N 35 | output the last N lines, instead of the last 10 36 | 37 | --max-unchanged-stats=N 38 | with --follow=name, reopen a FILE which has not 39 | changed size after N (default 5) iterations to see 40 | if it has been unlinked or renamed (this is the 41 | usual case of rotated log files) 42 | 43 | --pid=PID 44 | with -f, terminate after process ID, PID dies 45 | 46 | -q, --quiet, --silent 47 | never output headers giving file names 48 | 49 | -s, --sleep-interval=S 50 | with -f, each iteration lasts approximately S 51 | (default 1) seconds 52 | 53 | -v, --verbose 54 | always output headers giving file names 55 | 56 | --help display this help and exit 57 | 58 | --version 59 | output version information and exit 60 | 61 | If the first character of N (the number of bytes or lines) 62 | is a `+', print beginning with the Nth item from the start 63 | of each file, otherwise, print the last N items in the 64 | file. N may have a multiplier suffix: b for 512, k for 65 | 1024, m for 1048576 (1 Meg). 66 | 67 | With --follow (-f), tail defaults to following the file 68 | descriptor, which means that even if a tail'ed file is 69 | renamed, tail will continue to track its end. This 70 | default behavior is not desirable when you really want to 71 | track the actual name of the file, not the file descriptor 72 | (e.g., log rotation). Use --follow=name in that case. 73 | That causes tail to track the named file by reopening it 74 | periodically to see if it has been removed and recreated 75 | by some other program. 76 | 77 | AUTHOR 78 | Written by Paul Rubin, David MacKenzie, Ian Lance Taylor, 79 | and Jim Meyering. 80 | 81 | REPORTING BUGS 82 | Report bugs to . 83 | 84 | COPYRIGHT 85 | Copyright (C) 2002 Free Software Foundation, Inc. 86 | This is free software; see the source for copying condi- 87 | tions. There is NO warranty; not even for MERCHANTABILITY 88 | or FITNESS FOR A PARTICULAR PURPOSE. 89 | 90 | SEE ALSO 91 | The full documentation for tail is maintained as a Texinfo 92 | manual. If the info and tail programs are properly 93 | installed at your site, the command 94 | 95 | info tail 96 | 97 | should give you access to the complete manual. 98 | 99 | 100 | 101 | tail (textutils) 2.1 July 2002 TAIL(1) 102 | -------------------------------------------------------------------------------- /data/MAN/tar.txt: -------------------------------------------------------------------------------- 1 | TAR(1) TAR(1) 2 | 3 | 4 | 5 | NAME 6 | tar - The GNU version of the tar archiving utility 7 | 8 | SYNOPSIS 9 | tar [ - ] A --catenate --concatenate | c --create | d --diff --compare 10 | | r --append | t --list | u --update | x -extract --get [ --atime-pre- 11 | serve ] [ -b, --block-size N ] [ -B, --read-full-blocks ] [ -C, 12 | --directory DIR ] [ --checkpoint ] [ -f, --file [HOSTNAME:]F ] [ 13 | --force-local ] [ -F, --info-script F --new-volume-script F ] [ -G, 14 | --incremental ] [ -g, --listed-incremental F ] [ -h, --dereference ] [ 15 | -i, --ignore-zeros ] [ -j, -I, --bzip ] [ --ignore-failed-read ] [ -k, 16 | --keep-old-files ] [ -K, --starting-file F ] [ -l, --one-file-system ] 17 | [ -L, --tape-length N ] [ -m, --modification-time ] [ -M, --multi-vol- 18 | ume ] [ -N, --after-date DATE, --newer DATE ] [ -o, --old-archive, 19 | --portability ] [ -O, --to-stdout ] [ -p, --same-permissions, --pre- 20 | serve-permissions ] [ -P, --absolute-paths ] [ --preserve ] [ -R, 21 | --record-number ] [ --remove-files ] [ -s, --same-order, --preserve- 22 | order ] [ --same-owner ] [ -S, --sparse ] [ -T, --files-from=F ] [ 23 | --null ] [ --totals ] [ -v, --verbose ] [ -V, --label NAME ] [ 24 | --version ] [ -w, --interactive, --confirmation ] [ -W, --verify ] 25 | [ --exclude FILE ] [ -X, --exclude-from FILE ] [ -Z, --compress, 26 | --uncompress ] [ -z, --gzip, --ungzip ] [ --use-compress-program 27 | PROG ] [ --block-compress ] [ -[0-7][lmh] ] 28 | 29 | filename1 [ filename2, ... filenameN ] 30 | 31 | directory1 [ directory2, ...directoryN ] 32 | 33 | DESCRIPTION 34 | This manual page documents the GNU version of tar , an archiving pro- 35 | gram designed to store and extract files from an archive file known as 36 | a tarfile. A tarfile may be made on a tape drive, however, it is also 37 | common to write a tarfile to a normal file. The first argument to tar 38 | must be one of the options: Acdrtux, followed by any optional func- 39 | tions. The final arguments to tar are the names of the files or direc- 40 | tories which should be archived. The use of a directory name always 41 | implies that the subdirectories below should be included in the 42 | archive. 43 | 44 | FUNCTION LETTERS 45 | One of the following options must be used: 46 | 47 | -A, --catenate, --concatenate 48 | append tar files to an archive 49 | 50 | -c, --create 51 | create a new archive 52 | 53 | -d, --diff, --compare 54 | find differences between archive and file system 55 | 56 | --delete 57 | delete from the archive (not for use on mag tapes!) 58 | 59 | -r, --append 60 | append files to the end of an archive 61 | 62 | -t, --list 63 | list the contents of an archive 64 | 65 | -u, --update 66 | only append files that are newer than copy in archive 67 | 68 | -x, --extract, --get 69 | extract files from an archive 70 | 71 | OTHER OPTIONS 72 | --atime-preserve 73 | don't change access times on dumped files 74 | 75 | -b, --block-size N 76 | block size of Nx512 bytes (default N=20) 77 | 78 | -B, --read-full-blocks 79 | reblock as we read (for reading 4.2BSD pipes) 80 | 81 | -C, --directory DIR 82 | change to directory DIR 83 | 84 | --checkpoint 85 | print directory names while reading the archive 86 | 87 | -f, --file [HOSTNAME:]F 88 | use archive file or device F (default /dev/rmt0) 89 | 90 | --force-local 91 | archive file is local even if has a colon 92 | 93 | -F, --info-script F --new-volume-script F 94 | run script at end of each tape (implies -M) 95 | 96 | -G, --incremental 97 | create/list/extract old GNU-format incremental backup 98 | 99 | -g, --listed-incremental F 100 | create/list/extract new GNU-format incremental backup 101 | 102 | -h, --dereference 103 | don't dump symlinks; dump the files they point to 104 | 105 | -i, --ignore-zeros 106 | ignore blocks of zeros in archive (normally mean EOF) 107 | 108 | -j, -I, --bzip 109 | filter the archive through bzip2. Note: -I is deprecated and may 110 | get a different meaning in the near future. 111 | 112 | --ignore-failed-read 113 | don't exit with non-zero status on unreadable files 114 | 115 | -k, --keep-old-files 116 | keep existing files; don't overwrite them from archive 117 | 118 | -K, --starting-file F 119 | begin at file F in the archive 120 | 121 | -l, --one-file-system 122 | stay in local file system when creating an archive 123 | 124 | -L, --tape-length N 125 | change tapes after writing N*1024 bytes 126 | 127 | -m, --modification-time 128 | don't extract file modified time 129 | 130 | -M, --multi-volume 131 | create/list/extract multi-volume archive 132 | 133 | -N, --after-date DATE, --newer DATE 134 | only store files newer than DATE 135 | 136 | -o, --old-archive, --portability 137 | write a V7 format archive, rather than ANSI format 138 | 139 | -O, --to-stdout 140 | extract files to standard output 141 | 142 | -p, --same-permissions, --preserve-permissions 143 | extract all protection information 144 | 145 | -P, --absolute-paths 146 | don't strip leading `/'s from file names 147 | 148 | --preserve 149 | like -p -s 150 | 151 | -R, --record-number 152 | show record number within archive with each message 153 | 154 | --remove-files 155 | remove files after adding them to the archive 156 | 157 | -s, --same-order, --preserve-order 158 | list of names to extract is sorted to match archive 159 | 160 | --same-owner 161 | create extracted files with the same ownership 162 | 163 | -S, --sparse 164 | handle sparse files efficiently 165 | 166 | -T, --files-from=F 167 | get names to extract or create from file F 168 | 169 | --null 170 | -T reads null-terminated names, disable -C 171 | 172 | --totals 173 | print total bytes written with --create 174 | 175 | -v, --verbose 176 | verbosely list files processed 177 | 178 | -V, --label NAME 179 | create archive with volume name NAME 180 | 181 | --version 182 | print tar program version number 183 | 184 | -w, --interactive, --confirmation 185 | ask for confirmation for every action 186 | 187 | -W, --verify 188 | attempt to verify the archive after writing it 189 | 190 | --exclude FILE 191 | exclude file FILE 192 | 193 | -X, --exclude-from FILE 194 | exclude files listed in FILE 195 | 196 | -Z, --compress, --uncompress 197 | filter the archive through compress 198 | 199 | -z, --gzip, --ungzip 200 | filter the archive through gzip 201 | 202 | --use-compress-program PROG 203 | filter the archive through PROG (which must accept -d) 204 | 205 | 206 | 207 | 30 October 2000 TAR(1) 208 | -------------------------------------------------------------------------------- /data/MAN/touch.txt: -------------------------------------------------------------------------------- 1 | TOUCH(1) FSF TOUCH(1) 2 | 3 | 4 | 5 | NAME 6 | touch - change file timestamps 7 | 8 | SYNOPSIS 9 | touch [OPTION]... FILE... 10 | touch [-acm] MMDDhhmm[YY] FILE... (obsolescent) 11 | 12 | DESCRIPTION 13 | Update the access and modification times of each FILE to 14 | the current time. 15 | 16 | -a change only the access time 17 | 18 | -c, --no-create 19 | do not create any files 20 | 21 | -d, --date=STRING 22 | parse STRING and use it instead of current time 23 | 24 | -f (ignored) 25 | 26 | -m change only the modification time 27 | 28 | -r, --reference=FILE 29 | use this file's times instead of current time 30 | 31 | -t STAMP 32 | use [[CC]YY]MMDDhhmm[.ss] instead of current time 33 | 34 | --time=WORD 35 | set time given by WORD: access atime use (same as 36 | -a) modify mtime (same as -m) 37 | 38 | --help display this help and exit 39 | 40 | --version 41 | output version information and exit 42 | 43 | Note that the three time-date formats recognized for the 44 | -d and -t options and for the obsolescent argument are all 45 | different. 46 | 47 | AUTHOR 48 | Written by Paul Rubin, Arnold Robbins, Jim Kingdon, David 49 | MacKenzie, and Randy Smith. 50 | 51 | REPORTING BUGS 52 | Report bugs to . 53 | 54 | COPYRIGHT 55 | Copyright (C) 2001 Free Software Foundation, Inc. 56 | This is free software; see the source for copying condi- 57 | tions. There is NO warranty; not even for MERCHANTABILITY 58 | or FITNESS FOR A PARTICULAR PURPOSE. 59 | 60 | SEE ALSO 61 | The full documentation for touch is maintained as a Tex- 62 | info manual. If the info and touch programs are properly 63 | installed at your site, the command 64 | 65 | info touch 66 | 67 | should give you access to the complete manual. 68 | 69 | 70 | 71 | touch (fileutils) 4.1 April 2001 TOUCH(1) 72 | -------------------------------------------------------------------------------- /data/MAN/tr.txt: -------------------------------------------------------------------------------- 1 | TR(1) User Commands TR(1) 2 | 3 | 4 | 5 | NAME 6 | tr - translate or delete characters 7 | 8 | SYNOPSIS 9 | tr [OPTION]... SET1 [SET2] 10 | 11 | DESCRIPTION 12 | Translate, squeeze, and/or delete characters from standard 13 | input, writing to standard output. 14 | 15 | -c, --complement 16 | first complement SET1 17 | 18 | -d, --delete 19 | delete characters in SET1, do not translate 20 | 21 | -s, --squeeze-repeats 22 | replace each input sequence of a repeated character 23 | that is listed in SET1 with a single occurrence of 24 | that character 25 | 26 | -t, --truncate-set1 27 | first truncate SET1 to length of SET2 28 | 29 | --help display this help and exit 30 | 31 | --version 32 | output version information and exit 33 | 34 | SETs are specified as strings of characters. Most repre- 35 | sent themselves. Interpreted sequences are: 36 | 37 | \NNN character with octal value NNN (1 to 3 octal dig- 38 | its) 39 | 40 | \\ backslash 41 | 42 | \a audible BEL 43 | 44 | \b backspace 45 | 46 | \f form feed 47 | 48 | \n new line 49 | 50 | \r return 51 | 52 | \t horizontal tab 53 | 54 | \v vertical tab 55 | 56 | CHAR1-CHAR2 57 | all characters from CHAR1 to CHAR2 in ascending 58 | order 59 | 60 | [CHAR*] 61 | in SET2, copies of CHAR until length of SET1 62 | 63 | [CHAR*REPEAT] 64 | REPEAT copies of CHAR, REPEAT octal if starting 65 | with 0 66 | 67 | [:alnum:] 68 | all letters and digits 69 | 70 | [:alpha:] 71 | all letters 72 | 73 | [:blank:] 74 | all horizontal whitespace 75 | 76 | [:cntrl:] 77 | all control characters 78 | 79 | [:digit:] 80 | all digits 81 | 82 | [:graph:] 83 | all printable characters, not including space 84 | 85 | [:lower:] 86 | all lower case letters 87 | 88 | [:print:] 89 | all printable characters, including space 90 | 91 | [:punct:] 92 | all punctuation characters 93 | 94 | [:space:] 95 | all horizontal or vertical whitespace 96 | 97 | [:upper:] 98 | all upper case letters 99 | 100 | [:xdigit:] 101 | all hexadecimal digits 102 | 103 | [=CHAR=] 104 | all characters which are equivalent to CHAR 105 | 106 | Translation occurs if -d is not given and both SET1 and 107 | SET2 appear. -t may be used only when translating. SET2 108 | is extended to length of SET1 by repeating its last char- 109 | acter as necessary. Excess characters of SET2 are 110 | ignored. Only [:lower:] and [:upper:] are guaranteed to 111 | expand in ascending order; used in SET2 while translating, 112 | they may only be used in pairs to specify case conversion. 113 | -s uses SET1 if not translating nor deleting; else squeez- 114 | ing uses SET2 and occurs after translation or deletion. 115 | 116 | AUTHOR 117 | Written by Jim Meyering. 118 | 119 | REPORTING BUGS 120 | Report bugs to . 121 | 122 | COPYRIGHT 123 | Copyright (C) 2002 Free Software Foundation, Inc. 124 | This is free software; see the source for copying condi- 125 | tions. There is NO warranty; not even for MERCHANTABILITY 126 | or FITNESS FOR A PARTICULAR PURPOSE. 127 | 128 | SEE ALSO 129 | The full documentation for tr is maintained as a Texinfo 130 | manual. If the info and tr programs are properly 131 | installed at your site, the command 132 | 133 | info tr 134 | 135 | should give you access to the complete manual. 136 | 137 | 138 | 139 | tr (textutils) 2.1 July 2002 TR(1) 140 | -------------------------------------------------------------------------------- /data/MAN/wc.txt: -------------------------------------------------------------------------------- 1 | WC(1) User Commands WC(1) 2 | 3 | 4 | 5 | NAME 6 | wc - print the number of bytes, words, and lines in files 7 | 8 | SYNOPSIS 9 | wc [OPTION]... [FILE]... 10 | 11 | DESCRIPTION 12 | Print byte, word, and newline counts for each FILE, and a 13 | total line if more than one FILE is specified. With no 14 | FILE, or when FILE is -, read standard input. 15 | 16 | -c, --bytes 17 | print the byte counts 18 | 19 | -m, --chars 20 | print the character counts 21 | 22 | -l, --lines 23 | print the newline counts 24 | 25 | -L, --max-line-length 26 | print the length of the longest line 27 | 28 | -w, --words 29 | print the word counts 30 | 31 | --help display this help and exit 32 | 33 | --version 34 | output version information and exit 35 | 36 | AUTHOR 37 | Written by Paul Rubin and David MacKenzie. 38 | 39 | REPORTING BUGS 40 | Report bugs to . 41 | 42 | COPYRIGHT 43 | Copyright (C) 2002 Free Software Foundation, Inc. 44 | This is free software; see the source for copying condi- 45 | tions. There is NO warranty; not even for MERCHANTABILITY 46 | or FITNESS FOR A PARTICULAR PURPOSE. 47 | 48 | SEE ALSO 49 | The full documentation for wc is maintained as a Texinfo 50 | manual. If the info and wc programs are properly 51 | installed at your site, the command 52 | 53 | info wc 54 | 55 | should give you access to the complete manual. 56 | 57 | 58 | 59 | wc (textutils) 2.1 July 2002 WC(1) 60 | -------------------------------------------------------------------------------- /data/MAN/who.txt: -------------------------------------------------------------------------------- 1 | WHO(1) FSF WHO(1) 2 | 3 | 4 | 5 | NAME 6 | who - show who is logged on 7 | 8 | SYNOPSIS 9 | who [OPTION]... [ FILE | ARG1 ARG2 ] 10 | 11 | DESCRIPTION 12 | -a, --all 13 | same as -b -d --login -p -r -t -T -u 14 | 15 | -b, --boot 16 | time of last system boot 17 | 18 | -d, --dead 19 | print dead processes 20 | 21 | -H, --heading 22 | print line of column headings 23 | 24 | -i, --idle 25 | add idle time as HOURS:MINUTES, . or old (deprecated, use -u) 26 | 27 | --login 28 | print system login processes (equivalent to SUS -l) 29 | 30 | -l, --lookup 31 | attempt to canonicalize hostnames via DNS (-l is deprecated, use 32 | --lookup) 33 | 34 | -m only hostname and user associated with stdin 35 | 36 | -p, --process 37 | print active processes spawned by init 38 | 39 | -q, --count 40 | all login names and number of users logged on 41 | 42 | -r, --runlevel 43 | print current runlevel 44 | 45 | -s, --short 46 | print only name, line, and time (default) 47 | 48 | -t, --time 49 | print last system clock change 50 | 51 | -T, -w, --mesg 52 | add user's message status as +, - or ? 53 | 54 | -u, --users 55 | list users logged in 56 | 57 | --message 58 | same as -T 59 | 60 | --writable 61 | same as -T 62 | 63 | --help display this help and exit 64 | 65 | --version 66 | output version information and exit 67 | 68 | If FILE is not specified, use /var/run/utmp. /var/log/wtmp as FILE is 69 | common. If ARG1 ARG2 given, -m presumed: `am i' or `mom likes' are 70 | usual. 71 | 72 | AUTHOR 73 | Written by Joseph Arceneaux, David MacKenzie, and Michael Stone. 74 | 75 | REPORTING BUGS 76 | Report bugs to . 77 | 78 | COPYRIGHT 79 | Copyright 80 | -------------------------------------------------------------------------------- /data/MAN/whoami.txt: -------------------------------------------------------------------------------- 1 | WHOAMI(1) FSF WHOAMI(1) 2 | 3 | 4 | 5 | NAME 6 | whoami - print effective userid 7 | 8 | SYNOPSIS 9 | whoami [OPTION]... 10 | 11 | DESCRIPTION 12 | Print the user name associated with the current effective user id. 13 | Same as id -un. 14 | 15 | --help display this help and exit 16 | 17 | --version 18 | output version information and exit 19 | 20 | AUTHOR 21 | Written by Richard Mlynarik. 22 | 23 | REPORTING BUGS 24 | Report bugs to . 25 | 26 | COPYRIGHT 27 | Copyright 28 | -------------------------------------------------------------------------------- /data/MAN/whois.txt: -------------------------------------------------------------------------------- 1 | jwhois(1) jwhois(1) 2 | 3 | 4 | 5 | NAME 6 | jwhois - client for the whois service 7 | 8 | SYNOPSIS 9 | jwhois [ OPTIONS ]... [ QUERY ] 10 | 11 | DESCRIPTION 12 | jwhois searches Whois servers for the object on the command line. 13 | 14 | The host to query is taken from a global configuration file, a configu- 15 | ration file specified on the command line, or selected directly on the 16 | command line. 17 | 18 | 19 | OPTIONS 20 | --version 21 | display version, authors and licensing information. 22 | 23 | --help display a short help text. 24 | 25 | -c FILE --config=FILE 26 | uses FILE as a configuration file instead of the default. 27 | 28 | -h HOST --host=HOST 29 | overrides any hosts in the configuration file and queries HOST 30 | directly. 31 | 32 | -p PORT --port=PORT 33 | specifies a port number to use when querying a HOST. 34 | 35 | -f --force-lookup 36 | forces a query to be made to a host even if a current object is 37 | available from the cache. 38 | 39 | -v --verbose 40 | outputs verbose debugging information while running (use this 41 | before sending a bugreport to ensure that it's indeed a bug and 42 | not a misconfiguration). You can increase the verbosity by giv- 43 | ing several verbose commands to jwhois, such as -vv. 44 | 45 | -n --no-redirect 46 | disable features that redirect queries from one server to 47 | another. 48 | 49 | -s --no-whoisservers 50 | disable the built-in support for whois-servers.net. 51 | 52 | -a --raw 53 | send query verbatim to receiving hosts instead of rewriting them 54 | according to the configuration. 55 | 56 | -i --display-redirections 57 | display every step in a redirection (default is to display only 58 | the last answer). 59 | 60 | -d --disable-cache 61 | completely disable both reading and writing to cache. 62 | 63 | -r --rwhois 64 | force the query to use the rwhois protocoll instead of HTTP or 65 | whois. 66 | 67 | --rwhois-display=DISPLAY 68 | asks receiving rwhois servers to display the results in the DIS- 69 | PLAY display instead of the default dump display. 70 | 71 | --rwhois-limit=LIMIT 72 | asks receiving rwhois servers to limit their responses to LIMIT 73 | matches. 74 | 75 | 76 | RIPE EXTENSIONS 77 | To use the options specified in RIPE Document 157, you need to change 78 | the format of the query slightly. If you were to search for all 79 | entries in the RIPE database which lists the admin-c, tech-c or zone-c 80 | as CO19-RIPE, you could use the following command syntax: 81 | 82 | jwhois -h whois.ripe.net -- -i admin-c,tech-c,zone-c CO19-RIPE 83 | 84 | -- is used to separate the RIPE options from the jwhois options. 85 | 86 | 87 | SEE ALSO 88 | whois(1) 89 | 90 | 91 | 92 | GNU November 2001 jwhois(1) 93 | -------------------------------------------------------------------------------- /data/MAN/yes.txt: -------------------------------------------------------------------------------- 1 | YES(1) FSF YES(1) 2 | 3 | 4 | 5 | NAME 6 | yes - output a string repeatedly until killed 7 | 8 | SYNOPSIS 9 | yes [STRING]... 10 | yes OPTION 11 | 12 | DESCRIPTION 13 | Repeatedly output a line with all specified STRING(s), or `y'. 14 | 15 | --help display this help and exit 16 | 17 | --version 18 | output version information and exit 19 | 20 | AUTHOR 21 | Written by David MacKenzie. 22 | 23 | REPORTING BUGS 24 | Report bugs to . 25 | 26 | COPYRIGHT 27 | Copyright 28 | -------------------------------------------------------------------------------- /data/README.txt: -------------------------------------------------------------------------------- 1 | This directory contains various data files associated with the AIMA Project, 2 | Artificial Intelligence: A Modern Approach, by Russell and Norvig. 3 | The data is divided into three types: 4 | 5 | (1) Range data for Robot Localization 6 | (2) Machine Learning data sets 7 | (3) English text 8 | 9 | We'll list the source files for each of the three: 10 | 11 | (1) Range data for Robot Localization 12 | ascii-robotdata1.log The data 13 | ascii-robotdata1.txt Description of the data 14 | 15 | (2) Machine Learning Data Sets 16 | iris.csv Data on different types of iris flowers 17 | orings.csv Data from O-rings on space shuttle missions 18 | restaurant.csv Restaurant example from the textbook 19 | zoo.csv Animals and their characteristics 20 | 21 | iris.txt Descriptions of the above files 22 | orings.txt 23 | zoo.txt 24 | 25 | (3) English text 26 | MAN/ 27 | *.txt Various Unix "man page" entries 28 | EN-text/ 29 | wordlist A list of 173000 English words 30 | spam.txt Collection of spam emails 31 | gutenberg.txt Copyright notice from Project Gutenberg, where rest comes from 32 | flatland.txt The novel Flatland 33 | pride.txt Pride and Predjudice 34 | sense.txt Sense and Sensibility 35 | zola.txt Works of Emile Zola 36 | 37 | -------------------------------------------------------------------------------- /data/ascii-robotdata1.txt: -------------------------------------------------------------------------------- 1 | This description and the corresponding data file, ascii-robotdata1.log, 2 | are taken from http://www-2.cs.cmu.edu/~thrun/16-899/ with permission 3 | of Sebastian Thrun. 4 | 5 | MAP FILE FORMAT: 6 | 7 | It is pretty self-explanatory: 8 | -1 = don't know 9 | any value in [0;1] is a probability for occupancy: 10 | 1 = occupied with probability 1 11 | 0 = unoccupied with probability 1 12 | 0.5 = occupied with probability 0.5 13 | The function in bee-map.c should make reading the map pretty easy. 14 | 15 | 16 | LOG DATA FILE FORMAT: 17 | 18 | In general, x and y coordinates are in centimeters, thetas are in 19 | radians, range values are in centimeters 20 | 21 | The laser on the robot is approximately 25 cm offset forward from the 22 | true center of the robot. 23 | 24 | Entry Type #1 (odometry): 25 | 26 | O x y theta ts 27 | 28 | x y theta - coordinates of the robot in standard odometry frame 29 | ts - timestamp of odometry reading (0 at start of run) 30 | 31 | Entry Type #2 (laser) 32 | 33 | L x y theta xl yl thetal r1 ... r180 ts 34 | 35 | x y theta - coodinates of the robot in standard odometry frame when 36 | laser reading was taken (iterpolated) 37 | xl yl thetal - coordinates of the *laser* in standard odometry frame 38 | when the laser reading was taken (interpolated) 39 | r1 .. r180 - 180 range readings of laser in cm. The 180 readings span 40 | 180 degrees *STARTING FROM THE RIGHT AND GOING LEFT* Just like angles, 41 | the laser readings are in counterclockwise order. 42 | ts - timestamp of laser reading 43 | 44 | 45 | 46 | -------------------------------------------------------------------------------- /data/iris.csv: -------------------------------------------------------------------------------- 1 | 5.1,3.5,1.4,0.2,setosa 2 | 4.9,3.0,1.4,0.2,setosa 3 | 4.7,3.2,1.3,0.2,setosa 4 | 4.6,3.1,1.5,0.2,setosa 5 | 5.0,3.6,1.4,0.2,setosa 6 | 5.4,3.9,1.7,0.4,setosa 7 | 4.6,3.4,1.4,0.3,setosa 8 | 5.0,3.4,1.5,0.2,setosa 9 | 4.4,2.9,1.4,0.2,setosa 10 | 4.9,3.1,1.5,0.1,setosa 11 | 5.4,3.7,1.5,0.2,setosa 12 | 4.8,3.4,1.6,0.2,setosa 13 | 4.8,3.0,1.4,0.1,setosa 14 | 4.3,3.0,1.1,0.1,setosa 15 | 5.8,4.0,1.2,0.2,setosa 16 | 5.7,4.4,1.5,0.4,setosa 17 | 5.4,3.9,1.3,0.4,setosa 18 | 5.1,3.5,1.4,0.3,setosa 19 | 5.7,3.8,1.7,0.3,setosa 20 | 5.1,3.8,1.5,0.3,setosa 21 | 5.4,3.4,1.7,0.2,setosa 22 | 5.1,3.7,1.5,0.4,setosa 23 | 4.6,3.6,1.0,0.2,setosa 24 | 5.1,3.3,1.7,0.5,setosa 25 | 4.8,3.4,1.9,0.2,setosa 26 | 5.0,3.0,1.6,0.2,setosa 27 | 5.0,3.4,1.6,0.4,setosa 28 | 5.2,3.5,1.5,0.2,setosa 29 | 5.2,3.4,1.4,0.2,setosa 30 | 4.7,3.2,1.6,0.2,setosa 31 | 4.8,3.1,1.6,0.2,setosa 32 | 5.4,3.4,1.5,0.4,setosa 33 | 5.2,4.1,1.5,0.1,setosa 34 | 5.5,4.2,1.4,0.2,setosa 35 | 4.9,3.1,1.5,0.1,setosa 36 | 5.0,3.2,1.2,0.2,setosa 37 | 5.5,3.5,1.3,0.2,setosa 38 | 4.9,3.1,1.5,0.1,setosa 39 | 4.4,3.0,1.3,0.2,setosa 40 | 5.1,3.4,1.5,0.2,setosa 41 | 5.0,3.5,1.3,0.3,setosa 42 | 4.5,2.3,1.3,0.3,setosa 43 | 4.4,3.2,1.3,0.2,setosa 44 | 5.0,3.5,1.6,0.6,setosa 45 | 5.1,3.8,1.9,0.4,setosa 46 | 4.8,3.0,1.4,0.3,setosa 47 | 5.1,3.8,1.6,0.2,setosa 48 | 4.6,3.2,1.4,0.2,setosa 49 | 5.3,3.7,1.5,0.2,setosa 50 | 5.0,3.3,1.4,0.2,setosa 51 | 7.0,3.2,4.7,1.4,versicolor 52 | 6.4,3.2,4.5,1.5,versicolor 53 | 6.9,3.1,4.9,1.5,versicolor 54 | 5.5,2.3,4.0,1.3,versicolor 55 | 6.5,2.8,4.6,1.5,versicolor 56 | 5.7,2.8,4.5,1.3,versicolor 57 | 6.3,3.3,4.7,1.6,versicolor 58 | 4.9,2.4,3.3,1.0,versicolor 59 | 6.6,2.9,4.6,1.3,versicolor 60 | 5.2,2.7,3.9,1.4,versicolor 61 | 5.0,2.0,3.5,1.0,versicolor 62 | 5.9,3.0,4.2,1.5,versicolor 63 | 6.0,2.2,4.0,1.0,versicolor 64 | 6.1,2.9,4.7,1.4,versicolor 65 | 5.6,2.9,3.6,1.3,versicolor 66 | 6.7,3.1,4.4,1.4,versicolor 67 | 5.6,3.0,4.5,1.5,versicolor 68 | 5.8,2.7,4.1,1.0,versicolor 69 | 6.2,2.2,4.5,1.5,versicolor 70 | 5.6,2.5,3.9,1.1,versicolor 71 | 5.9,3.2,4.8,1.8,versicolor 72 | 6.1,2.8,4.0,1.3,versicolor 73 | 6.3,2.5,4.9,1.5,versicolor 74 | 6.1,2.8,4.7,1.2,versicolor 75 | 6.4,2.9,4.3,1.3,versicolor 76 | 6.6,3.0,4.4,1.4,versicolor 77 | 6.8,2.8,4.8,1.4,versicolor 78 | 6.7,3.0,5.0,1.7,versicolor 79 | 6.0,2.9,4.5,1.5,versicolor 80 | 5.7,2.6,3.5,1.0,versicolor 81 | 5.5,2.4,3.8,1.1,versicolor 82 | 5.5,2.4,3.7,1.0,versicolor 83 | 5.8,2.7,3.9,1.2,versicolor 84 | 6.0,2.7,5.1,1.6,versicolor 85 | 5.4,3.0,4.5,1.5,versicolor 86 | 6.0,3.4,4.5,1.6,versicolor 87 | 6.7,3.1,4.7,1.5,versicolor 88 | 6.3,2.3,4.4,1.3,versicolor 89 | 5.6,3.0,4.1,1.3,versicolor 90 | 5.5,2.5,4.0,1.3,versicolor 91 | 5.5,2.6,4.4,1.2,versicolor 92 | 6.1,3.0,4.6,1.4,versicolor 93 | 5.8,2.6,4.0,1.2,versicolor 94 | 5.0,2.3,3.3,1.0,versicolor 95 | 5.6,2.7,4.2,1.3,versicolor 96 | 5.7,3.0,4.2,1.2,versicolor 97 | 5.7,2.9,4.2,1.3,versicolor 98 | 6.2,2.9,4.3,1.3,versicolor 99 | 5.1,2.5,3.0,1.1,versicolor 100 | 5.7,2.8,4.1,1.3,versicolor 101 | 6.3,3.3,6.0,2.5,virginica 102 | 5.8,2.7,5.1,1.9,virginica 103 | 7.1,3.0,5.9,2.1,virginica 104 | 6.3,2.9,5.6,1.8,virginica 105 | 6.5,3.0,5.8,2.2,virginica 106 | 7.6,3.0,6.6,2.1,virginica 107 | 4.9,2.5,4.5,1.7,virginica 108 | 7.3,2.9,6.3,1.8,virginica 109 | 6.7,2.5,5.8,1.8,virginica 110 | 7.2,3.6,6.1,2.5,virginica 111 | 6.5,3.2,5.1,2.0,virginica 112 | 6.4,2.7,5.3,1.9,virginica 113 | 6.8,3.0,5.5,2.1,virginica 114 | 5.7,2.5,5.0,2.0,virginica 115 | 5.8,2.8,5.1,2.4,virginica 116 | 6.4,3.2,5.3,2.3,virginica 117 | 6.5,3.0,5.5,1.8,virginica 118 | 7.7,3.8,6.7,2.2,virginica 119 | 7.7,2.6,6.9,2.3,virginica 120 | 6.0,2.2,5.0,1.5,virginica 121 | 6.9,3.2,5.7,2.3,virginica 122 | 5.6,2.8,4.9,2.0,virginica 123 | 7.7,2.8,6.7,2.0,virginica 124 | 6.3,2.7,4.9,1.8,virginica 125 | 6.7,3.3,5.7,2.1,virginica 126 | 7.2,3.2,6.0,1.8,virginica 127 | 6.2,2.8,4.8,1.8,virginica 128 | 6.1,3.0,4.9,1.8,virginica 129 | 6.4,2.8,5.6,2.1,virginica 130 | 7.2,3.0,5.8,1.6,virginica 131 | 7.4,2.8,6.1,1.9,virginica 132 | 7.9,3.8,6.4,2.0,virginica 133 | 6.4,2.8,5.6,2.2,virginica 134 | 6.3,2.8,5.1,1.5,virginica 135 | 6.1,2.6,5.6,1.4,virginica 136 | 7.7,3.0,6.1,2.3,virginica 137 | 6.3,3.4,5.6,2.4,virginica 138 | 6.4,3.1,5.5,1.8,virginica 139 | 6.0,3.0,4.8,1.8,virginica 140 | 6.9,3.1,5.4,2.1,virginica 141 | 6.7,3.1,5.6,2.4,virginica 142 | 6.9,3.1,5.1,2.3,virginica 143 | 5.8,2.7,5.1,1.9,virginica 144 | 6.8,3.2,5.9,2.3,virginica 145 | 6.7,3.3,5.7,2.5,virginica 146 | 6.7,3.0,5.2,2.3,virginica 147 | 6.3,2.5,5.0,1.9,virginica 148 | 6.5,3.0,5.2,2.0,virginica 149 | 6.2,3.4,5.4,2.3,virginica 150 | 5.9,3.0,5.1,1.8,virginica 151 | -------------------------------------------------------------------------------- /data/iris.txt: -------------------------------------------------------------------------------- 1 | 1. Title: Iris Plants Database 2 | Updated Sept 21 by C.Blake - Added discrepency information 3 | 4 | 2. Sources: 5 | (a) Creator: R.A. Fisher 6 | (b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov) 7 | (c) Date: July, 1988 8 | 9 | 3. Past Usage: 10 | - Publications: too many to mention!!! Here are a few. 11 | 1. Fisher,R.A. "The use of multiple measurements in taxonomic problems" 12 | Annual Eugenics, 7, Part II, 179-188 (1936); also in "Contributions 13 | to Mathematical Statistics" (John Wiley, NY, 1950). 14 | 2. Duda,R.O., & Hart,P.E. (1973) Pattern Classification and Scene Analysis. 15 | (Q327.D83) John Wiley & Sons. ISBN 0-471-22361-1. See page 218. 16 | 3. Dasarathy, B.V. (1980) "Nosing Around the Neighborhood: A New System 17 | Structure and Classification Rule for Recognition in Partially Exposed 18 | Environments". IEEE Transactions on Pattern Analysis and Machine 19 | Intelligence, Vol. PAMI-2, No. 1, 67-71. 20 | -- Results: 21 | -- very low misclassification rates (0% for the setosa class) 22 | 4. Gates, G.W. (1972) "The Reduced Nearest Neighbor Rule". IEEE 23 | Transactions on Information Theory, May 1972, 431-433. 24 | -- Results: 25 | -- very low misclassification rates again 26 | 5. See also: 1988 MLC Proceedings, 54-64. Cheeseman et al's AUTOCLASS II 27 | conceptual clustering system finds 3 classes in the data. 28 | 29 | 4. Relevant Information: 30 | --- This is perhaps the best known database to be found in the pattern 31 | recognition literature. Fisher's paper is a classic in the field 32 | and is referenced frequently to this day. (See Duda & Hart, for 33 | example.) The data set contains 3 classes of 50 instances each, 34 | where each class refers to a type of iris plant. One class is 35 | linearly separable from the other 2; the latter are NOT linearly 36 | separable from each other. 37 | --- Predicted attribute: class of iris plant. 38 | --- This is an exceedingly simple domain. 39 | --- This data differs from the data presented in Fishers article 40 | (identified by Steve Chadwick, spchadwick@espeedaz.net ) 41 | The 35th sample should be: 4.9,3.1,1.5,0.2,"Iris-setosa" 42 | where the error is in the fourth feature. 43 | The 38th sample: 4.9,3.6,1.4,0.1,"Iris-setosa" 44 | where the errors are in the second and third features. 45 | 46 | 5. Number of Instances: 150 (50 in each of three classes) 47 | 48 | 6. Number of Attributes: 4 numeric, predictive attributes and the class 49 | 50 | 7. Attribute Information: 51 | 1. sepal length in cm 52 | 2. sepal width in cm 53 | 3. petal length in cm 54 | 4. petal width in cm 55 | 5. class: 56 | -- Iris Setosa 57 | -- Iris Versicolour 58 | -- Iris Virginica 59 | 60 | 8. Missing Attribute Values: None 61 | 62 | Summary Statistics: 63 | Min Max Mean SD Class Correlation 64 | sepal length: 4.3 7.9 5.84 0.83 0.7826 65 | sepal width: 2.0 4.4 3.05 0.43 -0.4194 66 | petal length: 1.0 6.9 3.76 1.76 0.9490 (high!) 67 | petal width: 0.1 2.5 1.20 0.76 0.9565 (high!) 68 | 69 | 9. Class Distribution: 33.3% for each of 3 classes. 70 | -------------------------------------------------------------------------------- /data/orings.csv: -------------------------------------------------------------------------------- 1 | 6, 0, 66, 50, 1 2 | 6, 1, 70, 50, 2 3 | 6, 0, 69, 50, 3 4 | 6, 0, 68, 50, 4 5 | 6, 0, 67, 50, 5 6 | 6, 0, 72, 50, 6 7 | 6, 0, 73, 100, 7 8 | 6, 0, 70, 100, 8 9 | 6, 1, 57, 200, 9 10 | 6, 1, 63, 200, 10 11 | 6, 1, 70, 200, 11 12 | 6, 0, 78, 200, 12 13 | 6, 0, 67, 200, 13 14 | 6, 2, 53, 200, 14 15 | 6, 0, 67, 200, 15 16 | 6, 0, 75, 200, 16 17 | 6, 0, 70, 200, 17 18 | 6, 0, 81, 200, 18 19 | 6, 0, 76, 200, 19 20 | 6, 0, 79, 200, 20 21 | 6, 0, 75, 200, 21 22 | 6, 0, 76, 200, 22 23 | 6, 1, 58, 200, 23 24 | -------------------------------------------------------------------------------- /data/orings.txt: -------------------------------------------------------------------------------- 1 | Source: http://www1.ics.uci.edu/pub/machine-learning-databases/space-shuttle/ 2 | 3 | 1. Title: Challenger Space Shuttle O-Ring Data (2 databases) 4 | 5 | 2. Sources: 6 | -- David Draper (draper@math.ucla.edu) 7 | University of California, Los Angeles 8 | -- Donor: David Draper (draper@math.ucla.edu) 9 | -- Date: 5 August 1993 10 | 11 | 3. Past Usage: 12 | 13 | 1. Draper,~D. (1993). Assessment and propagation of model uncertainty. 14 | In {\it Proceedings of the Fourth International Workshop on Artificial 15 | Intelligence and Statistics} (pp. 497--509). Ft. Lauderdale, FL: 16 | Unpublished. 17 | -- Discrete model uncertainty analysis 18 | -- Analysis suggests that obvious different extrapolations of the 19 | data exist at 31 degrees Fahrenheit (i.e., freezing), which sharply 20 | discredits the assumption of no temperature effect. 21 | 2. Dalal,~S.~R., Fowlkes,~E.~B., \& Hoadley,~B. (1989). Risk analysis of 22 | the space shuttle: pre-Challenger prediction of failure. {\it Journal 23 | of the American Statisticians Association}, {\it 84}, 945--957. 24 | 3. Lavine,~M. (1991). Problems in extrapolation illustrated with space 25 | shuttle O-ring data. {\it Journal of the American Statisticians 26 | Association}, {\it 86}, 919--922. 27 | 4. Martz~H.~F., \& Zimmer,~W.~J. (1992). The risk of catastrophic failure 28 | of the solid rocket boosters on the space shuttle. {\it American 29 | Statistics}, {\it 46}, 42--47. 30 | 31 | 4. Number of instances: 23 in each of two files 32 | 33 | 5. Relevant Information: 34 | 35 | There are two databases: (both use the same set of 5 attributes) 36 | 1. Primary o-ring erosion and/or blowby 37 | 2. Primary o-ring erosion only 38 | The two databases are identical except for the 2nd attribute of the 39 | 21st instance (confirmed by David Draper on 8/5/93). 40 | 41 | Edited from (Draper, 1993): 42 | The motivation for collecting this database was the explosion of the 43 | USA Space Shuttle Challenger on 28 January, 1986. An investigation 44 | ensued into the reliability of the shuttle's propulsion system. The 45 | explosion was eventually traced to the failure of one of the three field 46 | joints on one of the two solid booster rockets. Each of these six field 47 | joints includes two O-rings, designated as primary and secondary, which 48 | fail when phenomena called erosion and blowby both occur. 49 | The night before the launch a decision had to be made regarding 50 | launch safety. The discussion among engineers and managers leading to 51 | this decision included concern that the probability of failure of the 52 | O-rings depended on the temperature t at launch, which was forecase to 53 | be 31 degrees F. There are strong engineering reasons based on the 54 | composition of O-rings to support the judgment that failure 55 | probability may rise monotonically as temperature drops. One other 56 | variable, the pressure s at which safety testing for field join leaks 57 | was performed, was available, but its relevance to the failure process 58 | was unclear. 59 | Draper's paper includes a menacing figure graphing the number of field 60 | joints experiencing stress vs. liftoff temperature for the 23 shuttle 61 | flights previous to the Challenger disaster. No previous liftoff 62 | temperature was under 53 degrees F. Although tremendous extrapolation 63 | must be done from the given data to assess risk at 31 degrees F, it 64 | is obvious even to the layman "to foresee the unacceptably high risk 65 | created by launching at 31 degrees F." For more information, see 66 | Draper (1993) or the other previous analyses. 67 | The task is to predict the number of O-rings that will experience 68 | thermal distress for a given flight when the launch temperature is 69 | below freezing. 70 | 71 | 6. Number of Attributes: 5 72 | 1. Number of O-rings at risk on a given flight 73 | 2. Number experiencing thermal distress 74 | 3. Launch temperature (degrees F) 75 | 4. Leak-check pressure (psi) 76 | 5. Temporal order of flight 77 | 78 | 7. Attribute Information: all values are positive integers 79 | -------------------------------------------------------------------------------- /data/readme.htm: -------------------------------------------------------------------------------- 1 | <> 2 | 3 | The data/ directory holds data files that are used in common 4 | by the Lisp, Python, and Java implementations of the code 7 | repository. See the "online code instructions 8 | for more information on how to install and use these data files. 9 | 10 |

The files are as follows: 11 | 12 |

13 |
Data FilenameDocumentationDescription 14 |
ascii-robotdata1.logascii-robotdata1.txtRange data for robot localization 15 |
data.zip A zip file of this entire directory 16 |
iris.csviris.txtMachine learning data: different types of iris flowers 17 |
orings.csvorings.txtMachine learning data: O-rings on the space shuttle 18 |
restaurant.csv Machine learning data: the restaurant example from the text 19 |
spam.txt Machine learning data: A collection of spam email 20 |
wordlist A list of English words 21 |
zola.txt English text: Emile Zola's Nana, through Chapter 12 22 |
zoo.csvzoo.txtMachine learning data: animals and their characteristics 23 |
24 | 25 | <