Začínáme s Amigou IVPetr Mareš
AmigaDOS je označení části operačního systému Amigy, která má na starosti práci
se soubory a vše, co s tím souvisí. Je to povídání na dlouhé zimní večery a dnes
to všechno určitě nestihneme. Ačkoliv dnešní díl Začátečníků bude více teoretický, čas od času si budeme
potřebovat „odskočit“ do Shellu, tak pro jistotu připomenu, jak se ten Shell
spouští a co to vlastně je. Ikonku Shellu máte v adresáři „Syslem“ na systémovém
disku. Jiná možnost jak ho spustit je pomocí příkazu „NewShell“, nebo „NewCli“.
Pokud si chcete přiřadit spuštění Shellu na stisk nějaké klávesové zkratky
(například pomocí některé z dostupných komodit), pak doporučuji použít kombinaci
LeváAmiga + ESC, kterážto se k tomu používá nejčastěji. Zařízení
Jedním ze základních pojmů týkajících se AmigaDOSu je takzvaný „device“ (čti
„divajs“), česky „zařízení“. Někdy se výraz „device“ chápe v trochu jiném
významu, než jak mu budeme rozumět my. Device pro nás bude jméno nějaké
jednotky, ze které se dají číst, či na kterou můžeme zapisovat data.
Nejznámějším příkladem je asi „DF0:“, reprezentující interní disketovou
mechaniku. Kompletní seznam zařízení „namontovaných“ v systému vám vypíše příkaz
„Assign DEVICES“. Je dobré ještě podotknout, že se za jménem zařízení většinou
píše dvojtečka.
Zařízení se používají buď ke čtení a zapisování souborů, nebo ke komunikaci
programu s něčím jiným. Nejdříve se budeme zabývat první skupinou. Do té patří
již zmiňovaná „DF0:“ pro práci s disketami v amigovském formátu, dále „PC0:“ pro
čtení a zápis na PC diskety, „CC0:“ pro práci s některými kartami v PCMCIA
portu, „RAM:“ jako reprezentant ramdisku, reset přežívající ramdisk „RAD:“
(pokud je dobře nastaven) a další, nevyjímaje označení partitionů harddisku
(třeba „DH0:“). Pravidla, podle kterých se přistupuje k souborům na těchto
zařízeních, bývají všude prakticky stejná, jen někde jsou rozdíly a omezení v
délkách názvů souborů a adresářů, v existenci a délce komentáře a podobně (viz
známé omezení MS-DOS disket). Jako ukázku vezměme „DF0:“ a pojďme se na
cestování mezi soubory podívat trochu podrobněji.
Otevřete si Shell a vložte do interní disketové mechaniky disketu s vaším
Workbenchem (ta by měla být vždy chráněna proti zápisu). Aktuální adresář (ten,
ve kterém se zrovna nalézáte) se mění příkazem „CD“. Napíšete-li „CD DF0:“,
dostanete se do „kořenového adresáře“ zařízení „DF0:“. Příkaz „List“ vám vypíše
jeho obsah. Soubory označené ve výpisu jako „Dir“ jsou adresáře, ostatní soubory
mají místo toho uvedenou svou velikost v bajtech. Jedním z adresářů na disketě s
Workbenchem je adresář „Devs“. Do něj se můžeme přepnout dvěma způsoby, a to
pomocí „relativní cesty“ a cesty „absolutní“. Relativní cesta je cesta, která
platí pouze v tom adresáři, kde zrovna jsme. K přepnutí do tohoto adresáře
pomocí relativní cesty nyní stačí napsat „CD Devs/“, přičemž koncové lomítko
můžeme vynechat. AmigaDOS se podívá, zdalipak v aktuálním adresáři nějaký
adresář „Devs“ existuje, a pokud ano, přepne vás do něj. Pak se můžeme stejným
způsobem přepnout do adresáře „Monitors“, který se v „Devs“ nalézá. Pokud bychom
se ale chtěli dostat zpět do kořenového adresáře, máme na to hned několik
možností:
Obyčejné lomítko „/“ znamená „vyšší adresář“, v programech často označovaný jako
„Parent“. Z „Devs“ se tedy do „kořene“ dostaneme pomocí „CD /“.
Dvojtečka „:“ v označení cesty znamená kořenový adresář. Ať jsme tedy kde jsme,
příkaz „CD:“ nás vždy dostane do kořenového adresáře toho zařízení, na kterém se
zrovna nalézáme. Před dvojtečkou již může být napsáno jen jméno zařízení, do
jehož kořene se chceme přepnout. Pokud je v označení cesty jméno zařízení a
dvojtečka, jedná se o cestu absolutní, což jest třetí možnost, jak se dostat do
kořene na „DF0:“ - příkaz „CD DF0:“.
Relativní cesty se dají za sebe řetězit. Jsme-li v adresáři „DF0:Devs“ a
chceme-li přejít jedním příkazem do adresáře „DF0:Prefs“, zřetězíme relativní
cestu pro vyšší adresář „/“ a relativní cestu, která by nás dostala z tohoto
vyššího adresáře do adresáře „Prefs“. Výsledný příkaz je tedy „CD /Prefs“.
Řetězit se za sebou dají i pouhá lomítka, například z adresáře
„DF0:Obrázky/Sprosté/Nechutné“ se příkazem „CD ///“ dostaneme zase rychle zpět
na „DF0:“.
Pokud chcete označit adresář ve kterém se zrovna nacházíte, můžete použít
absolutní cestu, nebo stačí napsat dvě uvozovky za sebou. Ve skutečnosti ani
není nutno používat příkaz „CD“. Když na příkazový řádek napíšete jméno souboru,
Shell se ho pokusí spustit jako příkaz, a pokud je tím souborem adresář, Shell
do něj vstoupí.
To bychom měli souborově orientovaná zařízení. Z té druhé skupiny uvedu ta
standardní. „SER“ a „PAR“ jsou vstupně výstupní zařízení obsluhující sériový a
paralelní port, „PRT“ slouží jako výstup na tiskárnu a „AUX“ zprostředkovává
přístup na sériový port bez vyrovnávací paměti. „PIPE“ se používá pro rychlejší
přelévání dat mezi programy a zařízení „CON“ a „RAW“ umí otevřít okénko, psát do
něj a načítat z klávesnice. Rozdíl mezi „CON“ a „RAW“ je ten, že „CON“ čte z
klávesnice po řádcích a dovoluje vám zadávaný řádek editovat (v okně zařízení
„CON“ běží například Shell), kdežto „RAW“ nic takového nedělá.
Teď už zhruba víte co máte, teď to ještě umět používat. Bohužel ne všechny
zařízení se používají stejně. Ukážeme si to na několika příkladech.
Příkaz „Copy SYS:s/SPat PRT:“ zkopíruje soubor „SPat“ umístěný v adresáři „s“
systémového disku na zařízení tiskárny, což způsobí, že se soubor vytiskne
(máte-li funkční tiskárnu).
Příkaz „Copy SYS:s/SPat CON:0/0/640/200/Výstup/WAIT/CLOSE“ vypíše tentýž soubor
do okénka typu „CON“, pojmenovaného „Výstup“, umístěného do levého horního rohu
obrazovky, širokého 640 a vysokého 200 bodů. Tyto parametry jsou, jak vidíte,
zapsané za jménem zařízení, oddělené lomítky. Parametr „WAIT“ způsobí, že po
vypsání textu bude okno čekat na stisk tlačítka pro zavření okna („close
gadget“), které jsme tam přidali parametrem „CLOSE“. Pokud nám nijak nezáleží na
vlastnostech okna, můžeme libovolný parametr vynechat, což může dopadnout třeba
takto: „Copy CON://///CLOSE RAM:pokus“ - Tento příkaz otevře okno bez názvu, vy
do něj napíšete něco, co se vysype do souboru „RAM:pokus“ a pak to ukončíte
kliknutím na tlačítko pro zavření okna, nebo zmáčknutím CTRL + , čímž
signalizujete ukončení vstupu z klávesnice. Se zařízením „RAW“ je to podobné,
ale okno samotné nemůžete zavřít vy jako uživatel, ale musí to udělat program,
který z něj čte. Navíc se zadávané znaky do okna ani nevypisují.
Pokud ve výstupu příkazu „Assign DEVICES“ marně hledáte zařízení „PC0“, „AUX“,
„PIPE“ nebo jiné, je to tím, že se některé zařízení musí takzvaně „namontovat“.
Chcete-li třeba namontovat zařízení pro čtení PC disket, nejjednodušší je napsat
v Shellu „Mount PC0:“. Jestliže jste spíše přes klikání a klávesnici se raději
vyhýbáte, pak dvojklikněte na ikonku „PC0“ v adresáři „Storage/DOSDrivers“,
výsledek bude stejný. Další logická zařízení
Device, jak jsme si jej před chvílí popsali, není jediným prostředkem, jak
přistupovat k souborům. V AmigaDOSu ještě existují „disky“ a „assigny“ (čti
„asajny“), se kterými se pracuje podobně jako se zařízeními. Představu disku si
můžeme přiblížit na příhodném příkladu, kterým bude zase „DF0:“. Pokud do
interní mechaniky vložíme disketu naformátovanou na jméno „Data“, pak se nám
objeví v seznamu disků (anglické označení je „Volume“). Spustíte-li si příkaz
„Info“, ukáže se vám výpis, v jehož prvním sloupečku (označeném „Unit“) jsou
jména zařízení, které mohou hostit logické disky, ne náhodou jsou to ty, které
jsou „souborově orientované“. Poslední sloupeček výpisu (nadepsaný „Name“)
obsahuje jména disků v daných zařízeních. V našem případě by to byl disk „Data“.
Během doby, kdy je tato disketa v mechanice „DF0“, můžete psát cestě k souboru
slovo „Data:“ místo slova „DF0:“. V momentě, kdy disketu vytáhnete a do
mechaniky zasunete jinou, přestane jméno „Data:“ platit. Pokud se na něj i
přesto budete odvolávat, systém vás požádá, aby jste disk s tímto jménem vložili
do nějaké mechaniky. Naproti tomu bude označení „DF0:“ stále platné a bude
označovat disketu, která je zrovna v mechanice. Zařízení, do kterých se žádná
disketa nevkládá (například „RAM:“), mají rovněž přiřazené logické disky.
Posledním pojmem, který si dneska rozebereme, je „assign“. Assign je možno
chápat jako zkratku za jméno nějakého adresáře. Lépe to pochopíte na příkladě.
Příkaz „Assign ENV: RAM:Env/“ vytvoří logické zařízení se jménem „ENV:“, které
bude ukazovat do adresáře „RAM:Env/“. Na co se dá takovýto assign použít, je
zřejmé. Už hned po nabootování jich je několik v systému vytvořeno. Například
assign „LIBS:“ ukazuje na systémový disk do adresáře „Libs“, kde jsou schovány
sdílené knihovny. Když pak systém dostane na práci otevřít nějakou knihovnu,
koukne se do logického zařízení „LIBS:“, a pokud tam hledanou knihovnu najde,
otevře ji. Pokud se však rozhodnu, že chci aby se knihovny otevíraly odjinud,
stačí „LIBS:“ přiřadit někam jinam, budiž příkladem „Assign LIBS:
SYS:MojeLibs/“. Jiná výhoda je v tom, že jeden assign může ukazovat na více míst
najednou. Pokud se pak rozhodnete, že budete mít knihovny i v adresáři
„XXX:YYY/“, stačí na to systém upozornit příkazem „Assign LIBS: XXX:YYY/ ADD“.
Uf... To by snad mohlo být pro dnešek všechno. Snad vás ta hromada teorie příliš
moc neotrávila. Příště bychom se trošku podívali na Shell, alespoň „jen tak z
letadla“, ať vidíte, co s tím lze všechno napáchat. Do té doby se mějte fajn a u
dalších (tentokrát již pokročilejších) začátečníků nashledanou. 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
|