Obcování s ďáblem - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Seriály

Více seriálů



Informace

Obcování s ďáblem

26. července 2001, 00.00 | Ačkoli příkazový řádek vyvolává v pravověrných uživatelích Maca nevolnost, vyplatí se s ním umět zacházet: zde si vysvětlíme jak.

Existuje-li vůbec pro pravověrného uživatele Maca něco jako ďábel, určitě to je příkazový řádek: taková nepřehledná, nesrozumitelná, komplikovaná, nebezpečná a vůbec nemakovská věc přeci nemá ve slušném operačním systému co dělat! Na druhou stranu, je vhodné si připomenout, že pekelník jménem Mefistofeles jistému Johanu doktoru Faustovi poskytoval nesmírně cenné a nenahraditelné služby; pokud by doktor Faust zachoval základní pravidla o bezpečnosti práce, nemuselo dojít ani k oné infámní příhodě s dírou ve stropě.

Nejinak je tomu s příkazovým řádkem: jistě, není tak snadné jej používat, jako WYSIWYG rozhraní; na druhou stranu však nabízí zcela běžnému uživateli nesmírně bohatou paletu služeb, jež by v GUI nikdy nemohly být k dispozici: některé z nich by bez příkazového řádku nepřipadaly v úvahu vůbec, na jiné bychom museli mít specializované aplikace. Zachováme-li navíc pár jednoduchých základních pravidel, není pravděpodobnost, že v příkazovém řádku něco "zprasíme" o nic větší, než v GUI.

(Apropos, jistě všichni víte, že GUI je "Graphical User Interface" aneb grafické uživatelské rozhraní, zatímco WYSIWYG je zkratkou za "What You See Is What You Get", což znamená, že co vidíte, to také dostanete -- a ani ň navíc. Já osobně vždy preferoval podniky typu "co nenaleznete ve výloze, hledejte uvnitř".)

Uživatelé nejnovějšího operačního systému Mac OS X dnes příkazový řádek k dispozici mají, a je to ten nejluxusnější a nejbohatší ze všech příkazových řádků, které kdy existovaly: plnohodnotný unixový shell. Díky tomu můžeme na Macu dnes využívat služeb, o kterých se např. uživatelům wintelů s jejich DOSovským příkazovým řádkem ani nezdá.

Proč bych se s tím měl trápit, když to nepotřebuji?

Samozřejmě, že v Mac OS X nikdo příkazový řádek využívat nemusí. Na druhou stranu, v řadě případů je prostě požadovaná služba v příkazovém řádku pohodlnější, a nabízí větší flexibilitu; ti, kdo příkazového řádku využívat nechtějí, si tedy přidělávají zbytečnou práci navíc. Každý asi pracuje s počítačem malinko jinak; uvedu proto několik příkladů, ve kterých je příkazový řádek k nezaplacení zrovna pro mne:

Nedávno, když jsem připravoval českou klávesnici pro Mac OS X (mimochodem, je volně k dispozici na http://www.ocs.cz/apps/4K78_CzKbd.tar.gz; nedoporučuji vám ji však, protože je Unicodová, a Mac OS X vinou nesmyslného Carbonu s Unicode neumí pracovat korektně), bylo zapotřebí prohledat všechny systémové resource soubory, a najít ty z nich, které obsahují KCHR nebo UCHR resourcy. Na takovou práci Sherlock nestačí; služby příkazového řádku to však zvládnou bez nejmenších obtíží.

Chci-li uvolnit místo na disku, dělávám občas jiný trik: procházím všechny projekty, které mám na disku uloženy (a je jich hodně na různých místech, protože pracuji na různých skupinách projektů pro nejrůznější účely), a ty z nich, které jsou starší než dva měsíce, "vycleanuji" (tj. vyžádám si smazání všech generovaných souborů). Možná by se na to dal napsat AppleScript, ale rozhodně by to nebylo nijak jednoduché; v příkazové řádce na to stačí jediný příkaz.

U programování ještě chvíli zůstaneme: občas potřebuji provést nějakou ne úplně jednoduchou změnu v několika projektech: změním třeba službu z některé z vlastních knihoven tak, že má argument navíc, a ještě se třeba dva z původních argumentů pro lepší čitelnost volají v opačném pořadí. Nyní je ovšem zapotřebí projít projekty, zjistit, ve kterých zdrojových souborech je služba použita, vhodným způsobem upravit její volání... I s velmi kvalitním editorem zdrojových textů by to znamenalo spoustu ruční práce; s příkazovou řádkou a standardním editorem sed na to stačí jediný příkaz, o jehož běh se vůbec nemusím starat.

Občas také nechávám běžet na pozadí nebo na jiném počítači zpracování rozsáhlých dat. Ne vždy mají programy, jež je provádějí, "teploměr", kterým by indikovaly jak jsou daleko; v příkazovém řádku si však mohu snadno vyžádat, aby se řekněme každou minutu zobrazil stav a velikost daného souboru...

Nemluvě už o takových věcech, že např. v poslední době používám v příkazovém řádku i ladicí program gdb, protože firma Apple podporu ladění v novém ProjectBuilderu "vylepšila" tak, že je zhola nepoužitelná. To ukazuje další výhodu příkazového řádku: jsou-li GUI aplikace z nějakého důvodu pro nějakou práci navrženy mizerně, máme příkazový řádek vždy jako poslední útočiště; kdyby jej nebylo, měli bychom smůlu.

Podobných příkladů může být řada, pro každého jiné. Myslím proto, že se v každém případě vyplatí se naučit s příkazovým řádkem pracovat. Pro ty, kdo se mnou souhlasí, je určen tento seriál.

Na co se můžeme těšit?

Hned v příštím dílu se pustíme do práce: vysvětlíme si, jak se s příkazovým řádkem v Mac OS X vůbec pracuje a seznámíme se s aplikací Terminal. Řekneme si také, co to znamená slovo "shell" (už jsme jej jednou použili, prozatím bez bližšího vysvětlení), a jaký je význam záhadných nápisů jako "c-shell", "z-shell", nebo dokonce "Bourne shell".

Samozřejmě, že máte-li jakékoli připomínky nebo náměty, budu velice rád pokud mi !

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Tipy a Triky  

 » Rubriky  » Začínáme s  

 » Rubriky  » Software  

Diskuse k článku

 

Vložit nový příspěvek   Sbalit příspěvky

 

???

Autor: claire Muž

Založeno: 26.07.2001, 18:07
Odpovědí: 0

neda mi to abych se nezeptal, opravdu musi byt pravoverny (co to je?) macar 'blby' klikac (co je spatneho na mysi?) neznaly ssh a komad lajny obecne?

opravdu si vsichni linuxari mysli, ze win je sh*t a oni jsou vyjimecni?

mam pocit, ze it je hned po politice 'nejdivnejsi obor' - jsem v oboru zu par let a jedina vec, kterou silne vnimam, jsou lzi, polopravdy, osocovani, demagogie, elitarstvi, populismus ...

Odpovědět na příspěvek

RE: ???

Autor: Nonejm Muž

Založeno: 26.07.2001, 20:26

Hele, urcite mas v necem pravdu, svet neni uplne normalni misto pro zivot....:o))) Vsichni nejsme uplne ti nejchytrejsi, ale taky ne uplne nejblbjejsi... Ale na druhou stranu: Tenhle clanek je fakt slusnej a ja dekuju autorovi ze ho napsal. Preci nechces cist porad dokola jen kecy o tom, jak bude "mooozna" vypadat pristi kisna Powermaca. Tenhle clanek (a doufam i jeho pokracovani) prezije mnohem dyl, nez jine - tolik popularni spekulace.

Odpovědět na příspěvek

RE: RE: ???

Autor: claire Muž

Založeno: 27.07.2001, 09:03

co se urovne clanku tyce, souhlasim :)

stejne tak s tou kisnou, ktera je pro mekare urcite dulezitejsi nez j hubbard (nedalo mi nerypnout si) :)

Odpovědět na příspěvek

RE: RE: RE: ???

Autor: Jerry III Muž

Založeno: 13.08.2001, 09:51

Tak ja zase s urovni souhlasit nemuzu. Autor si hraje na chytraka. Jeho poznamka o tom, ze Win prikazovej radek nic neumi podlozena ... hmmm ... jeho snem? Co takhle napsat co treba neumi? Samozrejme jen pro to, abych sem mohl napsat jak to udelat ;) Je velice malo veci co umi *nix shelly oproti Win prikazovy radce. A nebudeme pocitat programy co se daj z command lajny pustit, protoze pustit program umi kazda. Bavime se vylozene o funkcich shellu.

Odpovědět na příspěvek

RE: RE: RE: RE: ???

Autor: OC Muž

Založeno: 13.08.2001, 10:39

Jerry,

rs> poznamka o tom, ze Win prikazovej radek nic neumi podlozena ... hmmm ...
rs> jeho snem?

Dlouhodobou zkusenosti s jeho pouzivanim. Prikazovy radek MS DOSu pouzivam cca patnact let (a napsal jsem o nem nekolik knih, jez byly povazovany za vcelku dobre -- jedna z nich byla dokonce dodavana jako standardni uzivatelsky manual s PC).

rs> Co takhle napsat co treba neumi?

ls [a-m]*/*/*o*/*.txt

fin
d ~/Text/MujMac -name \*.html \( -exec fgrep -iq win {} \; -or -exec fgrep -q DOS {} \; \) -print

xpaste | tee /tmp/textWithSize.txt | wc >> /tmp/textWithSize.txt


(xpaste je jen zdroj textu, lze nahradit kterymkoli prikazem, ktery zapisuje na stdout)

rs> Samozrejme jen pro to, abych sem mohl napsat jak to udelat ;)

Konkretne za ukazku jak pouzivat wildcards pro libovolny prikaz v seznamu souboru i v ceste budu docela vdecny -- obcas s tim dodnes nekde musim pracovat, a tohle mi _dost_ chybi.

rs> Je velice malo veci co umi *nix shelly
rs> oproti Win prikazovy radce. A nebudeme pocitat programy co se daj z
rs> command lajny pustit, protoze pustit program umi kazda.

To neni tak jednoduche. V unixu shelly maji jen minimum interpretovanych prikazu; temer vse je delegovano na standardni externi programy (napr. ls je externi program, echo taky; z veci, o kterych jsme se dosud bavili, je pouze cd interpretovanym prikazem).

Hovorit o ls jako o prikazu shellu nicmene je zcela korektni, protoze proste je standardne vzdy k dispozici (asi tak stejne, jako xcopy v DOSu).

rs> Bavime se vylozene o funkcich shellu.

Hmmmm, tak v tem pripadku, co treba

cp `find ~/Text/MujMac -name \*.html \( -exec fgrep -iq win {} \; -or -exec fgrep -q DOS {} \; \) -print` /tmp/textySWinOrDos

?


---
Ondra Cada
OCSoftware: ocs@ocs
.cz http://www.ocs.cz
pr
ivate ondra@ocs.cz http:/
/www.ocs.cz/oc

Odpovědět na příspěvek

RE: RE: RE: RE: ???

Autor: Jan Volf Muž

Založeno: 04.09.2001, 23:40

>Co takhle napsat co treba neumi?

CTRL+Z aneb zastaveni prave probihajiciho tasku, tak aby neblokoval shell

Odpovědět na příspěvek

RE: RE: RE: RE: RE: ???

Autor: Nocni_stin Muž

Založeno: 20.08.2004, 22:56

CTRL+D ti neni dobry nebo co? : )))

Odpovědět na příspěvek

 

 

Odpověď na příspěvek:

Jerry,

rs> poznamka o tom, ze Win prikazovej radek nic neumi podlozena ... hmmm ...
rs> jeho snem?

Dlouhodobou zkusenosti s jeho pouzivanim. Prikazovy radek MS DOSu pouzivam cca patnact let (a napsal jsem o nem nekolik knih, jez byly povazovany za vcelku dobre -- jedna z nich byla dokonce dodavana jako standardni uzivatelsky manual s PC).

rs> Co takhle napsat co treba neumi?

ls [a-m]*/*/*o*/*.txt

find ~/Text/MujMac -name \*.html \( -exec fgrep -iq win {} \; -or -exec fgrep -q DOS {} \; \) -print

xpaste | tee /tmp/textWithSize.txt | wc >> /tmp/textWithSize.txt

(xpaste je jen zdroj textu, lze nahradit kterymkoli prikazem, ktery zapisuje na stdout)

rs> Samozrejme jen pro to, abych sem mohl napsat jak to udelat ;)

Konkretne za ukazku jak pouzivat wildcards pro libovolny prikaz v seznamu souboru i v ceste budu docela vdecny -- obcas s tim dodnes nekde musim pracovat, a tohle mi _dost_ chybi.

rs> Je velice malo veci co umi *nix shelly
rs> oproti Win prikazovy radce. A nebudeme pocitat programy co se daj z
rs> command lajny pustit, protoze pustit program umi kazda.

To neni tak jednoduche. V unixu shelly maji jen minimum interpretovanych prikazu; temer vse je delegovano na standardni externi programy (napr. ls je externi program, echo taky; z veci, o kterych jsme se dosud bavili, je pouze cd interpretovanym prikazem).

Hovorit o ls jako o prikazu shellu nicmene je zcela korektni, protoze proste je standardne vzdy k dispozici (asi tak stejne, jako xcopy v DOSu).

rs> Bavime se vylozene o funkcich shellu.

Hmmmm, tak v tem pripadku, co treba

cp `find ~/Text/MujMac -name \*.html \( -exec fgrep -iq win {} \; -or -exec fgrep -q DOS {} \; \) -print` /tmp/textySWinOrDos

?
---
Ondra Cada
OCSoftware: ocs@ocs.cz http://www.ocs.cz
private ondra@ocs.cz http://www.ocs.cz/oc


Jméno:

Pohlaví:

,

E-mail:

Předmět:

Příspěvek:

 

Kontrola:

Do spodního pole opište z obrázku 5 znaků:

Kód pro ověření

 

 

 

 

Nejčtenější články
Nejlépe hodnocené články
Apple kurzy

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: