První se seznámíme s informačními zdroji, jenž jsou uloženy
fyzicky na serveru THUNDER.
Přesněji řečeno, jedná se o zdroje, které uživatel nalezne
na kterémkoli Linuxovém systému.
Předpokládejme, že uživatele zajímá plnohodnotné využití některého příkazu, například cat. Zajímají ho tedy informace o příkazu, syntaxe, parametry, nastavení, souvislosti s dalšími příkazy, chyby a podobně. Všechny tyto informace jsou _STANDARDNĚ_ dostupné v Linuxovém systému. První zjistíme, zda program cat vůbec v našem systému existuje... which cat[ENTER] /bin/catAno, příkaz cat je reprezentován programem /bin/cat . Podobnou službu nám poskytne zadání
cat[Tab][Tab] . Nyní se dotažme na informace
o verzi...
cat --version[ENTER] cat (GNU textutils) 2.0 Written by Torbjorn Granlund and Richard M. Stallman. Copyright (C) 1999 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.a na vestavěnou nápovědu... cat --help[ENTER] Usage: cat [OPTION] [FILE]... Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonblank output lines -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank never more than one single blank line -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB --help display this help and exit --version output version information and exit With no FILE, or when FILE is -, read standard input. Report bugs to <bug-textutils@gnu.org>.Dále si můžeme prohlédnout manuálovou stránku, jež je standardním příslušenstvím programu... man cat[ENTER] CAT(1) FSF CAT(1) NAME cat - concatenate files and print on the standard output SYNOPSIS cat [OPTION] [FILE]... DESCRIPTION Concatenate FILE(s), or standard input, to standard output. -A, --show-all equivalent to -vET -b, --number-nonblank number nonblank output lines -e equivalent to -vE -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank never more than one single blank line -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB --help display this help and exit --version output version information and exit With no FILE, or when FILE is -, read standard input. :Nyní příkaz man čeká na další pokyny. [šipka dolů, šipka nahoru] "roluje" nápovědu po obrazovce, [Space] (mezerník) posune uživatele na další stranu nápovědy, [q] ukončí prohlížení nápovědy. [Space] -E, --show-ends display $ at end of each line -n, --number number all output lines -s, --squeeze-blank never more than one single blank line -t equivalent to -vT -T, --show-tabs display TAB characters as ^I -u (ignored) -v, --show-nonprinting use ^ and M- notation, except for LFD and TAB --help display this help and exit --version output version information and exit With no FILE, or when FILE is -, read standard input. REPORTING BUGS Report bugs to <bug-textutils@gnu.org>. SEE ALSO The full documentation for cat is maintained as a Texinfo manual. If the info and cat programs are properly installed at your site, the command info cat should give you access to the complete manual. COPYRIGHT Copyright (C) 1999 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. GNU textutils 2.0 August 1999 1 (END) [q]
Z předchozího by se mohlo zdát, že jednotlivě informační zdroje
poskytují stejnou nápovědu. Tak je tomu však zřídka a zpravidla
u velmi jednoduchých programů.
Tam, kde je třeba popsát mnoho parametrů a předložit mnoho
informací (například u kompilátoru jazyka c, gcc),
je help omezený na základní fakta a detailní informace
obsahuje manuálová stránka.
Pod kolonkou `SEE ALSO' v předchozím příkladu se nachází
upozornění na další významný informační zdroj - TEXINFO MANUAL.
Vyvolává se například pomocí příkazu ` info cat[ENTER] File: textutils.info, Node: cat invocation, Next: tac invocation, Up: Output of entire files `cat': Concatenate and write files ================================== `cat' copies each FILE (`-' means standard input), or standard input if none are given, to standard output. Synopsis: cat [OPTION] [FILE]... The program accepts the following options. Also see *Note Common options::. `-A' `--show-all' Equivalent to `-vET'. `-B' `--binary' On MS-DOS and MS-Windows only, read and write the files in binary mode. By default, `cat' on MS-DOS/MS-Windows uses binary mode only when standard output is redirected to a file or a pipe; this option overrides that. Binary file I/O is used so that the files retain their format (Unix text as opposed to DOS text and binary), because `cat' is frequently used as a file-copying program. Some options (see below) cause `cat' read and write files in text mode because then the original file contents aren't important (e.g., when lines are numbered by `cat', or when line endings should be marked). This is so these options work as DOS/Windows users would expect; for example, DOS-style text files have their lines end with the CR-LF pair of characters which won't be processed as an empty line by `-b' unless the file is read in text mode. `-b' `--number-nonblank' Number all nonblank output lines, starting with 1. On MS-DOS and MS-Windows, this option causes `cat' to read and write files in text mode. `-e' Equivalent to `-vE'. `-E' `--show-ends' --zz-Info: (textutils.info.gz)cat invocation, 78 lines --Top---------- [q]A následně se podívejme na výchozí INFO stránku k překladači gcc... info gcc[ENTER] File: gcc.info, Node: Top, Next: G++ and GCC, Up: (DIR) Introduction ************ This manual documents how to run, install and port the GNU compiler, as well as its new features and incompatibilities, and how to report bugs. It corresponds to EGCS version 1.1.2. * Menu: * G++ and GCC:: You can compile C or C++ programs. * Invoking GCC:: Command options supported by `gcc'. * Installation:: How to configure, compile and install GNU CC. * C Extensions:: GNU extensions to the C language family. * C++ Extensions:: GNU extensions to the C++ language. * Gcov:: gcov: a GNU CC test coverage program. * Trouble:: If you have trouble installing GNU CC. * Bugs:: How, why and where to report bugs. * Service:: How to find suppliers of support for GNU CC. * Contributing:: How to contribute to testing and developing GNU * CC. * VMS:: Using GNU CC on VMS. * Portability:: Goals of GNU CC's portability features. * Interface:: Function-call interface of GNU CC output. * Passes:: Order of passes, what they do, and what each file * is for. * RTL:: The intermediate representation that most passes * work on. * Machine Desc:: How to write machine description instruction * patterns. * Target Macros:: How to write the machine description C macros. * Config:: Writing the `xm-MACHINE.h' file. * Fragments:: Writing the `t-TARGET' and `x-HOST' files. * Funding:: How to help assure funding for free software. * GNU/Linux:: Linux and the GNU Project * Copying:: GNU General Public License says how you can copy and share GNU CC. * Contributors:: People who have contributed to GNU CC. * Index:: Index of concepts and symbol names. --zz-Info: (gcc.info.gz)Top, 42 lines --All---------------------- Welcome to Info version 3.12h. "C-h" for help, "m" for menu item. [q]Poznamenejme, že v tištěné podobě by dostupná dokumentace ke GNU GCC měla několik set stránek. Posledním informačním zdrojem jsou `vlastní' manuály a dokumentace dodané k programu nebo softwarovému balíku. Typickým místem uložení této dokumentace jsou adresáře /usr/share/doc, /usr/doc, /usr/local/doc, /usr/X11R6/doc/, a podobně. Mnoho nástrojů, programů a vývojových prostředků zde ukládá licenční informace, návody, změny (CHANGELOG), chyby (BUGS), chybějící vlastnosti (TODO), často kladené otázky (FAQs), manuály v postscriptu, dvi, html a dalších formátech, specifikace jazyků, atd. |
Dobře, existuje spousta programů a množství dokumentace,
ale jak je lze v systému vlastně najít?
V hiearchické adresářové struktuře systémů, jako je výpočetní
server THUNDER, existují typicky stovky tisíc souborů. Najít
relavantní data může být tedy poněkud komplikované.
Úkol však značně zjednodušují vyhledávací nástroje
find, locate
a which.
Příkaz find hledá v adresářové struktuře
objekty obsahující zadaný text a provádí zadané operace.
Příkaz locate provádí něco podobného, ale narozdíl
od find _neprohledává_ fyzicky disk, ale
používá již sestavenou databázi souborů. Aktualizaci databáze
zajišťuje sám systém v pravidelných intervalech.
Příkaz which opět hledá požadovaný soubor, ale
omezuje se výlučně na cestu (PATH).
Pro informace o vyhledávací cestě, viz
Konfigurace prostředí.
V následujícím uvedeme jen ukázky použití zmíněných nástrojů,
neboť...
` Pokud uživatel chce... použije příkaz...Vyhledat informace o GNU C knihovnách (glibc) v /usr/share/doc ...
find /usr/share/doc -name glibc* -print # přitom `-print' je nepovinné # a `glibc*' značí jméno # začínající na `glibc'V rodičovském adresáři (a jeho podadresářích) najít soubor article.ps ...
find .. -name article.psV aktuálním adresáři (a jeho podadresářích) najít všechny programy ve fortranu... find . -name *.fV adresáři /usr vyhledat všechny adresáře,
jejichž jméno začíná řetězcem `gimp' (gimp je GNU program pro
manipulaci s obrázky)...
find /usr -type d -name gimp*V adresáři ./public_html najít všechny soubory
(a _NE_ adresáře) jejichž jméno _nekončí_
`.html ' a provést na nich příkaz
`ls -l '... anebo zjistit počet jejich řádků...
find public_html ! -type d ! -name *.html -exec ls -l {} \; find public_html ! -type d ! -name *.html | wc -lNajít v celém systému soubory, jejichž jméno obsahuje text `gimp'... a totéž po stránkách... locate gimp locate gimp | more # klávesa [q] ukončí prohlížení v případě, # že nemáme zájem o další stránkyVyhledat v systémových částech adresářové struktury (tedy vyjma adresáře /home ) soubory obsahující ve jménu
řetězec `fft '...
locate fft | grep -v homeNajít v systému soubory, jejichž jméno obsahuje ` f77 '
a tento seznam uložit do souboru `f77_list '...
locate f77 > f77_listUrčit přesnou specifikaci programu ` f77 '
ve vyhledávací cestě...
which f77 |
Informační zdroje dostupné na Internetu
Dokumentace v tištěné formě. Literatura.
Uvedu prozatím pouze tři knihy, které existují v češtině, a o kterých si myslím, že představují nejlepší úvodní zdroj informací. První kniha obsahuje _základní_ myšlenky UNIXu, bez ohledu na konkrétní implementaci, druhá poskytuje elementární úvod do Linuxu a třetí pomůže vyřešit mnoho problémů s vývojem pod Linuxem.
A přidám úvodní učebnici jazyka C...
|