Pojmy u příkaz. řádku

Od: Datum: 28.10.15 21:34 odpovědí: 5 změna: 01.11.15 00:22

Dobrý den, poradil byste mi někdo co je u příkazu v OS Windows 7 a OS Debian v příkazovém řádku argument, přepínač, parametr (jak to vypadá).


Seznam odpovědí:
 
moment čekejte prosím, probíhá přenos dat...
Zobrazení struktury odpovědí v otázce
Skrytí struktury odpovědí v otázce
Zobrazení struktury odpovědí v otázce

 

Odpovědi na otázku:
Od: scv®
Datum: 28.10.15 23:08
avatar

Stručně řečeno - přepínač / parametr (angl. option, switch, flag) nějak dále specifikuje, doplňuje či omezuje použitý příkaz / program nebo jeho výstup. Na teoretické vysvětlení se podívejte na Wiki či něco podobného, já to zkusím spíše prakticky.. v otázce máte i Linux, tak vezměme jako příklad třeba příkaz ls - nejlépe pochopíte, když si to sám i vyzkoušíte.

.

ls, zkrácené list segments, slouží pro výpis obsahu aktuálního adresáře (podrobně o ls zde). Příkaz standardně nevypisuje skryté soubory, nastavená oprávnění či vlastníka souboru. S parametrem -a (all) vypíše i skryté soubory, s parametrem -l (long format) zase detailnější výpis vč. vlastníka, oprávnění, data modifikace, typu či velikosti souboru. Parametry lze v Linuxu často spojovat, takže jak příkaz ls -a -l , tak příkaz ls -al provede výše zmíněné najednou. Každý příkaz / program má své vlastní možnosti a přepínače, tudíž -a u jednoho nemusí dělat stejnou / podobnou věc jako u jiného. Pro výpis dostupných parametrů, jejich dalších možností a někdy i příkladů použití příkazu použijte na Linuxu buď man PROGRAM nebo PROGRAM --help .

.

Některé přepínače fungují samostatně (jako třeba ty výše u ls), jiné slouží pro zadání dalších údajů programu. Např. k výběru vstupního souboru u programu ffmpeg použijete ffmpeg -i název_souboru. Takto by mohl např. v praxi vypadat příkaz pro jednoduchou konverzi videa z .mkv do .mp4 beze změny audio a video kodeků: ffmpeg -i soubor.mkv -vcodec copy -acodec copy soubor.mp4 .

.

Přepínače ve Windowsu jsou podobné a nejspíše i podobně fungují, jen se místo pomlčky specifikují lomítkem.. např. obdoba zmíněného ls -a by ve Windowsu byla dir /a . V tomto ohledu ale s Win nejsem moc kamarád, takže podrobněji neporadím.


doplněno 28.10.15 23:43:

Ještě mě napadlo - to, co je vidět třeba u "PROGRAM --help" - parametry se někdy dají zadávat buď zkráceně nebo celým slovem (slovním spojením) - pak se k parametru přidává další pomlčka. Např. -h a --human-readable je to samé. Nebo -v a --version. Atd. Podrobný popis je vždy v manuálu.

Ohodnoceno: 2x
 
Od: luky2
Datum: 31.10.15 00:10

Co tím myslíš, že některé přepínače fungují samostatně, a že jiné slouží pro zadání dalších údajů programu (příkazu)?

Nějak jsem to nepochopil.

Jinak, díky za odpověď.

Od: scv®
Datum: 31.10.15 09:27
avatar

Tím jsem myslel to, že příkaz ls -a má vše co potřebuje, protože parametr -a příkazu prakticky jen předá "vypiš i skryté soubory". Není potřeba zadávat nic dalšího. Ale kdybyste např. zadal jen ffmpeg -i a nic k tomu, tak program nic neudělá a vrátí chybu - očekává totiž, že za parametrem -i bude specifikován vstupní soubor a na konci příkazu dále čeká název výstupního souboru (jediné, co je v příkazu bez parametru).

.

Kdybychom rozebrali ten delší příkaz s ffmpeg detailně, tak je složený z tohoto:

. . ffmpeg - samotný program

. . -i - tímhle programu řekneme, že mu zadáváme vstupní soubor (input) a tento soubor musí následovat za parametrem

. . -acodec a -vcodec - specifikují audio a video kodeky použité pri konverzi.. hodnota copy za oběma znamená, že program použije kodeky vstupního souboru. Bez zadané hodnoty by program vrátil chybu, protože mu řeknete, že má něco udělat s kodeky, ale už mu neřeknete co. Ale pokud byste např. -acodec a -vcodec vynechal úplně, tak se nic neděje, program provede převod podle svého standardního nastavení a jaké má použít kodeky nebude řešit.

. . soubor.mp4 - nakonec musí být pojmenován výstup, jinak program neví, kam má zapsat výsledek

Ohodnoceno: 0x
 
Od: luky2
Datum: 31.10.15 23:55

Díky. A ještě něco. Existuje v příkazovém řádku v linuxu nějaký příkaz na výpis všech možných příkazů, které je možno použít - ve Windows pomocí příkazu help.

Od: ctenar
Datum: 01.11.15 00:22

Prikaz neni nic jineho nez (vetsinou maly) program. Kolik si jich najdes na Internetu, postahujes a nainstalujes, tolik jich mas.

Shelly ("prikazove radky") maji nekolik prikazu zabudovanych uz v sobe. Ktere prikazy to jsou pro ten konkretni shell, to se pise v man-ovych strankach toho shellu.

Na GNU systemech si prikazy typicky instaluji i napovedu a manual ve formatu texinfo a programem/prikazem "info" jde zobrazit a cist jejich stromova struktura.

Ohodnoceno: 0x
 

 

 

Přihlásit se k odběru odpovědí z této otázky:

Neneseme odpovědnost za správnost informací a za škodu vzniklou jejich využitím. Jednotlivé odpovědi vyjadřují názory jejich autorů a nemusí se shodovat s názorem provozovatele poradny Poradte.cz

 
Copyright © 2004-2016 Poradna Poradte.cz. Všechna práva na poradně Poradte.cz vyhrazena.