| AmigaDOS I.Jan Hlavatý
 Milí přátelé, možná jste si už položili otázku, co se děje těsně po zapnutí 
Amigy ještě než se objeví známý screen Workbenche. Harddisk chrochtá, disketová 
mechanika pobíhá sem tam a nic není vidět. Manuál k Workbenchi vám v tomto 
případě bohužel nepomůže - není to v jeho kompetenci. Co potřebujete je manuál k 
DOSu a ten se u „low end“ Amig většinou vůbec nedodává. Pro uživatele, které 
Amiga vůbec nezajímá a jenom potřebují občas něco spustit z Workbenche žádný 
problém - dokud všechno funguje jak má. Pro tento druh lidí zůstanou názvy jako 
„startup-sequence“, „user-startup“ nebo „assign“ navždy nesrozumitelným 
blábolem, o kterém maximálně vědí, že „tam někde“ existuje. Pro ty zvědavé 
uživatele, kteří neustanou dokud nepochopí Amigu do posledního bajtu aby mohli 
cele vejít do jejího „kyberprostoru“, které nakonec nic nepřekvapí a kteří 
nejsou závislí na milosrdenství „zasvěcených“, nebol oni sami jsou zasvěcenými - 
pro tyto uživatele je určen tento seriálek. Pokusím se v něm zachránit co se dá 
tedy uvést čtenáře do problematiky DOSu. Kromě úplných základů (které dozajista 
už většinou znáte, ale jistota je jistota) zde uvedu kompletní seznam příkazů 
AmigaDOSu 3.0/3.1 včetně jejich praktického použití a probereme zde i 
problematiku scriptů („startup-sequence“ je speciálním případem scriptu). 
Patříte-li do oné druhé skupiny uživatelů, čtěte dál! Pokud ne, možná později - 
pokud vám zvědavost nedá... Tedy do toho! Úplné základy - pro jistotuJak jistě víte, data se obvykle ukládají do tzv. „souborů“ (files). Soubor 
je skupina bajtů uložená na nějakém médiu, která má svoje unikátní jméno, délku 
(počet bajtů v souboru) a některé další vlastnosti, jako jsou ochranné příznaky 
souboru (file attributes) nebo komentář souboru. Nejprve se podíváme podrobněji 
na tyto základní vlastnosti souborů.
 Jméno souboru je maximálně 30 znaků dlouhý řetězec zobrazitelných znaků.
 Ve jméně souboru by neměly být obsaženy některé znaky vyhrazené pro speciální 
účely, tedy konkrétně „:“ (dvojtečka), „;„ (středník), „*“ (hvězdička), „/“ 
(normální lomítko), ?“ (otazník), „„ (obrácený apostrof, „#“ (křížek, hash) a 
„%“ (procento).
 O významu těchto speciálních znaků se budu šířit později, až se budu zabývat 
oblastí kde se jejich použití vyskytuje. To, že tyto znaky jsou vyhrazené ještě 
neznamená, že by do jména souboru dát nešly - některé z nich jdou, ale mohli 
byste se pak dostat do situace kdy budete chtít zadat jméno dotyčného souboru, 
ale toto jméno bude (díky speciálnímu znaku) interpretováno jako něco úplně 
jiného... tedy speciální znaky ve jménech pokud možno nepoužívat! Dalším znakem 
který sice ve jménu používat lze ale přiděláte si tím práci je mezera. Protože 
mezera je u příkazů AmigaDOSu používána pro oddělování jednotlivých parametrů 
příkazu, je-li jako parametr zadáváno jméno souboru které obsahuje mezeru, je 
nutné ho uzavřít do uvozovek - jinak by bylo rozpoznáno jako více různých 
parametrů. Jméno souboru je tzv. „case insensitive“ - tedy nečiní se rozdíl mezi 
malými a velkými písmeny. Tady musím upozornit na určitý zádrhel s češtinou - u 
starších filesystémů (OFS, FFS) nejsou znaky češtiny - malá a velká písmena s 
diakritikou, tedy s kódy nad 128 - brána jako jedno písmeno! Malé „č“ tedy není 
stejné písmeno jako velké „Č“! Proto doporučuji používat „international“ verze 
filesystémů - FFS INTERNATIONAL a FFS DIRCACHE, pokud chcete ve jménech souborů 
používat češtinu (což není zase tak špatný nápad).
 Adresáře jsou jakési „šuplíčky“ na médiu, do kterých lze vkládat soubory nebo 
další adresáře (Sorry, experti.. říct sem to musel). Jsou pojmenovávány stejně 
jako soubory (30 znaků jméno. platí totéž co pro soubory ohledně vyhrazených 
znaků) a mají i některé podobné atributy (komentář, ochranné příznaky - i když 
ty fungují trošičku jinak). Adresáře umožňují udělat si v souborech pořádek - 
mít třeba programy v jednom adresáři se jménem „programy“ a obrázky v druhém se 
jménem „obrázky“. Adresáře lze vkládat jeden do druhého, takže si uvnitř 
adresáře „obrázky“ můžete udělat další adresáře, třeba podle druhu obrázku 
„auta“, „kytičky“, „holky“...
 Jak jsem řekl, soubory a adresáře lze vytvářet na médiu. Takové médium, to může 
být třeba disketa, harddisk nebo paměť počítače. Aby bylo možno tato média 
rozlišovat, je potřebuje nějak pojmenovat. Navíc je třeba rozlišovat jednotlivá 
výměnná média. která mohou být vložena do stejné mechaniky. Existují tedy v 
podstatě dva druhy jmen médií, lišící se ve způsobu odkazu na médium. Prvním 
druhem jmen jsou jména „dosových zařízení“ (neplést se zařízeními execu 
nacházejícími se v „DEVS:“). Tato jména se odkazují na konkrétní mechaniku a 
médium v ní právě vložené. Nečiní tedy rozdílu mezi výměnnými médii. Takovým 
označením je třeba jméno disketové mechaniky – „DF0:“. Všimněte si dvojtečky na 
konci jména - to je neklamný znak, že nejedná o jméno média a ne o název souboru 
nebo adresáře. Jména dosových zařízení (dos devices) jsou obvykle takovéto 
třípísmenné kryptogramy - „DF0:“, „DF1:“, „HD0:“, „DH0:“, „RAD:“, „RAM:“, „PC0:“ 
a podobně...
 Druhým typem označení je jméno samotného média - tedy ne mechaniky (volume). To 
je třeba jméno diskety „Workbench3.1:“. V tomto případě se rozlišují jednotlivá 
média podle jejich pojmenování a nezáleží ve které mechanice se právě nacházejí 
- to si dos zjistí (a pokud se nenachází v žádné mechanice, dos si o něj řekne 
známým requesterem...). Jména médií bývají obvykle obsažnější a výstižnější než 
jména zařízení, aby člověku bylo okamžitě jasné co se na daném médiu nachází. Je 
to určitá analogie k popisu na nálepce diskety (odtud také označení „volume 
label“). Když zformátujete novou disketu, přiřadí jí systém obvykle jméno 
„Empty“ nebo „Prázdný“ v případě české lokalizace. Když na disketu něco 
nahrajete, je vhodné ji vhodně přejmenovat dle obsahu -jinak se těžko v hromadě 
stejných disket se jmény „Empty“ něco hledá...
 Každé médium má minimálně jeden adresář - tzv. „root“. Ten odpovídá základnímu 
umístění souborů na médiu bez jakýchkoliv adresářů, přímo na „základní úrovni“. 
Na root directory média se odkazujeme přímo jménem média. Umístění souboru ve 
struktuře adresářů na médiu se popisuje tzv. „cestou“ (path). To je v podstatě 
popis, obsahující jméno média a jména všech adresáře kterými je nutno projít, 
abychom se dostali k danému souboru a na konci pak jméno souboru. Na výše 
uvedeném obrázku je nakreslen příklad struktury diskety „Obrázky:“. Na této 
disketě se nachází pět obrázků ujeden textový soubor „CoJeTu.txt“. Obrázky jsou 
zařazeny v adresářích podle jejich typů. V adresáři „Auta“jsou dva obrázky - 
„Formule.iff“ a „Trabant.iff“ V adresáři „Holky“ se nachází obrázek „Buchta.iff“ 
a adresář „Super“ se dvěma dalšími obrázky – „Girl.gif“ a „Idol.iff“. Na tomto 
příkladu struktury disku si ukážeme tvorbu cest.
 Úplné jméno souboru (tedy včetně cesty) se tvoří tak, že se napíše jméno média s 
dvojtečkou na konci, za to se připojí jména adresářů kterými procházíme na cestě 
k souboru (od rootu) s „/“ na konci každého jména adresáře, a nakonec se připojí 
jméno souboru. Budeme-li chtít například napsat úplný název souboru „Girl.gif“ 
napíšeme ji jako (sledujte cestu po grafu struktury naší diskety „Obrázky:“):
 Obrázky:Holky/Super/Girl.gif
 Jak vidíte, část před „:“je jméno média („Obrázky:“), „Holky“ je jméno adresáře 
v rootu diskety „Obrázky:“. „Super“ je jméno adresáře uvnitř adresáře „Holky“, a 
„Girl.gif“ je jméno souboru uvnitř adresáře „Super“. Teď už víte, proč se ve 
jménech souborů a adresářů nesmí vyskytovat znak „/“?
 Vypisovat pokaždé úplné jméno souboru by byla „hrozná otrava“. Existuje tedy 
možnost psát jména souboru relativně vůči nějakému místu ve struktuře média. 
Takovýto referenční bod od kterého se odvozuje umístění souborů a adresářů 
zapsaných relativně (neúplná cesta) se jmenuje „implicitní adresář“ (current 
directory). Toto místo lze různě přesouvat ve struktuře disku podle potřeby. 
Neúplná (relativní) cesta k souboru se pozná podle toho, že na začátku 
neobsahuje jméno souboru. Pro ilustraci řekněme, že náš implicitní adresář 
nastavíme na „Obrázky:Holky“. Odtud se lze na „Girl.gif“ odkázat relativně 
pomocí:
 Super/Girl.gif
 Protože „Buchta.iff“ se nachází přímo v implicitním adresáři, lze se na ni 
odkázat přímo jménem souboru: Buchta.iff
 Obecně platí, že jménem implicitního adresáře je prázdný řetězec. U většiny 
příkazů AmigaDOSu tedy pokud neuvedete jméno adresáře bude jako adresář brán v 
úvahu implicitní adresář. Pokud je uvedení adresáře vyžadováno, lze implicitní 
adresář zadat jako prázdný řetězec - „“. Teď bych se měl zmínit o speciálním 
významu znaků „/“ a „:“ v relativním jménu souboru. Znak „/“ samotný (tedy s 
prázdným jménem adresáře před ním) označuje adresář nadřazený (parent directory) 
adresáře nebo souboru - tedy adresář, ve kterém se daný adresář nebo soubor 
nachází. Z našeho implicitního adresáře „Obrázky:holky“ se tedy můžeme relativně 
odkazovat i „nahoru“ - třeba na textový soubor „CoJeTu.txt“ se odsud dostaneme:
 /CoJeTu.txt
 Pokud se jménem a cestou odkazujeme na adresář, je v podstatě jedno jestli na 
konci uvedeme poslední „/“: „Super“ je totéž co „Super/“. Lomítko na konci se 
používá obvykle jen v případě že za jménem adresáře následuje další jméno (ať už 
souboru nebo adresáře). Pokud bychom napsali „Super//“, jedná se o adresář 
nadřazený podadresáři „Super“ implicitního adresáře, skončíme tedy zpátky v 
implicitním adresáři: jsou tu dvě jména adresářů „Super“ (což nás přenese 
dovnitř adresáře „Super“) a prázdné jméno „“, což označuje nadřazený adresář 
(což nás přenese zpět). Nic nám samozřejmě nebrání postupovat od nadřazeného 
adresáře zase „dolů“ - třeba k souboru „Trabant.iff“:
 /auta/trabant.iff
 Jdou provozovat i naprosté šílenosti typu:
 /auta/trabant.iff//
 což je odkaz na adresář „Auta“ všimněte si že „trabant.iff“je jméno souboru! 
Praktické využití něčeho takového je snad jediné - matení uživatele.
 Druhým znakem se speciálním významem je „:“. Je to v podstatě prázdné jméno 
média - prázdné jméno ukončené „:“. Tato konstrukce označuje „root“ adresář 
média, na kterém se nachází náš implicitní adresář. Tímto způsobem se například 
můžeme odkazovat na soubor „CoJeTu.txt“ v rootu diskety pokud máme implicitní 
adresář kdekoli na této disketě:
 :CoJeTu.txt
 Všimněte si, že root už nemá žádný nadřazený adresář! Konstrukce typu
 :/
 tedy skončí chybou „objekt nenalezen“. Teď nám zbývá už jenom popsat co je to 
„assign“. Assign (přiřazení?) je způsob, jak si udělat jakési „záložky“ ve 
struktuře disků (myslím tím médií obecně). Můžete si vybrat nějaké místo ve 
struktuře média, a toto místo si označit. Tuto značku nějak pojmenujete - a ta 
se pak chová podobně jako jméno média - má na konci „:“. Na rozdíl od jména 
média však nemusí nutně ukazovat na root a pozor - nemusí nutně ukazovat ani na 
adresář! Je proveditelné přiřazení assignu na soubor (!!). Tento druh assignu 
však není příliš využitelný a dokáže zastihnout leckterý program nepřipravený... 
jediné co se mi povedlo s ním provést bylo přiřazení assignu na jméno 
spustitelného souboru a následné spuštění tohoto souboru pomocí assignu a ne 
jména. Prosím raději nepoužívat! Existuje několik druhů assignů (tedy tři):
 První („normální“) assign přiřadí okamžitě po jeho vytvoření daný objekt jménu 
assignu. Pokud třeba dáte assign na nějaký adresář na disketě, DOS si od vás 
tuto disketu vyžádá a pak natrvalo vytvoří assign na tento konkrétní adresář. 
Pokud se později odkážete na tento assign a disketa na které se onen adresář 
nachází nebude zrovna v mechanice, DOS si ji opět od vás vyžádá.
 Druhý („opožděný“) druh assignu je shodný s druhem prvním s tím rozdílem že si 
danou disketu nevyžádá ihned ale až při prvním vašem odkazu na ni - do té doby 
existuje jen jakýsi „zárodek“ assignu.
 Třetí („nestálý?“) druh assignu funguje trochu jinak - assign se nepřiřadí 
natrvalo, ale při každém odkazu na jméno tohoto assignu se zadaná cesta 
vyhodnocuje znovu. Pokud například vytvoříte assign tohoto druhu se jménem „CC:“ 
který se odkazuje na „DF0:c“, při každém odkazu na „CC:“ se bude jednat o 
adresář „C“ na jakékoli disketě která je v mechanice „DF0:“!
 Druhou oblastí na kterou se dnes podíváme jsou patterny. Pattern („vzor?“) je 
způsob, jak popsat jméno souboru na základě neúplné informace, nebo jak zadat 
skupinu jmen souborů s určitými vlastnostmi. Mechanismus patternů je v AmigaDOSu 
poměrně komplikovaný, ale o to silnější.
 Funkce patternu je asi takováto: Program prohledá všechny položky v daném 
adresáři a jméno každé z nich porovná s patternem. Pokud vyhovuje, je tato 
položka použita. Pro vyjádření vzorů se používá několik vyhrazených znaků:
 „?“ (otazník) - zastupuje právě jeden jakýkoliv znak
 „(“<znaky>„)“ - skupina znaků která se bude brát jako jeden prvek
 „#“<znak> - znamená že znak následující za „#“ (nebo kombinace znaků uzavřených 
do kulatých závorek) se ve jménu může vyskytovat kolikrát chce - včetně žádného 
výskytu.
 <znak>„|“<znak> - seznam znaků oddělených svislou čárou znamená, že na daném 
místě jména se může vyskytovat jeden ze zde uvedených znaků. Místo jednotí. 
znaků zde mohou zase být skupiny znaků v kulatých závorkách.
 „~“<znak> - (vlnovka) - na tomto místě se nesmí vyskytovat tento znak (nebo 
skupina znaků).
 „%“ (procento) - označuje žádný znak. Vhodné pro seznam znaků (viz „|“) jako 
jedna z možností.
 „[“<znak>„-“<znak>„]“ - označuje rozsah znaků (např.[A-Z]jsou všechna písmena)
 Pokud se ve jméně souboru vyskytuje některý z těchto znaků (např. závorka), lze 
přidáním „`“ (apostrofu) před kritický znak sdělit že tento znak se má brát tak 
jak je, ne jako součást definice patternu. Následuje několik příkladů na 
patterny:
 #? - jakýkoli počet jakýchkoli znaků = cokoli. Jako „*“ na PC.
 ?hoj -jméno začíná jakýmkoli znakem a končí „hoj“. Vyhovuje např. „Ahoj“, 
„ohoj“, „zhoj“, „_hoj“
 #?.txt - jméno musí končit na „.txt“. Vyhovuje např. „test.txt“, „1 .txt“, 
„.txt“
 test#? - všechno co začíná „test“ vyhovuje např. „test“, „test.asm“
 a#?z - všechno co začíná na „a“ a končí na „z“ - vyhovuje třeba „az“, 
„abcdefghiz“
 ba#af! - všechno co začíná „b“, má uprostřed nejméně jedno „a“ a končí „f!“ - 
vyhovuje např. „baf!“, „baaf!“, „baaaaaaaaaaaaaaf!“
 rata#(ta)! - všechno co začíná „ra“, uprostřed má minimálně jednou „ta“ a končí 
„!“ - vyhovuje např. „rata!“, „ratatata!“, „ratatatatatatatatatatatatata!“ 
(šílený kulometčík)
 #`?.(txt|koi) - jméno musí končit na „.txt“ nebo „.koi“
 b(a|u|%)f - jméno které začíná „b“, končí „t“ a uprostřed muže mít „a“ nebo „u“ 
nebo nic - vyhovuje: „baf`, „buf“, „bf“
 -(#?.info|#?.auts|#?.bak) - všechno co nekončí na „.info“, „.auts“ nebo „.bak“
 ([A-Z]|_)#([A-Z]|[0-9]|_) - jméno složené z písmen, číslic a podtržítka, které 
nesmí začínat číslicí - syntaxe symbolů ve většině programovacích jazyků
 Abyste si mohli získané poznatky náležitě vyzkoušet, popíšu už dnes některé 
příkazy AmigaDOSu, i když jen zevrubně. Příkazy AmigaDOSu ze zadávají většinou v 
okně Shellu, nebo můžete použít menu Workbench/Execute command... (nebo 
Workbench/Vykonat příkaz...). K vytvoření okna shellu můžete použít ikonu 
„Shell“ v adresáři „Syslem“ bootovacího disku, nebo zadat příkaz „NEWSHELL“ do 
requesteru Workbenche který se zobrazí po volbě položky menu „Workbench/Execute 
command...“. Takto vytvořené okno lze zavřít Close gadgetem okna, nebo příkazem 
„ENDSHELL“ nebo „ENDCLI“. V tomto okně Shellu můžete zadávat příkazy AmigaDOSu a 
ten je bude okamžitě vykonávat. Standardně má dotaz AmigaDOSu na příkaz (tzv. 
„prompt“) tvar: <číslo procesu shellu>„.“<implicitní adresář>„>“ a za ním se 
nachází kurzor. Nyní můžete psát jméno příkazu který chcete vykonat, případně 
mezeru a parametry příkazu oddělené mezerami. Zkuste si tyto příkazy:
 CD - bez parametrů vypíše současné umístění vašeho implicitního adresáře
 CD <adresář> - pokud jako parametr zadáte cestu (jméno adresáře), přesunete svůj 
implicitní adresář do tohoto adresáře.
 DIR - bez parametrů vypíše přehled objektů (souborů a adresářů) nacházejících se 
v implicitním adresáři DIR <adresář> - pokud napíšete jako parametr adresář, 
vypíše se obsah tohoto adresáře
 TYPE <jméno souboru> - vypíše obsah textového souboru do okna Shellu. Zkuste 
třeba „TYPE startup-sequence“
 MAKEDIR <jméno adresáře> vytvoří nový adresář. „MAKEDIR Ahoj“ se pokusí vytvořit 
nový adresář ve vašem implicitním adresáři.
 DELETE <jméno souboru> - smaže soubor nebo prázdný adresář (pozor! nesmažte si 
něco! Pokusy dělejte pokud možno v RAM:)
 ECHO <text> - vypíše text do okna Shellu. Pokud výstup příkazu přesměrujete (o 
čemž si povíme příště) do souboru, můžete si vytvořit malý textový souborek. 
Např. „ECHO >RAM:test.txt Nazdárek!“ vytvoří v RAM: textový soubor „test.txt“, 
který si můžete vypsat příkazem „TYPE RAM:test.txt“
 DATE - vypíše aktuální systémové datum a čas
 RENAME <původní jméno> <nové jméno> - přejmenuje soubor nebo adresář. Lze jím 
také přesouvat objekt v rámci jednoho zařízení (média), pokud napíšete u nového 
jména cestu lišící se od původní.
 LIST - podobně jako DIR obsah adresáře, ale zobrazí vypisuje mnohem více 
informací o souboru a umožňuje některé zajímavé věci. Zkuste třeba tohle:
 LIST <adresář> FILES LFORMAT „soubor %s má délku %l!“
 To je pro dnešek vše - na závěr ještě jedna rada: pokuste se sehnat si prográmek 
jménem „KingCon“ umožňuje pohodlnější práci s okny Shellu. Pilně experimentujte, 
a příště se podíváme na příkazy AmigaDOSu blíže.
 Vytlačiť článok 
 
 Pozn.: články boli naskenované ako text a preto obsahujú aj zopár chýb. Taktiež neručíme za zdrojové kódy (Asm, C, Arexx, AmigaGuide, Html) a odkazy na web. Dúfame, že napriek tomu vám táto databáza dobre poslúži.
 Žiadna časť nesmie byť reprodukovaná alebo inak šírená bez písomného povolenia vydavatela © ATLANTIDA Publishing
 
 
 
none 
 |