abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 14:00 | Zajímavý projekt

Byl spuštěn Humble Down Under Bundle. Za vlastní cenu lze koupit multiplatformní hry The Warlock of Firetop Mountain, Screencheat, Hand of Fate a Satellite Reign. Při nadprůměrné platbě (aktuálně 3,63 $) také Hacknet, Hacknet Labyrinths, Crawl a Hurtworld. Při platbě 12 $ a více lze získat navíc Armello.

Ladislav Hagara | Komentářů: 0
dnes 13:00 | Nová verze

Google Chrome 62 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 62.0.3202.62 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 35 bezpečnostních chyb.

Ladislav Hagara | Komentářů: 1
dnes 11:00 | Zajímavý článek

Článek (en) na Mozilla.cz je věnován vykreslování stránek ve Firefoxu. V průběhu roku 2018 by se ve Firefoxu měl objevit WebRender, jenž by měl vykreslování stránek urychlit díky využití GPU.

Ladislav Hagara | Komentářů: 4
dnes 08:22 | Bezpečnostní upozornění

NÚKIB (Národní úřad pro kybernetickou a informační bezpečnost) informuje o zranitelnosti ROCA v procesu generování RSA klíčů, který se odehrává v softwarové knihovně implementované například v kryptografických čipových kartách, bezpečnostních tokenech a dalších hardwarových čipech vyrobených společností Infineon Technologies AG. Zranitelnost umožňuje praktický faktorizační útok, při kterém útočník dokáže vypočítat

… více »
Ladislav Hagara | Komentářů: 2
dnes 01:23 | Zajímavý software

Příspěvek na blogu otevřené certifikační autority Let's Encrypt informuje o začlenění podpory protokolu ACME (Automatic Certificate Management Environment) přímo do webového serveru Apache. Klienty ACME lze nahradit novým modulem Apache mod_md. Na vývoj tohoto modulu bylo uvolněno 70 tisíc dolarů z programu Mozilla Open Source Support (MOSS). K rozchození HTTPS na Apache stačí nově přidat do konfiguračního souboru řádek s ManagedDomain. Minutový videonávod na YouTube [reddit].

Ladislav Hagara | Komentářů: 1
včera 14:15 | Komunita

Daniel Stenberg, autor nástroje curl, na svém blogu oznámil, že obdržel letošní Polhemovu cenu, kterou uděluje Švédská inženýrská asociace za „technologickou inovaci nebo důvtipné řešení technického problému“.

marbu | Komentářů: 9
včera 13:40 | Pozvánky

Cílem Social Good Hackathonu, který se uskuteční 21. a 22. října v Brně, je vymyslet a zrealizovat projekty, které pomůžou zlepšit svět kolem nás. Je to unikátní příležitost, jak představit nejrůznější sociální projekty a zrealizovat je, propojit aktivní lidi, zástupce a zástupkyně nevládních organizací a lidi z prostředí IT a designu. Hackathon pořádá brněnská neziskovka Nesehnutí.

… více »
Barbora | Komentářů: 1
včera 00:44 | Pozvánky

V sobotu 21. října 2017 se na půdě Elektrotechnické fakulty ČVUT v Praze uskuteční RT-Summit – setkání vývojářů linuxového jádra a uživatelů jeho real-time verze označované jako preempt-rt.

… více »
Pavel Píša | Komentářů: 8
16.10. 23:44 | Bezpečnostní upozornění

V Linuxu byla nalezena bezpečnostní chyba CVE-2017-15265 zneužitelná k lokální eskalaci práv. Jedná se o chybu v části ALSA (Advanced Linux Sound Architecture).

Ladislav Hagara | Komentářů: 1
16.10. 22:44 | Komunita

Greg Kroah-Hartman informuje na svém blogu, že do zdrojových kódu linuxového jádra bylo přidáno (commit) prohlášení Linux Kernel Enforcement Statement. Zdrojové kódy Linuxu jsou k dispozici pod licencí GPL-2.0. Prohlášení přidává ustanovení z GPL-3.0. Cílem je chránit Linux před patentovými trolly, viz například problém s bývalým vedoucím týmu Netfilter Patrickem McHardym. Více v často kladených otázkách (FAQ).

Ladislav Hagara | Komentářů: 4
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (15%)
 (2%)
 (0%)
 (2%)
 (71%)
 (11%)
Celkem 55 hlasů
 Komentářů: 3, poslední dnes 20:46
    Rozcestník

    Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)

    23. 11. 2009 | David Watzke | Návody | 7014×

    Podrobnosti o práci s adresáři v postředí příkazové řádky. Jak adresáře vytvářet, mazat a jak se mezi adresáři přepínat a zjišťovat svou aktuální pozici.

    Obsah

    mkdir

    link

    Název příkazu mkdir vychází z anglického make directory, což znamená vytvořit adresář. To je také to, co příkaz dělá – vytváří adresáře. Nic víc, nic míň.

    # vytvoří adresář s názvem "novy_adresar1"
    mkdir novy_adresar1
    

    Standard vyžaduje dostupnost dvou přepínačů. Přepínači -m lze jako argument zadat oprávnění, se kterými bude adresář vytvořen.

    # vytvoří adresář s názvem "novy_adresar2" a právy 700 (drwx------)
    mkdir -m 700 novy_adresar2
    

    Druhý standardní přepínač -p slouží k vytvoření adresáře i za cenu nutnosti vytvoření nadřazených adresářů. Ukážeme si to na příkladu. Představte si, že chcete vytvořit adresář dir1 a v něm dir2 a v něm dir3. Máte dvě možnosti

    # složitější verze
    mkdir dir1 dir1/dir2 dir1/dir2/dir3
    
    # kratší verze s použitím -p
    mkdir -p dir1/dir2/dir3
    

    Standard udává, že s přepínačem -p se pro každý neexistující nadřazený adresář spustí následující příkaz, který vytvoří adresář s výchozím oprávněním (dle umask) a přidá k němu právo zápisu a spouštění (wx) vlastníkovi.

    mkdir -p -m $(umask -S),u+wx adresar
    

    GNU verze příkazu má navíc přepínač -v (--verbose), se kterým vypíše informaci o každém vytvořeném adresáři.

    mkdir -pv a/b/c/d
    mkdir: created directory `a'
    mkdir: created directory `a/b'
    mkdir: created directory `a/b/c'
    mkdir: created directory `a/b/c/d'
    

    Dalším GNU přepínačem je -Z (--context), který slouží k nastavení bezpečnostního kontextu SELinuxu. Na systémech bez SELinuxu toto selže s tím, že operace není podporována.

    Příkaz mkdir je dostupný i na OS/2 a operačních systémech od Microsoftu, kde se často používá zkrácený název md.


    rmdir

    link

    Program rmdir má název vycházející z anglického slova remove directory, což znamená smazat adresář. Program smaže zadané adresáře, ale jen pokud jsou prázdné.

    # smaže adresář s názvem "prázdný adresář" (pokud je skutečně prázdný)
    rmdir "prázdný adresář"
    
    # selže při mazání neprázdného adresáře
    rmdir ~
    rmdir: failed to remove `/home/dave': Directory not empty
    

    Jediným standardizovaným přepínačem je -p, který slouží k mazání vnořených prázdných adresářů. Pro lepší představu toho, co se děje, do příkladu rovnou přidám přepínač -v, který je v implementaci od GNU dostupný pro výpis toho, co program dělá (tzn. které adresáře smazal).

    rmdir -v -p a/b/c/d/
    rmdir: removing directory, `a/b/c/d/'
    rmdir: removing directory, `a/b/c'
    rmdir: removing directory, `a/b'
    rmdir: removing directory, `a'
    

    Když program při mazání adresářů narazí na to, že některý z nich není prázdný, mazání se přeruší.

    rmdir -v -p a/b/c/d/
    rmdir: removing directory, `a/b/c/d/'
    rmdir: removing directory, `a/b/c'
    rmdir: removing directory, `a/b'
    rmdir: failed to remove directory `a/b': Directory not empty
    

    GNU rmdir má navíc ještě přepínač --ignore-fail-on-non-empty sloužící k ignoraci chyb způsobených čistě jen tím, že adresář není prázdný.

    Příkaz rmdir je dostupný i na OS/2 a MS DOS/Windows, kde se často používá zkrácený název rd.


    cd

    link

    Příkaz cd slouží ke změně aktuálního pracovního adresáře. Název vychází z anglického change directory, což znamená změnit adresář.

    Jak jste patrně již zaregistrovali, cesty lze konzolovým programům zadávat relativně i absolutně. Relativní cesty se zadávají relativně právě k aktuálnímu pracovnímu adresáři (anglicky current working directory).

    Jako argument se příkazu cd zadává cesta k novému pracovnímu adresáři.

    # vstoupí do adresáře /home (existuje-li a máme-li k tomu právo)
    cd /home
    

    Dva standardizované přepínače -L-P určují, jak se příkaz postaví k symbolickým odkazům v cestě. Přepínač -L nenásleduje symbolické odkazy, dokud se nezpracují všechny skoky o adresář výše (tedy ..). Přepínač -P dělá přesný opak. Nejdříve následuje symlinky a teprve poté řeší všechny .. v cestě. Výchozí chování cd, pokud nezadáte -L ani -P je, jako kdybyste zadali -L, jinak platí poslední ze zadaných přepínačů. Matoucí? Ukážeme si příklady.

    # představme si, že máme v adresáři /tmp …
    cd /tmp
    # … symbolický odkaz "houmko" ukazující na náš domovský adresář
    ln -s ~ houmko
    
    # teď máme dvě možnosti:
    # 1) -L
    cd houmko		# pracovní adresář bude /tmp/houmko
    # 2) -P
    cd -P houmko		# pracovní adresář bude ~
    

    Ukážeme si to ještě na jedné složitější ukázce.

    mkdir /tmp/abc          # vytvoří adresář /tmp/abc
    cd /tmp/abc             # změní pracovní adresář na /tmp/abc
    ln -s ~ def             # vytvoří symlink "def" odkazující na domovský adresář
    cd def                  # změní pracovní adresář na /tmp/abc/def
    mkdir ghi               # vytvoří adresář /tmp/abc/def/ghi (~/ghi)
    cd ghi                  # změní pracovní adresář na /tmp/abc/def/ghi
    
    # když teď spustíme následující…
    cd -P ../..     # pracovní adresář bude /home
    
    # ale když použijeme -L (nebo nic)…
    cd ../..        # pracovní adresář bude /tmp/abc
    

    Když cd zadáme místo názvu adresáře spojovník (-), změní pracovní adresář na předchozí hodnotu a vypíše cestu nově nastaveného pracovního adresáře.

    cd -
    # je tedy totéž jako
    cd "$OLDPWD" && pwd
    

    Nezadáme-li příkazu žádný argument, pracovní adresář se změní na domovský adresář.

    # změní pracovní adresář na ~
    cd
    

    Příkaz cd zpravidla není program (nastavit pracovní adresář shellu přes jiný proces je běžným způsobem v podstatě nemožné), ale bývá vestavěným příkazem shellu.

    Příkaz je dostupný nejen na Un*xech, ale i na MS DOS a Windows, OS/2, AmigaOS a dalších systémech.


    pwd

    link

    Příkaz pwd slouží k vypsání aktuálního pracovního adresáře. Název pwd vychází z anglického výrazu print working directory, což znamená vypsat pracovní adresář.

    $ cd /tmp       # jste-li v /tmp
    $ pwd           # pwd vypíše /tmp
    /tmp
    

    Tento příkaz má stejné přepínače jako cd (-L-P, přičemž chování -L je výchozí), které mají stejný význam.

    $ ln -s / /tmp/root
    $ cd /tmp/root
    $ pwd
    /tmp/root
    $ pwd -L
    /tmp/root
    $ pwd -P
    /
    

    Některé shelly implementují pwd po svém jako vestavěný příkaz. Alternativně je možné využít například /bin/pwd z GNU coreutils, který se ovšem (v době psaní článku) na mém systému nechová dle standardu, protože výchozí chování neodpovídá přepínači -L, ale -P. Samotné /bin/pwd mi totiž při použití v předchozí ukázce vypíše /, tzn. chybně následuje symlink.

    Ekvivalentem pwd na MS DOS (COMMAND.COM) a Windows (cmd.exe) je cd (bez argumentů).

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    23.11.2009 06:55 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    Nevím jestli to je součást standardu ale mkdir -p navíc potlačuje kvákání v případě že už adresář existuje.
    In Ada the typical infinite loop would normally be terminated by detonation.
    23.11.2009 11:03 Zdenek 'Mst. Spider' Sedlak | skóre: 37 | blog: xMstSpider
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    Presneji receno rika - vytvor cilovy adresar a vsechny adresare k nemu vedouci, pokud uz neexistuji...
    23.11.2009 13:22 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    Při daném tématu by mohlo stát aspoň za zmínku pushd/popd.
    24.11.2009 17:18 Liso
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    Tak tato vec mi chybela uz pekne dlouho. Dokonce jsem si neco podobneho chtel napsat, ale tusil jsem, ze neni mozna aby toto uz nekdo neudelal. Diky moc
    24.11.2009 17:39 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    Ale to jsou vlastnosti shellu, nikoliv unixové nástroje.
    In Ada the typical infinite loop would normally be terminated by detonation.
    25.11.2009 17:40 Tom.š Ze.le.in | skóre: 21 | blog: tz
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    To je cd take.
    23.11.2009 19:46 Ash | skóre: 53
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)
    Dobré, netušil jsem že rmdir-p stejně jako mkdir, a to by se mi to zrovna nedávno hodilo.
    Amarok avatar 26.11.2009 19:47 Amarok | skóre: 33 | blog: blogoblog
    Rozbalit Rozbalit vše Re: Unixové nástroje – 4 (mkdir, rmdir, cd, pwd)

    Dobry strucny prehled.

    Stalo by ale za to u kazdeho parametru psat i anglicke slovo, napr. u mkdir -p (p = parents), me osobne se zkratky nejlip pamatuji prave kdyz vim, co zkratka znamena, i kdyz je to anglicky.

    GNUniverse - May the source be with you...

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.